现在越来越多的人工智能和机器学习以及深度学习,强化学习出现了,然后自己也对这个产生了点兴趣,特别的进行了一点点学习,就通过这篇文章来简单介绍一下,关于如何搭建Tensorflow以及如何进行使用。建议的话,还是要学习了一点Python基础知识和Linux知识是最好的!
版本:Windows10
一:安装Anaconda和Tensorflow
anaconda是一个开源的python发行版本,里面包含了大量的包,比如tensorflow,c,numpy等。我们可以先安装anaconda,再通过anaconda直接安装tensorflow。
步骤:
1:从官方网站下载Anaconda
https://www.anaconda.com/download/
3:安装完成Anaconda之后进行环境变量的测试
进入到windows中的命令模式:
(1)检测anaconda环境是否安装成功:conda --version
(2)检测目前安装了哪些环境变量:conda info --envs
(3)对于Anaconda中安装一个内置的python版本解析器(其实就是python的版本)
查看当前有哪些可以使用的python版本:conda search --full -name python
安装python版本(我这里是安装的3.5的版本,这个根据需求来吧):conda create --name tensorflow python=3.5
(4)激活tensflow的环境:activate tensorflow(注意:这个是在后序安装成功之后才能进行的,否则会提示错误)
(5)检测tensflow的环境添加到了Anaconda里面:conda info --envs(注意:基于后序安装成功之后才进行的,否则会提示错误)
(6)检测当前环境中的python的版本:python --version
(7)退出tensorflow的环境:deactivate
(8)切换到tensorflow的环境:activate tensorflow
上面的这些基本就可以对于Anaconda有一个比较简单的了解,其实它就类似于JDK的一些操作,比如我们查看jdk的版本,也可以用java --version ,所以说对于Anaconda去安装tensorflow是比较简单的原因也正是这样,也就是是给我们提供了一个基础的依赖环境,这样就方便我们进行后面的安装操作;
Anaconda的官方开发文档,可以看看,还是官网的东西更加好:
https://docs.anaconda.com/anaconda/user-guide/getting-started
https://anaconda.org/
注意事项:根据Tensorflow的官方文档,可以得到安装tensorflow的一个命令是下面:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl
但是,如果我们在cmd中,直接进行这样的话,有可能是不能够成功的,开始也不知道为什么,后面发现是跟电脑的cpu和显卡有点关系,所以,采取后面的方法进行安装;
剩下的就是慢慢的等待安装的过程啦
温馨提示:(1)如果在这个命令之后,有提示说需要你升级你的pip的版本,那么你就根据上面的提示进行命令安装就可以了
6:等待完成之后,确认是否安装成功
(1)打开之前安装的Anaconda
这两个都可以,我这里说一下使用Anaconda Prompt的方式;
②切换到tensorflow的环境
③进入python编辑环境
④然后编写一个使用的代码:
方法二:通过使用Anaconda中的spyder的编辑器
通过这个的方式的话,更加简单,直接编写上面的代码,然后进行运行就可以啦,我这里就不多介绍了。。。
温馨提示:如果你发现,你的conda和tensorflow环境都是安装成功的,但是一用测试代码进行跑的时候就出问题了,那么请注意,这个原因你由于你在安装tensorflow的时候,是直接在cmd下,而不是在你用conda激活的一个环境,所以导致,tensorflow并没有直接嵌入到conda环境,所以,就导致无法导入模块的一个错误;
解决方法:(1)只需要在activate tensorflow ----------注意:这个环境是第三步中的第3点里面创建的;
(2)然后再使用第五步中的命令就可以了
环境:Tensorflow和Pycharm编辑器
步骤:
1:下载Pycharm软件,,这个的话下载安装都很简单,所以就不多说了
2:使用Pycharm创建一个项目
3:设置项目的相关内容
温馨提示:注意上面的Interpreter的选择,因为我们现在要测试的是tensorflow嵌入到我们的IDE,方便我们开发,所以这个python解析器就是要选择我们之前安装tensorflow目录下的解析器,否则的话,我们之后是使用不了tensorflow的模块的内容的哦。。。特别要注意。。。当然,如果这里不选择,那么在创建工程之后还是可以修改的,后面我会说;
4:创建一个py文件,用于编写测试代码
5:运行程序代码
OKOK,,,这就说明我们的环境已经整合完成啦。。。。大功告成
温馨提示:有时候我们会发现,我们引入了tensorflow模块之后,那就会报错,这个原因有如下可能:
(1)tensorflow没有安装成功,这样的话,就需要重新按照我的步骤去了!
(2)IDE中的python解析器,没有使用tensorflow中安装的那个,所以导致无法识别
这个解决方案有两种:
第一种:就是创建工程的时候就选择正确的解析器,也就是我上面所使用的方法
第二种:就是在项目工程里面进行修改配置:
步骤:1:选择File----》setting
2:
3:添加新的解析器
4:找到我们安装的Anadonda中的env中的tensorflow中的python.exe
5:点击apply应用,然后重启我们的IDE,这样的话就不会报无法找到tensorflow的模块的错误了。
步骤:(1)下载Anaconda的Linux版本 https://www.anaconda.com/download/#linux
从官网的路径进行下载,一般都很慢,所以,大家可以去这个地址进行下载(或者在进行留言也可以):https://download.csdn.net/download/cs_hnu_scw/10389323
(2)运行下载好的Anaconda,找到下载的目录,然后执行命令:bash XXXXXXXXX(就是Anaconda文件的名字)
(3)一直等待安装完成即可;
当出现下面这个的时候:
强烈注意一点:在安装的时候,会提示你是否要将这个添加到环境变量中,最好选择Yes,要不然每次都要进行额外的手动添加,非常的不方便,所以强烈建议直接添加到环境变量中;
(4)当执行完成上面的步骤之后,对Anaconda 的环境进行测试;
执行命令:conda --version (作用:查看当前Anaconda的版本)
如果,出现对应的安装版本,那么就表示安装成功,可以继续后面的安装步骤。
(5)添加tensorflow的环境。执行命令:conda create -n tensorflow python=3.5(版本的话,我个人比较喜欢3.X+版本)。当执行完成之后,就根据提示,进行输入yes就可以了,慢慢等待。
(6)激活环境,执行命令:source activate tensorflow (作用:进入到tensorflow的环境)
(7)激活tensorflow的环境,执行命令:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
千万要注意一个地方:如果你安装的python的版本是2.7.那么就用上面的地址,即可,如果你用了3.5版本,那么久需要对应的修改为如下链接:(其他版本类似修改)
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp35-cp35m-linux_x86_64.whl
(8)执行完之后,剩下的就只有等待了,,,对于出现的提示,全部都是“yes”即可。
(9)安装完成之后,进行测试。
具体步骤:
1:在tensorflow的环境下,执行命令:python (作用:表示进入python环境)
2:然后输入代码(这个其实和windows安装的时候测试时一样):
import tensorflow as tf
hello = tf.constant('first tensorflow')
sess = tf.Session()
print sess.run(hello)
如果:输出first tensorflow ,那么就表示安装成功了。
补充内容:
1:当需要退出python环境,即执行Ctrl+D或者输入quit即可
2:退出tensorflow环境,source deactivate
3:激活tensorflow环境,source activate tensorflow
(1)下载Pycharm,这个就自己到官网下载Linux的社区版本即可,然后对其下载的文件进行相应的解压命令处理就可以了,另外的话,注意一点,在Linux中运行Pycharm不是直接点击就运行,而是需要找到对应的目录下(bin目录),然后执行命令:sh pycharm.sh 即可运行Pycharm。
(2)这个其实和windows的整合方式是一样的,只是说tensorflow的路径是不一样的而已,所以,大家可以参考上面对于Windows版本的详细配置过程即可,这里就不多说了。
---------------------------------------------------------------------------------------------------------------------------------
(1)案列实践:通过百度云盘下载我分享的内容即可,里面的内容都是封装好的,所以应该能看懂
项目链接:https://pan.baidu.com/s/1-TelzkLHodDNsdX6G82ZOg 密码:b05p
温馨提示:(1)在运行这个代码的时候,会出现ImportError: No module named 'matplotlib',这是因为你python中缺少了这个包,所以需要进行额外添加;或者进入tensorflow的环境,然后通过pip install matplotlib
解决办法:进入cmd,然后conda install matplotlib ,,然后等安装成功即可,这时候就会找到从而解决这个问题;
(2)手写数字的识别案例:
数据:https://pan.baidu.com/s/1UC6uBPPOBzZhYvNV93RgNw
代码:
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time : 2018/3/30 0030 15:20
# @Author : scw
# @File : writenumbercompute.py
# 描述:进行手写数字的识别的实例分析
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
# 获取数据
mnist = input_data.read_data_sets("E:/tensorflowdata/MNIST_data/", one_hot=True)
print('训练集信息:')
print(mnist.train.images.shape,mnist.train.labels.shape)
print('测试集信息:')
print(mnist.test.images.shape,mnist.test.labels.shape)
print('验证集信息:')
print(mnist.validation.images.shape,mnist.validation.labels.shape)
# 构建图
sess = tf.InteractiveSession()
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x,W) + b)
y_ = tf.placeholder(tf.float32, [None,10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
# 进行训练
tf.global_variables_initializer().run()
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
train_step.run({x: batch_xs, y_: batch_ys})
# 模型评估
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print('MNIST手写图片准确率:')
print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))
(3)拨号键与短信息图标的识别
功能描述:主要是实现对于拨号键图标与短信息键图标的一个识别,作为一个简单的分类Demo。
百度云地址:链接:https://pan.baidu.com/s/1MC7Recml5laTsrHBQ94NcA 密码:nwxj
(4)人脸捕捉和识别
功能描述:对于某个特定的人物进行捕捉,并且能识别是否是训练中的人脸,作为一个人脸识别的Demo。
由于这个数据集太多了,百度云不让传,所以,如果有需要的同学,可以留言,我会每天都进行查看消息的。
github地址:https://github.com/qq496616246/FaceCheckPython.git
或者[email protected]:qq496616246/FaceCheckPython.git
(5)简单的网页爬虫
功能描述:非常简单,容易上手的网页爬虫小Demo。
百度云地址:链接:https://pan.baidu.com/s/1FzIzmfYON9pUpms3GyVQqQ 密码:5di1
(1)安装cv2:pip install opencv-python
(2)安装人脸识别的库:pip install dlib == 18.17.100
(3)安装机器学习的库:pip install sklearn
(4)安装scipy库:pip install scipy
(5)安装numpy库:pip install numpy
(6)安装Pillow图像库:pip install Pillow
(7)安装matplotlib绘图库:pip install matplotlib
(8)升级pip:python -m pip install -U pip
(1)问题:在cmd中,输入conda 命令,提示conda不是内部命令
解决方法:在环境变量(系统的Path)中添加:你的Anaconda安装目录下面的Scripts这个目录,比如我的就是,
D:\anacondadownload\Scripts
。。。。。。
注:关于安装过程中常见的问题可参考https://blog.csdn.net/Aidam_Bo/article/details/83592416