windows10下MXNet-gpu基于cuda9.2的安装待补充…
基于cuda9.2 的tensorflow-gpu 1.8安装
后来安装tensorflow-gpu版本的时候一直遇到问题,主要是有下面的解决方法:
- 通过pip install tensorflow-gpu安装之后,使用with tf.device("\gpu:0")仍然只能找到cpu
- numpy版本不兼容
- tensorboard两边不兼容
主要有以下几个问题:
-
tensorflow官方给的是1.12+cuda9.0,我之前的mxnet是cuda9.2,所以参考了这篇博客 ,在github下载cuda9.2下编译的tensorflow-gpu 1.8版本的 package
-
之前安装mxnet的时候,使用了mxboard,安装官方的需求安装了tensorboard,而在安装了cpu版本的tensorflow情况下,再次安装gpu版本就会出问题,所以参考stackflow给出的方案:
pip uninstall protobuf
pip uninstall tensorflow
pip uninstall tensorflow-gpu
pip install --upgrade --force-reinstall tensorflow_gpu-1.8.0-cp36-cp36m-win_amd64.whl
-
tensorflow安装过程中会获取最新版本的numpy(1.16),而mxnet 1.13.1不支持这个版本,所以需要重装一次mxnet的安装包(因为当时已经把whl下载到了本地,比较方便)或者重装一次1.14版本的numpy
pip install mxnet_cu92-1.3.1-py2.py3-none-win_amd64.whl
最后经过测试mxnet,mxboard,tensorflow-gpu,tensorboard都可以正常使用.
最后附上一段tensorflow-gpu的测试代码:
`# 新建一个 graph.`
`with tf.device('/gpu:0'):`
`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)`
`# 新建 session with log_device_placement 并设置为 True.`
`sess=tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))`
`# 运行这个 op.`
`print(sess.run(c))`
reference
[1] https://blog.csdn.net/qq_33186949/article/details/79104659
[2] https://stackoverflow.com/questions/42326748/tensorflow-on-gpu-no-known-devices-despite-cudas-devicequery-returning-a-pas
[3] https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.8.0/py36/GPU/cuda92cudnn71sse2
[4] http://www.mclover.cn/blog/index.php/archives/179.html