美文网首页我爱编程
win10上配置mxnet、keras、tensorflow、c

win10上配置mxnet、keras、tensorflow、c

作者: yfmei | 来源:发表于2017-05-06 23:26 被阅读0次

    必要条件

    • NIVDIA GeForce GTX 950M或以上的显卡
    • Visual Studio 2015社区版。Windows Kit 10.0.10240.0
      用其C / C ++编译器(而不是其IDE)和SDK
    • python(64位)。Python 3.6.3(Anaconda3-5.0.1)
      Python发行版,给我们提供NumPy,SciPy和其他科学方法库
    • CUDA 9.0(64位)
      GPU数学库,卡驱动程序和CUDA编译器
    • MinGW-w64(5.4.0)
      类Unix编译器,并为Windows提供构建工具(g ++ / gcc,make ...)
    • Theano 0.9.0
      用来求多维数组上的数学表达式得结果
    • Mnxet-cu90 1.1.0
    • Tensorflow
    • Keras 2.1.3
      以theano、mxnet、tensorflow为后台的深度学习框架
    • OpenBLAS 0.2.14(可选)
      CPU优化的许多线性代数运算的实现
    • CUDNN v7.0.5 CUDA 9.0(有条件)
      为了运行极快的卷积神经网络

    安装步骤

    • 安装vs2015
    • https://github.com/philferriere/dlwin/blob/master/img/vs2015-install-part4b-2016-10.png
    • 安装Anaconda3 5.0.1(对应Python3.6)
    • 环境变量
    • 加到path中C:\Users\PC\Anaconda3;C:\Users\PC\Anaconda3\Scripts;C:\Users\PC\Anaconda3\Library\bin;
    • pip install keras -U --pre
    • conda install mingw libpython (也可以自行下载mingw64放到anaconda3目录下)
    • 环境变量
    • 如果.theanorc.txt中配置了目录,则可以不用加到环境变量中
    • conda install pygpu
    • pip3 install --upgrade tensorflow (cpu)
    • pip3 install --upgrade tensorflow-gpu
    • 安装cuda 9.0
      • 环境变量
      • CUDA_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
      • CUDA_PATH_V9_0 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
      • 加到path中%CUDA_PATH%\bin;%CUDA_PATH%\libnvvp
      • 命令行输入 nvcc --V 检测是否成功安装
    • 下载cudnn(7.0.5),最起码要和cuda兼容,下载完成把库文件放在cuda相应目录下,覆盖cuda的3个文件
    • 安装mxnet:pip install mxnet-cu90

    测试theano

    import theano.tensor as T
    
    import numpy
    
    import time
    
    vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
    
    iters = 1000
    
    rng = numpy.random.RandomState(22)
    
    x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
    
    f = function([], T.exp(x))
    
    print (f.maker.fgraph.toposort())
    
    t0 = time.time()
    
    for i in range(iters):
    
        r = f()
    
    t1 = time.time()
    
    print ('Looping %d times took' % iters, t1 - t0, 'seconds')
    
    print ('Result is', r)
    
    if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    
        print ('Used the cpu')
    
    else:
    
        print ('Used the gpu')
    

    测试BLAS

    • 看看numpy是不是已经默认BLAS加速了,在python里输入:
    import numpy
    id(numpy.dot) == id(numpy.core.multiarray.dot)
    

    结果为False表示已经成功依赖了BLAS加速,如果是Ture则表示用的是python自己的实现,并没有加速。

    附上.theanorc.txt内容

    [global]
    
    openmp = False
    #这样theano无法使用gpu加速,要改成gpu,虽然会出现警告,但是theano可以用gpu加速
    device = cuda
    
    floatX = float32 
    #init_gpu_device = gpu #用device = cuda就不能用
    
    optimizer_including = cudnn #不用cudnn的话就不要这句  
    
    optimizer = fast_compile 
    
    allow_input_downcast = True
    
    exception_verbosity = high
    
    [blas]
    
    ldflags = 
    
    [dnn]
    include_path = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include
    library_path = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
    
    [lib]
    # 不能超过1
    cnmem = 0.8
    
    [gcc]
    # mingw目录,mingw安装完记得放到anaconda中
    cxxflags =  -IC:\Users\PC\Anaconda2\envs\Anaconda3\MinGW
    #好像没什么用
    #cxxflags = -D_hypot=hypot -IC:\Users\PC\Anaconda2\envs\Anaconda3\Lib\site-packages\pygpu -LC:\Users\PC\Anaconda2\envs\Anaconda3\Lib\site-packages\pygpu
    
    [nvcc] 
    # anaconda3 有两个flags会报错,anaconda2 要有两个 anaconda目录下的libs
    flags = -LC:\Users\PC\Anaconda2\env\Anaconda3\libs  
    
    compiler_bindir = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
    
    fastmath = True 
    
    #flags =-arch=sm_30 
    
    
    

    相关文章

      网友评论

        本文标题:win10上配置mxnet、keras、tensorflow、c

        本文链接:https://www.haomeiwen.com/subject/jciytxtx.html