tensorflow的安装与配置
TensorFlow是谷歌研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域。是一个开源的、基于 Python 的机器学习框架。下面我们先讲述如何配置tensorflow的开发环境。
首先强调一点,在python环境下安装tensorflow,必须做到版本的匹配。如果你的电脑上装了多个python版本,则很容易因为版本问题造成安装的失败。最好卸载不需要的python,使用Anacoda自带的python。
下载安装Anacoda
输入网址https://www.anaconda.com/distribution/,如图所示,选择python3.7版本下载:
下载安装后,点击开始,找到Anacoda3文件,选择Anacoda Prompt,输入python,会显示python版本,即安装成功。
或者在cmd中输入pip list
,如图,即安装成功。
建立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。
注意一定要进入tensorflow 虚拟环境安装,输入conda install tensorflow 版本(我安装用的2.1.0),如图,即安装成功
输入deactivate,退出虚拟环境。
Step 4
: 安装完毕,可以在cmd的python状态下输入import tensorflow as tf来测试是否安装成功。
安装pycharm
Step 1
: 下载安装Pycharm,进入官网:
http://www.jetbrains.com/pycharm/download/#section=windows
如图所示,推荐下载免费使用的社区版:
Step 2
: 配置pycharm 环境,进入pycharm,点击左上角File,找到Setting,点击Project 中的Project Interpreter,点击设置按钮,找到已安装包的路径,创建环境。创建完毕后,可以找到python库和tensorflow库。(图中很多为私人配置,不一样不要紧)
Step 3
: 安装opencv
方法一:Opencv在cmd环境中安装,输入pip install opencv-python,默认使用国外源文件,速度比较慢,能够成功,但大概率在下载过程中因为网络原因或者其他原因中断,如图
方法二:在opencv的官网上下载好安装文件包再进行安装:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
注意,要对应自己的python 和tensorflow版本,还有自己安装的电脑的位数来选择合适的安装包,方法是在出错的那句话中找到文件名,按照这个文件名去找安装包。
进入网站后要疯狂往下拉,在很下面。
安装合适opencv文件后,在cmd环境下输入pip install 路径(\opencv_python-*.whl)
写命令代码时指明安装包的路径。安装完成后,在python环境下,输入import cv2,即可检验。
另外有很多文献建议使用国内镜像网站安装opencv ,这里不建议,因为失败了很多次。
Step 4
: 安装loguru,输入pip install loguru
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 激活函数
下面图形是用激活函数
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)