TensorFlow学习笔记0-安装TensorFlow环境
TensorFlow学习笔记0-安装TensorFlow环境
作者: YunYuan
转载请注明来源,谢谢!
写在前面
系统: Windows Enterprise 10 x64
CPU:Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
GPU: NVIDIA GeForce GTX 1050 Ti
所以本笔记记录Win10 64位系统下,TensorFlow的GPU版开发环境的搭建。
TensorFlow-GPU环境安装
首先下载安装Anaconda,版本不受限制,最新版即可,我这里是Anaconda3-5.2.0-Windows-x86_64;注意勾选设置环境变量
去https://github.com/fo40225/tensorflow-windows-wheel下载一个你想下载的tensorflow的版本,这里分别依次选择
tensorflow-windows-wheel/1.10.0/py36/GPU/
,
下载cuda92cudnn72avx2
文件夹下的*.whl
文件,我下载的是tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl
,可以看到这里的文件名
给出了配置要求,cuda 9.2版本,cudnn要求7.2版本,记下这两个版本号。去https://developer.nvidia.com/cuda-toolkit-archive和https://developer.nvidia.com/rdp/cudnn-archive分别下载CUDA和CUDNN相应的版本:
cuda_9.2.148_win10
和patch
包;以及cudnn7.2
。安装CUDA及patch包;然后将解压Cudnn后得到的三个小文件夹(include,bin,lib)复制到CUDA的安装目录(默认安装目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2
)即可;在开始菜单里打开 Anaconda promt(最好以管理员打开),输入
conda --version
以验证conda是否安装成功;在Anaconda promt中输入
conda info --envs
以检查目前都有哪些环境;创建新环境
conda create --name tf python=3.6
,其中环境名叫做tf,中间会让输入y/n,按y即可;如果后面需要删除环境conda remove -n tf --all
进入该环境
activate tf
检查Python版本
python --version
进入你.whl文件所在的目录,输入
pip install tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl
即可;如果确定以后还需要使用OpenCV,也可安装
pip install opencv-python
OpenCV包(如果你没听过OpenCV是什么,请自动忽略该语句)在当前环境下输入python进入python编辑环境,输入以下代码进行测试
import tensorflow as tf
hello = tf.constant("Hello, Tensorflow!")
sess = tf.Session()
print(sess.run(hello))
a=tf.constant(10)
b = tf.constant(20)
print(sess.run(a+b))
测试环境
- 安装Spyder并测试:
打开Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator,Application on>>选择tf),搞一个spyder玩,
点击spyder下面的“install”,安装好就变成“Launch”了,点击就可以进去了。
在spyder里对tensorflow说Hello!
import tensorflow as tf
hello = tf.constant("Hello, Tensorflow!")
sess = tf.Session()
print(sess.run(hello))
- 进一步测试:
首先看看tensorflow是不是正常安装并可以导入了:
测试代码一:
import tensorflow as tf
a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用
b = tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None
) # 判断GPU是否可以用
print(a)
print(b)
输出结果是:
True
True
代表CUDA和GPU可用
测试代码二:
import tensorflow as tf
#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))
输出结果是:
[[22. 28.] [49. 64.]]
- 利用GPU测试TensorFlow的运行情况
下面是直观的看出代码有没有在使用GPU
测试代码三:
import tensorflow as tf
with tf.device('/cpu:0'):
a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a')
b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b')
with tf.device('/gpu:1'):
c = a + b
sess =tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))
注意:
上述测试代码三中可能报错,你需要更改代码为
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
其中
allow_soft_placement=True
表明:计算设备可自行选择,如果没有这个参数,会报错。因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。log_device_placement=True
表明:计算设备的日志log文件会实时显示(使用Python命令行时会显示,使用spyder时不显示,使用spyder可以使用性能分析工具进行查看)。
先不急着运行,打开任务管理器,点击 性能 ,找到你自己英伟达显卡的GPU那一栏,点击一下,可以显示GPU的利用情况,正常情况下你没运行什么程序,GPU利用率什么的都是0,没有波澜,然后你运行代码三,会发现GPU利用率开始变化了。
更进一步
- 上面已经完全测试了windows10系统下tensorflow-gpu的开发环境。如果你想了解的更多一点:可以尝试学习一下这段代码:
import tensorflow as tf
import numpy as np
# 1 collect data
x_data = np.float32(np.random.rand(200,2));
y_data = np.matmul(x_data,[[5.2],[9.6]])+3.4;
# 2 Ceate model
W = tf.Variable(tf.random_uniform([2,1],-1,1));
b = tf.Variable(tf.zeros([1]));
y_ = tf.matmul(x_data,W)+b;
# 3 loss function
loss = tf.reduce_mean(tf.square(y_-y_data));
optimizer = tf.train.GradientDescentOptimizer(0.5);
train = optimizer.minimize(loss);
# 4 Initialzer
init = tf.initialize_all_variables();
sess = tf.Session(config = tf.ConfigProto(allow_soft_placement=True,log_device_placement=True));
sess.run(init);
# 5 Train
for step in range(0,201):
sess.run(train);
if step%10 == 0:
print(step,np.transpose(sess.run(W)),sess.run(b));
# 6 Output
sess.close();
使用pycharm开发
如果你不喜欢Spyder或jupyter,可以使用pycharm进行开发。pycharm专业版对于学校教职工和学生是免费的。
- Pycham下载: https://www.jetbrains.com/pycharm/download/#section=windows
- 安装: 这里就不必细说,直接next就OK,中间有一步勾选.py文件关联。
- windows :打开hosts文件,文件的最后一行添加:0.0.0.0 account.jetbrains.com
- 去jetbrains官网申请注册一个学生账户:https://www.jetbrains.com/shop/eform/students
5.重启Pycharm,选择 登陆账户。
点击首页的Create New Project
,选择工程目录,展开下面的Project Interpreter来设置解释器,选定Existing interpreter,然后点击右侧的三个点的按钮,在新窗口里左栏选择Conda Environment,右侧自动识别。如图,并勾选Make available to all projects。
注意,Pycharm第一次启动后会自动更新其内部的程序,请等待完成后再开始编写你的代码。使用View>Scientigic Mode,Variable中的变量可以右键View as Array.
然后即可开心玩耍啦~
使用Visual Studio Code进行开发
使用Visual Studio Code也可以进行python的开发。你需要安装Python
插件。即可编写代码。编写完成后按F1
或Ctrl+Shift+P
,调出命令框,输入python: select interpreter
来选择解释器,点击之后可以选择你的conda的tensorflow环境下的解释器。在状态栏就可以看到"Python 3.6.9 64-bit('tf':conda)"字样,表示当前的运行环境。此时按Ctrl + F5
运行代码,按F5
进行调试。
开心玩耍吧~
个人使用体验:VS Code比Pycharm还要流畅一些~~
写在最后
为保证以后该环境不出幺蛾子,
请不要更改GPU驱动
请不要更新GPU驱动
请不要更新GPU驱动
如果你不慎更新了显卡驱动,按此笔记重新安装配置环境。
TensorFlow学习笔记0-安装TensorFlow环境的更多相关文章
- TensorFlow学习笔记1——安装
1. 准备好Anaconda环境 具体参见:http://blog.csdn.net/zhdgk19871218/article/details/46502637 2. 建立名叫TensorFlow的 ...
- nodejs学习笔记<一>安装及环境搭建
零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...
- OpenGL学习笔记0——安装库
最近需要做一个基于Zigbee室内无线定位的系统,受到TI公司ZigBee Sensor Monitor软件的启发,打算用OpenGL来做一个3D显示空间内物体位置的程序.学习阶段选择VS2010+O ...
- 学习笔记TF046:TensoFlow开发环境,Mac、Ubuntu/Linux、Windows,CPU版本、GPU版本
下载TensorFlow https://github.com/tensorflow/tensorflow/tree/v1.1.0 .Tags选择版本,下载解压. pip安装.pip,Python包管 ...
- Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- TensorFlow学习笔记2-性能分析工具
TensorFlow学习笔记2-性能分析工具 性能分析工具 在spyder中运行以下代码: import tensorflow as tf from tensorflow.python.client ...
- TensorFlow学习笔记(一)
[TensorFlow API](https://www.tensorflow.org/versions/r0.12/how_tos/variable_scope/index.html) Tensor ...
随机推荐
- vue 设置当前页背景色
beforeRouteEnter(to, from, next) { // 添加背景色 document.querySelector('body').setAttribute('style', 'ba ...
- Java的面向对象属性
定义类 定义类的过程就是定义类的属性的过程: 类的属性就是累的静态属性的简称,指类内包含的各项数据. 类的服务被称为成员函数或方法. 继承extends 通过定义继承方法,子类可以获得父类的所有属性和 ...
- 当心JavaScript奇葩的逗号表达式
看看下面的代码输出什么? let a = 2; switch (a) { case (3, 2, 5): console.log(1); break case (2, 3, 4): console.l ...
- 【SQL-分组合并字符串】把相同分组的某个字段合并为同一个字符串(使用函数)
场景:我要把同一个订单同一个客户同一个产品分组合并,同时把该产品所有的库位列举出来,合成一个字符串. 原始数据: 我要得到下面的结果: SQL如下: ==先建个方法== create function ...
- Oracle存储结构-段区块
段 一个段建立以后首先会分配一个区,区中包括含8个块,这时执行insert插入数据,当这个区写满后,会在分配一个区 1.一个段建立以后,Oracle如何给段分配区? 2.段分配到区以后,有了空闲空间, ...
- pycharm安装与永久激活
1.Pycham下载 https://www.jetbrains.com/pycharm/download/#section=windows 直接下载专业版 2.安装 这里就不必细说,直接next就O ...
- Linux命令-磁盘管理(一)
Linux命令-磁盘管理(一) Linux cd命令 Linux cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变 ...
- [CSP-S模拟测试]:城市游戏(图论+DP)
题目传送门(内部题109) 输入格式 第一行,两个整数$n,m$. 接下来$m$行,每行三个整数$u,v,l$,描述了一条道路连接的两个路口的编号以及道路的长度. 输出格式 输出一行一个整数,为所求的 ...
- JSP中解决session超时跳转到登陆页面并跳出iframe框架或局部区域的方法
当session会话超时,页面请求被重新定位到了登陆界面.但登录界面在iframe中的解决方案:在登录页面中加入下面的js代码: <script type="text/javascri ...
- ArrayList类源码浅析(三)
1.看一个示例 运行上述代码,抛出一个异常: 这是一个典型的并发修改异常,如果把上述代码中的125行注释,把126行打开,运行就能通过了: 原因: 1)因为在迭代的时候,使用的是Itr类的对象,在调用 ...