平台:Window、Ubuntu、Mac等操作系统
版本:支持GPU版本和CPU版本
安装方式:pip方式、Anaconda方式
attention:
在Windows上目前支持python3.5.x
GPU版本可支持CUDA9.0、Cudnn7.0
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上。
来自百度百科。
Anaconda是由Python提供支持的领先的开放数据科学平台。 Anaconda的开源版本是Python和R的高性能分发版本,包括超过100个用于数据科学的最流行的Python,R和Scala软件包。
来自Anaconda官方下载页面
具体使用见Anaconda官方教程,简单易懂!
Anaconda安装过程
(正常情况下只有一个base,新手还要慢慢来吧)
(为了保持版本一致,还是尽量选择3.5的吧)
(可以看到前面有个tensorflow的标志)
(tensorflow的标志没有啦,如果想进去再用activate tensorflow)
pip install tensorflow
或者不行的话可以安装其他的镜像文件,比如:pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl
import tensorflow as tf
显示错误,因为默认的python版本为3.6.正确的做法是进入anaconda里面的3.5的python版本
import tensorflow as tf
至此,TensorFlow-CPU版本就安装完成了。
import tensorflow as tf
检查自己的电脑显卡支持CUDA后进行安装,我在安装之前先是看了几个大牛的博客。预先知道了目前tensorflow目前支持CUDA8.0和对应的CUDNN5.1版本(所以安装了这两个之后安装tensorflow-gpu之后测试说提示我:
could not find 'cudart64_90.dll' 这个提示意思是需要安装CUDA9.0)
可能是tensorflow升级了目前支持CUDA9.0和CUDNN7了,所以我后来又安装了CUDA9.0和CUDNN7
CUDA官网(https://developer.nvidia.com/cuda-downloads)最新是CUDA9.1了
所以我选择下载历史版本CUDA9.0(https://developer.nvidia.com/cuda-toolkit-archive)
注:最好是下载local版本,不要下载network版本,以免安装又出什么岔子
下载安装好了之后不要忘记系统环境配置
CUDA_PATH:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0
CUDA_BIN_PATH:%CUDA_PATH%bin
CUDA_LIB_PATH:%CUDA_PATH%libWin32
CUDA_SDK_BIN:%CUDA_SDK_PATH%binWin64
CUDA_SDK_LIB:%CUDA_SDK_PATH%commonlibx64
CUDA_SDK_PATH:C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0
因为之前一直用,所以就用之前下载好的安装包,我的安装包是Anaconda3.4.2版本的Anaconda3-4.2.0-Windows-x86_64.exe,支持python3.5。
安装之后,在新建tensorflow环境。
conda create -n tensorflow-gpu python=3.5
新建好环境之后激活activate tensorflow-gpu,在环境里利用pip安装
pip install --upgrade --ignore-installed tensorflow-gpu
测试安装成功的小例子:
python //进入python命令模式
import tensorflow as tf hello=tf.constant("Hello,tensorflow!") s=tf.Session() print (s.run(hello))
顺利打印出b"Hello,tensorflow!"说明成功,
exit()//退出python命令模式
安装并破解PyCharm:
直接在官网下载相关版本的PyCharm(http://www.jetbrains.com/pycharm/download/#section=windows),安装的是专业版,安装过程很简单,重要的是安装成功后的激活过程。
破解教程如下,博主讲解的很是详细。
http://blog.csdn.net/weixin_40190468/article/details/79084941
配置PyCharm:
在PyCarm下配置tensorflow环境,要设置好pycharm下解释器的interpreter的路径【File --> Setting --> Project --> Project Interpreter】,也就是anaconda中tensorflow-gpu的路径。
在pycharm中测试刚刚的小例子输出成功,则安装成功。
装了个新东西,我们先把它用起来吧!
概念什么的跑完第一个小程序再看!
找点成就感才好继续下去!
示例来源:MINIST For ML Beginners
MINST数据集:
代码如下:
#获得数据集 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) import tensorflow as tf #输入图像数据占位符 x = tf.placeholder(tf.float32, [None, 784]) #权值和偏差 W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) #使用softmax模型 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])) #使用梯度下降算法优化:学习速率为0.5 train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) #Session sess = tf.InteractiveSession() #初始化变量 tf.global_variables_initializer().run() #训练模型,训练1000次 for _ in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={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(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
运行结果为输出显示得到模型的准确率
TensorFlow的CPU版本安装过程注意要在tensorflow的环境中运行,那里的python版本为3.5。若没有进入tensorflow环境运行,则是在Anaconda固有的3.6版本python中运行
TensorFlow的GPU版本一定要注意CUDA和Cudnn两者之间的版本对应关系,否则将无法运行TensorFlow,具体对应情况可在官网查看
感悟:cuda 8.0+cudnn 6.0+TensorFlow 1.30
cuda 9.0+cudnn 7.0+TensorFlow 1.70
https://blog.csdn.net/yygydok/article/details/79783002
https://blog.csdn.net/darlingwood2013/article/details/60322258
本文链接:http://task.lmcjl.com/news/5951.html