tensorflow-gpu踩坑实录win10+CUDA9.0+cuDNN7.4.2+tensorflow-gpu1.12

之前都是使用tensorflow的cpu版本,没注意自己这台老人机居然有GPU。便决定试一试看看自己电脑能不能跑起GPU。(各种百度谷歌)记录如下:

首先:检查自己的GPU是否可以使用:

CUDA:https://developer.nvidia.com/cuda-gpus

tensorflow-gpu踩坑实录win10+CUDA9.0+cuDNN7.4.2+tensorflow-gpu1.12_第1张图片

居然找到自己的GPU..哈哈哈(意外)

接下来:需要安装CUDA + cuDNN。

刚开始无脑:使用CUDA10.0 +cuDNN 7 .4.2+tensorflow1.12发现报错如下(没截图):

File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper

    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)

  File "C:\Anaconda3\envs\tensorflow\lib\imp.py", line 243, in load_module

    return load_dynamic(name, filename, file)

  File "C:\Anaconda3\envs\tensorflow\lib\imp.py", line 343, in load_dynamic

    return _load(spec)

ImportError: DLL load failed: 找不到指定的模块。

如果遇到如下错误可以参考:https://stackoverflow.com/questions/42011070/on-windows-running-import-tensorflow-generates-no-module-named-pywrap-tenso

反正我是没解决 (我猜是版本问题)....

1.首先确定你需要安装的版本(重点):版本貌似会出现很多我问题,建议多看看准备安装的版本问题。

参考:https://blog.csdn.net/lifuxian1994/article/details/81103530

确定好版本:CUDA9.0+cuDNN7.4.2

2.安装过程(看了很多,都不知道自己安装是否成功,这篇有检查环境确定你这一步没有错!!):https://blog.csdn.net/u010618587/article/details/82940528

打开命令提示符,输入:nvcc -V 
出现如下类似信息: 

tensorflow-gpu踩坑实录win10+CUDA9.0+cuDNN7.4.2+tensorflow-gpu1.12_第2张图片

3.安装tensorflow-gpu(巨烦...)因为我之前使用的是tensorflow-cpu版,已经安装过了环境,造成很多问题...

我之前有两个环境,直接pip install  tensorflow-gpu之后用的是pycharm 去跑测试环境发现numpy报错???什么鬼,刚开始以为是版本问题各种重装装tensorflow-gpu1.5-1.9版本,然并卵(刚装好直接用cmd去测试吧....)。而且还出现pip缓存的问题(参考:https://blog.csdn.net/kangkanglou/article/details/78955298) 。

过程中用的是Anaconda Prompt,建议安装成功之后直接在里面敲:

tensorflow-gpu踩坑实录win10+CUDA9.0+cuDNN7.4.2+tensorflow-gpu1.12_第3张图片

没有报错肯定没问题。(生气的我,删除了之前的环境.....用基础的环境pip –no-cache-dir install  tensorflow-gpu给我装了1.12的版本。)

报错图如下:

tensorflow-gpu踩坑实录win10+CUDA9.0+cuDNN7.4.2+tensorflow-gpu1.12_第4张图片

tensorflow-gpu踩坑实录win10+CUDA9.0+cuDNN7.4.2+tensorflow-gpu1.12_第5张图片

3.最后

import os
from tensorflow.python.client import device_lib
import tensorflow as tf

os.environ["TF_CPP_MIN_LOG_LEVEL"] = "99"

if __name__ == "__main__":
    print(device_lib.list_local_devices())
    # 使用CPU进行计算
    with tf.device("/gpu:0"): #使用GPU 如果是cpu改为cpu
        a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3])
        b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])
        c = tf.matmul(a, b)
        # 查看计算时硬件的使用情况
        sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
        print(sess.run(c))

运行结果如下:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 3087808467687446459
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 1470421401
locality {
  bus_id: 1
  links {
  }
}
incarnation: 9473933570797557043
physical_device_desc: "device: 0, name: GeForce 840M, pci bus id: 0000:04:00.0, compute capability: 5.0"
]

Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: GeForce 840M, pci bus id: 0000:04:00.0, compute capability: 5.0
MatMul: (MatMul): /job:localhost/replica:0/task:0/device:GPU:0
Const: (Const): /job:localhost/replica:0/task:0/device:GPU:0
Const_1: (Const): /job:localhost/replica:0/task:0/device:GPU:0
[[22. 28.]
 [49. 64.]]

Process finished with exit code 0
 

出现这些说明没问题的 。终于ok....

如有建议和意见联系我,不胜感激。

 

你可能感兴趣的:(python,tensorflow-gpu,win10,CUDA9.0,cuDNN7.4.2,python)