![88067f6fbfdc5aa687c4a612b109094d.png](https://i-blog.csdnimg.cn/blog_migrate/25f5d7eb901a11216f28752d3804ee82.png)
![88067f6fbfdc5aa687c4a612b109094d.png](https://i-blog.csdnimg.cn/blog_migrate/25f5d7eb901a11216f28752d3804ee82.png)
![88067f6fbfdc5aa687c4a612b109094d.png](https://i-blog.csdnimg.cn/blog_migrate/25f5d7eb901a11216f28752d3804ee82.png)
tensorflow-gpu+电脑win10+gtx1050ti显卡配置心得
防坑指南!!!
!
01
![3ba4639b7def74933ea04cb9e241f355.gif](https://i-blog.csdnimg.cn/blog_migrate/a216445082715f0c63144760fba231ea.gif)
##cuda的选择
这里建议使用CUDA8.0的版本,因为小编之前下载安装了一个CUDA9.0的版本,好像是不能用的哦。官网下载CUDA8.0 https://developer.nvidia.com/cuda
![10699740d5afe4396b9d5faa73dc013f.png](https://i-blog.csdnimg.cn/blog_migrate/e9c53d4e2f1b148fa61e526138a3e5fb.png)
之后呢,小编参考网上的一个c++环境下的版本,要下载安装一下vs,但是笔者没有安装vs,感觉太麻烦了,笔者下载的dev-cpp。dev-cpp安装相比起来比较方便。之后就正常继续操作就行啦。
02
![3ba4639b7def74933ea04cb9e241f355.gif](https://i-blog.csdnimg.cn/blog_migrate/a216445082715f0c63144760fba231ea.gif)
## 安装CUDA
考虑到C盘容量足够,这里选择的是它的默认路径。之所以选择默认路径,是因为选择默认路径不容易出错。等待CUDA Setup到100%,检查系统的兼容性,同意许可协议。检查兼容性时可能会显示
![07db4c1e6d1a2f9c0c515cb30dd0db23.png](https://i-blog.csdnimg.cn/blog_migrate/ae81eb3ba61803c9b507bb7c02fdfc61.png)
但是并无大碍,1050ti显卡基本是兼容的,笔者的电脑也显示这里了,可能是因为没有配置系统变量,所以不显示兼容吧。直接点继续。之后选择自定义安装
![000eadb4f4fb5b08ca19783315c45d06.png](https://i-blog.csdnimg.cn/blog_migrate/d6089fb0285da71bc85fc19c0370adbc.png)
![c8442a6d3cdc89a4163802d7b4726655.png](https://i-blog.csdnimg.cn/blog_migrate/06e0378738b07e0357a82ad7575f0f80.png)
之后依照下图配置自己的环境变量,右键电脑,点击属性,会出现下图
![90a03648d1bba04d4d70d83fa128b8fc.png](https://i-blog.csdnimg.cn/blog_migrate/5e818c27cc58c6dba8a31b635d564438.png)
选择高级系统设置,设置环境变量
![650488c2ed0de0449e96f0ce2510a051.png](https://i-blog.csdnimg.cn/blog_migrate/e4f7fd6f41304bc75acdac350b589a30.png)
![1814937222a9da7abb142aae166bef64.png](https://i-blog.csdnimg.cn/blog_migrate/6d42927c7fcfa702bcfda035c75d4b6b.png)
![59ac55333cd5dca932eb17646808bd22.png](https://i-blog.csdnimg.cn/blog_migrate/6cefd5c49a73a1e9b480b039cc235d4c.png)
![195c6667c8e674f2814c8a2224719e80.png](https://i-blog.csdnimg.cn/blog_migrate/c8d719456564fd19954af96b4d5cb0e5.png)
上图蓝色方框里的是根据自己下载的cudnn的地址文件来配置的,cudnn下载安装请看第三步。
配置完成之后,检查CUDA是否安装成功打开我的电脑,找到下图路径
![4967cad55375b7742da43a0dccd4a75c.png](https://i-blog.csdnimg.cn/blog_migrate/871fb8773dfc13a38c0231ff9b93baa3.png)
直接在路径位置输入cmd
![50d079477eb7882951ce5fd659b3cb26.png](https://i-blog.csdnimg.cn/blog_migrate/afdd48974559541dc0541fdf543b8e42.png)
之后分别在命令窗口输入命令:
bandwidthTest.exe
deviceQuery.exe
![0259cc3e371301036c611b5d2c2f83c5.png](https://i-blog.csdnimg.cn/blog_migrate/11ddd33457773407a93a851018e53f87.png)
![af345028c60b711c4f83499a64e16a31.png](https://i-blog.csdnimg.cn/blog_migrate/9310c122e1e5a2545eacb74ea88888b9.png)
当两个都显示PASS说明成功。输入nvcc -V,显示如下图也是成功的,之后就可以安装cudnn了
![6720544fa665f417bdd4902547ffe4ae.png](https://i-blog.csdnimg.cn/blog_migrate/52d1c74d3198b98826900bf0154da196.png)
03
![3ba4639b7def74933ea04cb9e241f355.gif](https://i-blog.csdnimg.cn/blog_migrate/a216445082715f0c63144760fba231ea.gif)
## cudnn下载安装
去https://developer.nvidia.com/cudnn上下载搭配CUDA8.0的cudnn ,一定要注意搭配8.0。会需要注册英伟达的账号。
![4988a3ad14d7830ee8654389f7196f2e.png](https://i-blog.csdnimg.cn/blog_migrate/3c1cb3c7d18972f38f3a90d453f996d6.png)
![998641154422624990dcc3417ae1a57e.png](https://i-blog.csdnimg.cn/blog_migrate/debe679cef4b85dbd0faff6ebe8dabfe.png)
输入自己的邮箱注册登录一下
![b66f33537b72f51cb9670eb00d34b2fd.png](https://i-blog.csdnimg.cn/blog_migrate/286cb311bda79d27b469b1b4d3b8f1af.png)
之后会出现这个窗口,因为没有显示我们需要的版本,需点击标红处。
![6fa7e5e7fd31a1ae7fd757c432172617.png](https://i-blog.csdnimg.cn/blog_migrate/ab3f6a7be5c319954cde2c2b6a020881.png)
往下找到我们CUDA对应的版本,我们用的是CUDA8.0的版本,所以要下载下图的cudnn
![c3e5ea170a05861c17c893a83d212dd8.png](https://i-blog.csdnimg.cn/blog_migrate/488b50741ceec8715d19060be504385e.png)
![505034bd70d9a57b10c72887556fea0a.png](https://i-blog.csdnimg.cn/blog_migrate/e5c81dd43af04f20f5b02864354a709a.png)
把下载的文件解压出来之后,会出现与CUDA8.0对应的文件
![afccabbfcec2bc686489536e5a0f3964.png](https://i-blog.csdnimg.cn/blog_migrate/4719fa0b652b71e234e45ae066467eda.png)
分别将.h .lib 和.dll 文件分别拷贝到cuda的include, lib/x64, bin 文件夹下。其实也就是对应的文件夹。到这里就安装好了CUDA8.0及其对应的cudnn。之后这里配置一下之前上面的环境蓝色标记的地方。
![195c6667c8e674f2814c8a2224719e80.png](https://i-blog.csdnimg.cn/blog_migrate/c8d719456564fd19954af96b4d5cb0e5.png)
04
![3ba4639b7def74933ea04cb9e241f355.gif](https://i-blog.csdnimg.cn/blog_migrate/a216445082715f0c63144760fba231ea.gif)
## anaconda的环境配置
anaconda的版本选择没影响,因为后面我们会自己创建一个新的环境。之后打开Anaconda Prompt
![4937f4089dd8f0c223017cb158704af4.png](https://i-blog.csdnimg.cn/blog_migrate/ededf7f6aed1787167cbf13eb9a50998.png)
检查目前有哪些版本的python可以安装:conda search --full-name python
![99acc8e7d4bfc45b9830d8546b947e8b.png](https://i-blog.csdnimg.cn/blog_migrate/33ac2c15cce1a00c203d3b0730127455.png)
创建一个名为tensorflow-gpu的anaconda环境,配置python3.5,之所以选择3.5的,是因为看的一些博主也是用3.5的,其实也可以用3.6的,因为有对应的tensorflow的版本,小编也是之后才知道的,这里就不讨论修改了。conda create -n tensorflow_gpu pip python=3.5.3激活tensorflow-gpu环境:conda activate tensorflow_gpu之后就进入到我们创建的环境了
05
![3ba4639b7def74933ea04cb9e241f355.gif](https://i-blog.csdnimg.cn/blog_migrate/a216445082715f0c63144760fba231ea.gif)
## tensorflow1.1.0配置
注意事项:
1.一定要在tensorflow_gpu的环境下;
2.不要使用conda命令安装tensorflow-gpu,因为这样会同时安装CUDA,我们需要指定版本CUDA和cudnn,前面才手动去配置,conda安装会让前面的工作白做,用pip install tensorflow-gpu==1.1.0查看可用的版本
![f00aa1fc938d1197b3b178782e6e95df.png](https://i-blog.csdnimg.cn/blog_migrate/df6b020dbf6dafffc24b32651d71dc96.png)
因为我们配的是python3.5,就选择tensorflow1.1.0版本的,其实python3.6也可以用1.1.0版本的
![4e428fc00da71a1cd3399f6a485603d3.png](https://i-blog.csdnimg.cn/blog_migrate/dda943a3f2bd6c1777134f7ee808ef9c.png)
之后笔者经过多次安装,终于使用conda install tensorflow-gpu==1.1.0成功安装,之后 不要激动!!!
因为我也以为成功了,结果通过pycharm编辑器运行还是报错。打开pycharm,点击setting配准tensorflow-gpu环境
![c1335271df74314a2ab71fb5a15e6a36.png](https://i-blog.csdnimg.cn/blog_migrate/fe91e01c3bcdc76aa57d3ef1137b960a.png)
添加anaconda里的tensorflow-gpu环境
![41e6dc9985468b8b33d1648327128cc4.png](https://i-blog.csdnimg.cn/blog_migrate/a1d48e8eea97738a117960ca6f9fafb5.png)
![7da1b65bc56e3a960049a1c828b0d28e.png](https://i-blog.csdnimg.cn/blog_migrate/129f0efacfd9b83eca86990792843f58.png)
![f0318a04e32efe7a3d0fc3fd0221b872.png](https://i-blog.csdnimg.cn/blog_migrate/84e200d0f9da4e650aa2226dcc3676ec.png)
选择anaconda下envs下自己配置的tensorflow-gpu的环境。
![dda58270e80ad4c9fef4560cf8b961d9.png](https://i-blog.csdnimg.cn/blog_migrate/18a1c142eec6c0351b65ac85a865ab95.png)
之后python环境切换就OK了。
![e53b436f493790b7d5369f9d1d848cfd.png](https://i-blog.csdnimg.cn/blog_migrate/1a2ffdb08bc95f699c2e9bc5d4b15076.png)
之后我输入代码运行检测一下
```python
import tensorflow as tf
def main():
a = tf.constant([1.0, 2.0], name='a')
b = tf.constant([2.0, 3.0], name='b')
result = a + b
sess = tf.Session()
print(sess.run(result))
if __name__ == '__main__':
main()
```
结果报错误:
TypeError: expected bytes, Descriptor found
笔者通过查找方法,网上说是从__module__ = 'google.protobuf.descriptor_pb2'可以看出,错误是protobuf的问题。
本环境是python3,所以怀疑是
1. protobuf版本过低,
2. protobuf支持py2,需要装py3。
所以:打开
![189c82809973dc0001c00b8667248a59.png](https://i-blog.csdnimg.cn/blog_migrate/b4123f688def5b8b6c699f8cb138feec.png)
进入到tensorflow_gpu环境下
![dc9794deb49fed9ffafd246821c2f781.png](https://i-blog.csdnimg.cn/blog_migrate/67d1f2d6e88658ca0d0f9f43e3c13d4c.png)
输入:升级命令
pip install protobuf-py3
pip install --upgrade protobuf
![4356f8a79bdd10d94c66406057cf8cc0.png](https://i-blog.csdnimg.cn/blog_migrate/5670a5a509b75f483da86cec5f5bbe7d.png)
大功告成,再到pycharm运行测试代码。
![01dd83e989d8dc77e97c1c1961b1f848.png](https://i-blog.csdnimg.cn/blog_migrate/7b1c79e5f0659c568e4331ec03a70391.png)
运行成功。
![fbd048e1b5ea45ce7213828bec7a6ca5.gif](https://i-blog.csdnimg.cn/blog_migrate/8a2309ed8ca53bdf158d4b284b6234b6.gif)
最后,小编也不是专家哦,纯属自己琢磨的,不对的地方请业内大佬指出,欢迎在评论区留言探讨。
喜欢的话记得点赞➕关注
祝大家好运❤️
参考以下部分博客内容:
https://blog.csdn.net/ccbrid/article/details/103425627
https://blog.csdn.net/angzhangzhang123/article/details/79637346
https://blog.csdn.net/weixin_44341962/article/details/91347433
https://www.cnblogs.com/wanyu416/p/9536853.html
![7a3751704c48254cadda9bfb585c997c.gif](https://i-blog.csdnimg.cn/blog_migrate/33775cb222e8d6abe008aeed9e6a4588.gif)
![c636a5b27fffd4d81aa2136f7017ec40.png](https://i-blog.csdnimg.cn/blog_migrate/528e627b3a4df103c261fa93abdaa1d0.jpeg)
![c636a5b27fffd4d81aa2136f7017ec40.png](https://i-blog.csdnimg.cn/blog_migrate/528e627b3a4df103c261fa93abdaa1d0.jpeg)
![ac54e1ae8b452adbe546685cf010569b.png](https://i-blog.csdnimg.cn/blog_migrate/a626e5f6fb659aca6b88ecf8366a8fdd.jpeg)
![c636a5b27fffd4d81aa2136f7017ec40.png](https://i-blog.csdnimg.cn/blog_migrate/528e627b3a4df103c261fa93abdaa1d0.jpeg)
关注我们
文字|陈实宝
图片|陈静
排版|陈静
审核|伍孝东
![264afa850d4e2da292050b9faf08fb99.png](https://i-blog.csdnimg.cn/blog_migrate/586af9d9ec8d95ca918b71d627eda1b1.jpeg)