• win10 + gtx1060 + cuda8.0 + caffe + vs2013 + Tensorflow + PyTorch


    一. 安装cuda8.0

    1)先去官网下载cuda8.0  https://developer.nvidia.com/cuda-toolkit

    2)下载完之后进行安装,安装时间有点长,请耐心等待,默认是安装在c盘目录下

     安装完后会生成两个系统变量:

    CUDA_PATH    C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0
    CUDA_PATH_V8_0    C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0

    3)测试是否成功 : 进入cmd,输入 nvcc -V 命令,如图所示

    表示cuda安装成功

    4)进入sdk实例安装目录

    C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0

    点击Samples_vs2013.sln文件打开vs2013执行 

    运行Samples_vs2013.sln文件就会出现如图所示

    表明测试成功

    或者试试

    nvcc -V

    二. 下载安装CAFFE

    1)拷贝 .windowsCommonSettings.props.example 到 .windowsCommonSettings.props

    默认情况下Windows版本caffe需要 CUDA 和 cuDNN 库,你也可以在.windowsCommonSettings.props 里禁用他们。

    默认情况下matlab/Python支持被没有开启的,你也可以通过修改 .windowsCommonSettings.props 来启用。

    2)如果你不需要CUDA,你可以安装CPU_ONLY版本:编辑文件.windowsCommonSettings.props,设置CpuOnlyBuild 为 trueUseCuDNNfalse

    3)cuDNN V5 下载 (不使用可以跳过)

    解压下载的zip文件到 %CUDA_PATH% (这个环境变量是由上一步安装的CUDA设置的)。或者你也可以解压到任何位置, 然后再 .windowsCommonSettings.props 里设置 CuDnnPath 来指向解压到的目录。

    你可以修改.windowsCommonSettings.props文件,设置 UseCuDNN 为 false 来禁用cuDNN。

    https://developer.nvidia.com/rdp/cudnn-download

    4)Python

    为了编译Caffe Python封装库,需要.windowsCommonSettings.props文件,设置 PythonSupport为 true

    下载 Anaconda2 64-bit Windows installer: Anaconda2 。

    安装完后我们需要将.windowsCommonSettings.props 中python PythonDir 改成我们自己的

    接下来安装 google.protoc

    编译python支持库后,你还需要执行如下之一才能在python里使用:

    • 设置环境变量 PythonPath,值为 <caffe_root>Buildx64Releasepycaffe,或者
    • 复制目录 <caffe_root>Buildx64Releasepycaffecaffe 到 <python_root>libsite-packages 目录

    注意:python 不存在debug库

    5).Matlab

    编译Matlab支持,修改.windowsCommonSettings.props文件,设置 MatlabSupport trueMatlabDir 为 Matlab安装根目录。

        </PropertyGroup>
        <PropertyGroup Condition="'$(MatlabSupport)'=='true'">
            <MatlabDir>C:Program FilesMATLABR2014a</MatlabDir>
            <LibraryPath>$(MatlabDir)externlibwin64microsoft;$(LibraryPath)</LibraryPath>
            <IncludePath>$(MatlabDir)externinclude;$(MatlabDir);$(IncludePath)</IncludePath>
        </PropertyGroup>

     

    注意:最近Microsoft 的github貌似更新了matcaffe中的caffe_.cpp文件,第十六行添加了对 gpu/mxGPUArray.h 的引用

    修改matcaffe中的第十六行 #include"gpu/mxGPUArray.h" 中修改为

    #include<toolbox/distcomp/gpu/extern/include/gpu/mxGPUArray.h>

    编译Matlab支持库后,你还需要执行如下操作才能在matlab里使用:

    • 添加生成的 matcaffe 目录到 Matlab 搜索路径,
    • 添加 <caffe_root>Buildx64Debug 到 系统环境变量 PATH(不一定需要)

    6)打开 Caffe.sln 解决方案

    第三方Caffe依赖库被自动通过NuGet安装:

    右键工程-》管理NuGet程序包,还原所有的包。原始使用的opencv是2.4.10版本(我卸掉它使用opencv3.1). 所有包会下载到

    C:UsersAdministratorAppDataLocalNuGetCache

    这里是清单:

    如果你将opencv改成了3.1注意要删除每个项目文件下 *.vcxproj 里有关opencv2.4.10的加载失败错误项。

    如果某个包下载不了。。。那就参考这个

    在项目中打开 工具->NuGet程序包管理器->控制台,并输入命令:Install-Package fluentnhibernate ,进行安装。

    Install-Package boost_regex-vc120 -version 1.59 -Source C:UsersAdministratorAppDataLocalNuGetCache 

    7)编译

    现在你可以开始编译工程文件了: .windowsCaffe.sln

    注意要先编译 libcaffe, 同时编译python时只能选Release

    8)为了以后使用方便,我们将生成的exe路径放入环境目录path里

    C:caffe-master2Buildx64Debug

    9) 为了使用caffe的sh脚本文件,我们需要安装 Git 和 wgetwin (将wget.exe放入C:WindowsSystem32)

    三. 安装Tensorflow

    之前安装过python2.7,可是为了学习tensorflow,这里要安装下python3.5

    1.首先,去下载地址(下载包含python3.5版本的Anaconda)

    2. 安装过程和anaconda2类似,但是,安装的路径要设置在anaconda2的envs文件夹下,另起名,我起名为py3.

    安装过程的不同之处在下图:

     将环境变量修改了(安装结束后再改回去),然后

    conda install ipython
    conda install jupyter

    3.完成后,检查是否安装成功,首先,cmd输入python,显示的之前的python版本(之前默认的是python版本)

    python -V

    我们想用3.5版本就需要激活,命令:

    activate py3

    4.安装Tensorflow

    pip install setuptools --ignore-installed

      这是指定安装tensorflow版本方式

    pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.2.1-cp36-cp36m-win_amd64.whl

    这是利用conda安装方式,这种方式需要将环境变量修改了(安装结束后再改回去)

    conda install -c https://conda.anaconda.org/jjhelmus tensorflow-gpu

     这是官方建议的安装方式,会安装最新版

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade tensorflow-gpu

    因为不同的版本对应着不同的cudnn所以用脚本 tensorflow_self_check.py 检查一遍

    # Copyright 2015 The TensorFlow Authors. All Rights Reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    # ==============================================================================
    """A script for testing that TensorFlow is installed correctly on Windows.
    The script will attempt to verify your TensorFlow installation, and print
    suggestions for how to fix your installation.
    """
    
    import ctypes
    import imp
    import sys
    
    def main():
      try:
        import tensorflow as tf
        print("TensorFlow successfully installed.")
        if tf.test.is_built_with_cuda():
          print("The installed version of TensorFlow includes GPU support.")
        else:
          print("The installed version of TensorFlow does not include GPU support.")
        sys.exit(0)
      except ImportError:
        print("ERROR: Failed to import the TensorFlow module.")
    
      candidate_explanation = False
    
      python_version = sys.version_info.major, sys.version_info.minor
      print("
    - Python version is %d.%d." % python_version)
      if not (python_version == (3, 5) or python_version == (3, 6)):
        candidate_explanation = True
        print("- The official distribution of TensorFlow for Windows requires "
              "Python version 3.5 or 3.6.")
      
      try:
        _, pathname, _ = imp.find_module("tensorflow")
        print("
    - TensorFlow is installed at: %s" % pathname)
      except ImportError:
        candidate_explanation = False
        print("""
    - No module named TensorFlow is installed in this Python environment. You may
      install it using the command `pip install tensorflow`.""")
    
      try:
        msvcp140 = ctypes.WinDLL("msvcp140.dll")
      except OSError:
        candidate_explanation = True
        print("""
    - Could not load 'msvcp140.dll'. TensorFlow requires that this DLL be
      installed in a directory that is named in your %PATH% environment
      variable. You may install this DLL by downloading Microsoft Visual
      C++ 2015 Redistributable Update 3 from this URL:
      https://www.microsoft.com/en-us/download/details.aspx?id=53587""")
    
      try:
        cudart64_80 = ctypes.WinDLL("cudart64_80.dll")
      except OSError:
        candidate_explanation = True
        print("""
    - Could not load 'cudart64_80.dll'. The GPU version of TensorFlow
      requires that this DLL be installed in a directory that is named in
      your %PATH% environment variable. Download and install CUDA 8.0 from
      this URL: https://developer.nvidia.com/cuda-toolkit""")
    
      try:
        nvcuda = ctypes.WinDLL("nvcuda.dll")
      except OSError:
        candidate_explanation = True
        print("""
    - Could not load 'nvcuda.dll'. The GPU version of TensorFlow requires that
      this DLL be installed in a directory that is named in your %PATH%
      environment variable. Typically it is installed in 'C:WindowsSystem32'.
      If it is not present, ensure that you have a CUDA-capable GPU with the
      correct driver installed.""")
    
      cudnn5_found = False
      try:
        cudnn5 = ctypes.WinDLL("cudnn64_5.dll")
        cudnn5_found = True
      except OSError:
        candidate_explanation = True
        print("""
    - Could not load 'cudnn64_5.dll'. The GPU version of TensorFlow
      requires that this DLL be installed in a directory that is named in
      your %PATH% environment variable. Note that installing cuDNN is a
      separate step from installing CUDA, and it is often found in a
      different directory from the CUDA DLLs. You may install the
      necessary DLL by downloading cuDNN 5.1 from this URL:
      https://developer.nvidia.com/cudnn""")
    
      cudnn6_found = False
      try:
        cudnn = ctypes.WinDLL("cudnn64_6.dll")
        cudnn6_found = True
      except OSError:
        candidate_explanation = True
    
      if not cudnn5_found or not cudnn6_found:
        print()
        if not cudnn5_found and not cudnn6_found:
          print("- Could not find cuDNN.")
        elif not cudnn5_found:
          print("- Could not find cuDNN 5.1.")
        else:
          print("- Could not find cuDNN 6.")
          print("""
      The GPU version of TensorFlow requires that the correct cuDNN DLL be installed
      in a directory that is named in your %PATH% environment variable. Note that
      installing cuDNN is a separate step from installing CUDA, and it is often
      found in a different directory from the CUDA DLLs. The correct version of
      cuDNN depends on your version of TensorFlow:
      
      * TensorFlow 1.2.1 or earlier requires cuDNN 5.1. ('cudnn64_5.dll')
      * TensorFlow 1.3 or later requires cuDNN 6. ('cudnn64_6.dll')
        
      You may install the necessary DLL by downloading cuDNN from this URL:
      https://developer.nvidia.com/cudnn""")
        
      if not candidate_explanation:
        print("""
    - All required DLLs appear to be present. Please open an issue on the
      TensorFlow GitHub page: https://github.com/tensorflow/tensorflow/issues""")
    
      sys.exit(-1)
    
    if __name__ == "__main__":
      main()
    View Code

    测试

    import tensorflow as tf    
    h = tf.constant('Hello, Tensorflow!')    
    s = tf.Session()    
    print(s.run(h))  

    关闭3.5:

    deactivate py3

    四. 安装keras

    pip install bcolz

     如果安装有问题,就下载安装吧

    pip install keras

    安装结束后在此新建

    C:UsersMyPC.keraskeras.json

    这个文件中可以指定使用tensorflow还是theano

    {
        "image_dim_ordering": "tf",
        "epsilon": 1e-07, 
        "floatx": "float32", 
        "image_data_format": "channels_last", 
        "backend": "tensorflow"
    }
    {
        "image_dim_ordering": "th",
        "floatx": "float32",
        "epsilon": 1e-07,
        "backend": "theano",
        "image_data_format": "channels_last"
    }

    五. 安装PyTorch

    安装官方建议:

    conda install pytorch torchvision -c pytorch

    但往往。。。安装pythorch的时候下载慢的一比,因此可以考虑离线安装

    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/

     安装完以后可以验证下

    import torch
    import torchvision
    print(torch.__version__)
    print(torch.cuda.is_available())

    简单练习

  • 相关阅读:
    C语言和指针-回顾02-const
    Linux内核学习-使用exec创建socket
    Archlinux安装和配置
    apt-get install failed
    Insmod module : operation not permitted
    5.2.5.用开发板来调试模块
    5.2.4.最简单的模块源码分析3
    5.2.3.最简单的模块源码分析2
    5.2.1.开启驱动开发之路
    总线,设备,驱动的关系
  • 原文地址:https://www.cnblogs.com/xuanyuyt/p/5726926.html
Copyright © 2020-2023  润新知