系统环境: windows10 + Anaconda3 + Pycharm
准备:
系统环境: windows10 + Anaconda3 + Pycharm
(1)环境配置:
打开Anaconda Prompt,输入清华仓库镜像,这样更新会快一些:
输入:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
同样在 Anaconda Prompt 中利用Anaconda创建一个python3.5的环境,环境名称为tensorflow ,输入下面命令:
注意:tf现在已支持在win上安装py3.6版本。详见官网:https://www.tensorflow.org/install/
(3.5环境不是必须的了)
conda create -n tensorflow python=3.5
运行 开始菜单 ->Anaconda3—>Anaconda Navigator
,点击左侧的Environments
,可以看到tensorflow
的环境已经创建好了。
在Anaconda Prompt中启动tensorflow环境:
activate tensorflow
注:当不使用tensorflow时,关闭tensorflow环境,命令为:deactivate(返回默认的python 3.6环境)
(2)安装tensorflow
命令行先**tensorflow
activate tensorflow
pip install –-upgradehttps://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/gpu/tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl
安装的版本不对可能导致一下问题:
1.OSError: [WinError 126]找不到指定的模块。
2.ImportError: Could not find 'cudart64_90.dll'. TensorFlowrequires that this DLL be installed in a directory that is named in your %PATH%environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-toolkit
所以要指定安装1.3版本:
pip install –-upgradehttps://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/gpu/tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl
(3) 安装cuda, 安装直接点击next即可(注意安装8.0版Gan2,目前tf最高只支持8.0版,对应的适配cudnn是6.0版)
根据自己的环境选择对应的版本,exe分为网络版和本地版,网络版安装包比较小,执行安装的时候再去下载需要的包;本地版安装包是直接下载完整安装包。这里建议下载本地版
(4)cuDnn库的安装 点我点我,这个比较繁琐,需要填写许多问卷,下载压缩包
下载完cuDnn压缩包后解压,
将文件拷贝到c盘中相应目录中。
(5)cuDnn库的安装 点我点我,这个比较繁琐,需要填写许多问卷,下载压缩包
import tensorflow as tf hello = tf.constant("Hello!TensorFlow") sess = tf.Session() print(sess.run(hello))
6)在pycharm中使用tensorflow
新建工程后在 File-Setting–Project Interpreter 选择 tensorflow 下的Python解释器(或者直接在里面搜索 tf-gpu,安装即可,晚会再装cuda+cudnn)
随便跑个HelloWorld测试一下,
import tensorflow as tf hello = tf.constant("Hello!TensorFlow") sess = tf.Session() print(sess.run(hello))
控制台输出:
b'Hello Tensorflow'
这种方式的好处:不用每次都 开启、关闭环境了(activate tensorflow 、deactivate tensorflow)。
(7)tensorflow测试next:
①官方教程代码测试:
#Creates a graph. a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b') c = tf.matmul(a, b) #Creates a session with log_device_placement set to True. sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) #Runs the op. print sess.run(c)
输出:
Device mapping: /job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Tesla K40c, pci bus id: 0000:05:00.0 b: /job:localhost/replica:0/task:0/gpu:0 a: /job:localhost/replica:0/task:0/gpu:0 MatMul: /job:localhost/replica:0/task:0/gpu:0 [[ 22. 28.] [ 49. 64.]]