干货 | Python人工智能在贪吃蛇游戏中的应用探索(上)(二)

简介: 干货 | Python人工智能在贪吃蛇游戏中的应用探索(上)(二)

tensorflow的安装与配置

TensorFlow是谷歌研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域。是一个开源的、基于 Python 的机器学习框架。下面我们先讲述如何配置tensorflow的开发环境。

首先强调一点,在python环境下安装tensorflow,必须做到版本的匹配。如果你的电脑上装了多个python版本,则很容易因为版本问题造成安装的失败。最好卸载不需要的python,使用Anacoda自带的python。

下载安装Anacoda

输入网址https://www.anaconda.com/distribution/,如图所示,选择python3.7版本下载:

微信图片_20220423105934.jpg

下载安装后,点击开始,找到Anacoda3文件,选择Anacoda Prompt,输入python,会显示python版本,即安装成功。

微信图片_20220423105936.jpg

或者在cmd中输入pip list,如图,即安装成功。

微信图片_20220423105939.jpg

建立tensorflow虚拟环境

Step 1: 建立Anacoda(以下简称ana)与tensorflow、python 的关系,输入conda create --name tensorflow python=3.7

Step 2: 输入y,即开始建立虚拟环境。

这里注意版本问题,自己需要的python版本是哪个版本,这里需要写明确(即conda create --name tensorflow python= ??? )。一个ana在同一时间只能支持一个版本,每个版本对应的tensorflow 的版本不同。查询版本,即在ana prompt 中输入python。如果已经知道对应的tensorflow版本,可以直接conda create—name tensorflow版本,

Step 3: 安装tensorflow,在ana环境下,进入tensorflow的虚拟环境,输入conda activate

微信图片_20220423105942.png

注意一定要进入tensorflow 虚拟环境安装,输入conda install tensorflow 版本(我安装用的2.1.0),如图,即安装成功

微信图片_20220423105944.jpg

输入deactivate,退出虚拟环境。

Step 4: 安装完毕,可以在cmd的python状态下输入import tensorflow as tf来测试是否安装成功。

安装pycharm

Step 1: 下载安装Pycharm,进入官网:

http://www.jetbrains.com/pycharm/download/#section=windows

如图所示,推荐下载免费使用的社区版:

微信图片_20220423105947.jpg

Step 2: 配置pycharm 环境,进入pycharm,点击左上角File,找到Setting,点击Project 中的Project Interpreter,点击设置按钮,找到已安装包的路径,创建环境。创建完毕后,可以找到python库和tensorflow库。(图中很多为私人配置,不一样不要紧)

微信图片_20220423105949.jpg微信图片_20220423105953.jpg

Step 3: 安装opencv

方法一:Opencv在cmd环境中安装,输入pip install opencv-python,默认使用国外源文件,速度比较慢,能够成功,但大概率在下载过程中因为网络原因或者其他原因中断,如图

微信图片_20220423105956.jpg

方法二:在opencv的官网上下载好安装文件包再进行安装:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

注意,要对应自己的python 和tensorflow版本,还有自己安装的电脑的位数来选择合适的安装包,方法是在出错的那句话中找到文件名,按照这个文件名去找安装包。

微信图片_20220423105958.jpg

进入网站后要疯狂往下拉,在很下面。

安装合适opencv文件后,在cmd环境下输入pip install 路径(\opencv_python-*.whl)

写命令代码时指明安装包的路径。安装完成后,在python环境下,输入import cv2,即可检验。

微信图片_20220423110001.jpg

另外有很多文献建议使用国内镜像网站安装opencv ,这里不建议,因为失败了很多次。

Step 4: 安装loguru,输入pip install loguru

微信图片_20220423110004.jpg

Tips:其实能顺利安装 tensorflow 并且在Python中正常使用不是件很容易的事情。特别指出的是,能正确导入tensorflow并不一定能正常使用,如果遇到同样的问题,请再次认真的检查你的python版本,tensorflow版本 和python中的环境配置。实在找不出原因,那就重新开始吧!我用了一周的时间解决安装中遇到的各种问题,步步惊心哦!

利用tensorflow建立神经网络(用后面贪吃蛇神经网络的模型为例)

Step 1: 导入tensorflow

import tensorflow as tf
from tensorflow.keras import layers

Step 2: 用模型堆叠构建模型

我们使用的最多的是层的堆叠,即tf.keras.Sequential模型,如下:

