zoukankan      html  css  js  c++  java
  • 在windows10上安装caffe和tensorflow

    最近在Windows10上安装了caffe和tensorflow,折腾了好久。在此记录一下。

    安装caffe的过程已在另一篇博客中进行了记录,在此不再赘述。而tensorflow也是非常简单的,也不再详细说明。

    安装caffe和tensorflow比较重要的一点是,要确保把依赖正确安装好。GPU版本的caffe需要7+版本的CUDA和5.5/5.0的CUDNN。而GPU版本的tensorflow在1.5.0以上的版本则需要CUDA9和CUDNN7。两个框架对CUDA和CUDNN的不同要求造成了小小的冲突。

    caffe和tensorflow对python的版本也有要求,使用Anaconda管理python会比较方便,通过创建虚拟环境可以更改python的版本。

    1. 我先通过conda create -n tensorflow python=3.5命令创建了一个名为tensorflow的虚拟环境,在这个虚拟环境中的python版本为3.5。

    2. 因为caffe需要的CUDA和CUDNN的版本较低,所以需要先安装好低版本的CUDA和CUDNN,我安装的是CUDA8.0和CUDNN5.0,然后把caffe搭建好。

    3. 然后再安装高版本的CUDA和CUDNN,我安装的是CUDA9.0和CUDNN7.0,然后在tensorflow虚拟环境中通过pip install tensorflow-gpu命令安装tensorflow。不同版本的CUDA是可以共存的,因为不同程序可以链接不同版本的CUDA文件。通过pip install tensorflow-gpu命令安装tensorflow时,程序会自动安装最新版本的tensorflow,命令执行完毕后我电脑上会安装1.13版本的tensorflow-gpu,但是在python中import tensorflow是会发生如下错误:

      Traceback (most recent call last):
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow.py", line 58, in <module>
      from tensorflow.python.pywrap_tensorflow_internal import *
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
      _pywrap_tensorflow_internal = swig_import_helper()
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
      _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
      File "D:Anaconda3envs ensorflowlibimp.py", line 243, in load_module
      return load_dynamic(name, filename, file)
      File "D:Anaconda3envs ensorflowlibimp.py", line 343, in load_dynamic
      return _load(spec)
      ImportError: DLL load failed: 找不到指定的模块。

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflow\__init__.py", line 24, in <module>
      from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpython\__init__.py", line 49, in <module>
      from tensorflow.python import pywrap_tensorflow
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow.py", line 74, in <module>
      raise ImportError(msg)
      ImportError: Traceback (most recent call last):
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow.py", line 58, in <module>
      from tensorflow.python.pywrap_tensorflow_internal import *
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow_internal.py", line 28, in <module>
      _pywrap_tensorflow_internal = swig_import_helper()
      File "D:Anaconda3envs ensorflowlibsite-packages ensorflowpythonpywrap_tensorflow_internal.py", line 24, in swig_import_helper
      _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
      File "D:Anaconda3envs ensorflowlibimp.py", line 243, in load_module
      return load_dynamic(name, filename, file)
      File "D:Anaconda3envs ensorflowlibimp.py", line 343, in load_dynamic
      return _load(spec)
      ImportError: DLL load failed: 找不到指定的模块

      找不到某些动态链接库
      有网友说缺少VS的某些环境,需要安装这个组件:https://www.microsoft.com/en-us/download/details.aspx?id=53587
      我没有采取这个解决方案,因为我有更新版本的这个组件,因为之前一直使用1.7版本的tensorflow,所以通过命令pip install tensorflow-gpu==1.7安装低版本的tensorflow,问题得到解决。
  • 相关阅读:
    php require与include的区别
    php页面消耗内存过大处理办法
    flex if(a is b){},flex if(a as b){} 意思
    thinkphp的配置文件修改后不起作用
    ThinkPHP 入口文件定义 3.0 输出两次解决办法
    JS中的Math.ceil和Math.floor函数
    ThinkPHP 配置问题
    Google 快照无法使用时,如何恢复
    首页被收录了,但是只显示网址,处理办法
    RED5 端口使用
  • 原文地址:https://www.cnblogs.com/Peyton-Li/p/10688106.html
Copyright © 2011-2022 走看看