self.model = tf.keras.Sequential([
            tf.keras.layers.Dense(units=32, input_dim=self.input_shape,
            activation=tf.nn.relu),  #输入层
            tf.keras.layers.Dense(units=16, activation=tf.nn.relu),
            tf.keras.layers.Dense(units=8, activation=tf.nn.relu),
            tf.keras.layers.Dense(units=8, activation=tf.nn.relu),
            tf.keras.layers.Dense(units=16, activation=tf.nn.relu),
            tf.keras.layers.Dense(units=32, activation=tf.nn.relu),#隐藏层
            tf.keras.layers.Dense(units=self.output_size, activation=tf.keras.activations.linear) #输出层
        ])
  # activation 激活函数

下面图形是用激活函数微信图片_20220423110007.png

Step 3: 编译网络神经模型

self.model.compile(optimizer = tf.keras.optimizers.Adam(self.lr), loss='mse',metrics=['accuracy'])
#loss 损失函数

Step 4: 神经网络预测

self.model.predict(state, batch_size)
 # batch_size批次数据 整形

Step 5: 神经网络训练

model.fit(states, action_values, batch_size=batch_size, verbose=0, epochs=4)
相关文章
|
6天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
41 6
|
6天前
|
人工智能 JSON API
阿里云文档智能 & RAG解决方案:提升AI大模型业务理解与应用
阿里云推出的文档智能 & RAG解决方案,旨在通过先进的文档解析技术和检索增强生成(RAG)方法,显著提升人工智能大模型在业务场景中的应用效果。该方案通过文档智能(Document Mind)技术将非结构化文档内容转换为结构化数据,提取文档的层级树、样式和版面信息,并输出为Markdown和Json格式,为RAG提供语义分块策略。这一过程不仅解决了文档内容解析错误和切块丢失语义信息的问题,还优化了输出LLM友好的Markdown信息。方案的优势在于其多格式支持能力,能够处理包括Office文档、PDF、Html、图片在内的主流文件类型,返回文档的样式、版面信息和层级树结构。
35 2
|
7天前
|
数据采集 数据安全/隐私保护 开发者
非阻塞 I/O:异步编程提升 Python 应用速度
非阻塞 I/O:异步编程提升 Python 应用速度
|
6天前
|
人工智能 搜索推荐 安全
AI技术在医疗领域的应用与挑战
【10月更文挑战第27天】 本文探讨了人工智能(AI)在医疗领域的应用,包括疾病诊断、药物研发和患者管理等方面。同时,也分析了AI在医疗领域面临的挑战,如数据隐私、伦理问题和技术局限性等。通过对这些方面的深入分析,我们可以更好地理解AI在医疗领域的潜力和发展方向。
104 59
|
2天前
|
存储 XML 人工智能
深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理
基于OCR技术的纸质档案电子化方案,通过先进的AI能力平台,实现手写、打印、复古文档等多格式高效识别与智能归档。该方案大幅提升了档案管理效率,确保数据安全与隐私,为档案馆提供全面、智能化的电子化管理解决方案。
65 48
|
6天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
【10月更文挑战第31天】2024年,AI大模型在软件开发领域的应用取得了显著进展,从自动化代码生成、智能代码审查到智能化测试,极大地提升了开发效率和代码质量。然而,技术挑战、伦理与安全问题以及模型可解释性仍是亟待解决的关键问题。开发者需不断学习和适应,以充分利用AI的优势。
|
1天前
|
人工智能 安全 测试技术
探索AI在软件开发中的应用:提升开发效率与质量
【10月更文挑战第31天】在快速发展的科技时代,人工智能(AI)已成为软件开发领域的重要组成部分。本文探讨了AI在代码生成、缺陷预测、自动化测试、性能优化和CI/CD中的应用,以及这些应用如何提升开发效率和产品质量。同时,文章也讨论了数据隐私、模型可解释性和技术更新等挑战。
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
思通数科AI平台在尽职调查中的技术解析与应用
思通数科AI多模态能力平台结合OCR、NLP和深度学习技术,为IPO尽职调查、融资等重要交易环节提供智能化解决方案。平台自动识别、提取并分类海量文档,实现高效数据核验与合规性检查,显著提升审查速度和精准度,同时保障敏感信息管理和数据安全。
37 11
|
5天前
|
人工智能 运维 NoSQL
云栖大会|多模+一体化,构建更高效的AI应用
在2024年云栖大会「NoSQL数据库」专场,多位知名企业和阿里云瑶池数据库团队的技术专家,共同分享了阿里云Lindorm、Tair、MongoDB和MyBase的最新进展与实践。Tair推出Serverless KV服务,解决性能瓶颈和运维难题;Lindorm助力AI和具身智能时代的多模数据处理;MongoDB云原生化提升开发效率;MyBase One打破云边界,提供云边端一体化服务。这些技术进展和最佳实践,展示了阿里云在NoSQL数据库领域的创新能力和广泛应用前景。