Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程

文章目录

    • 下载Anaconda并安装
    • Cuda和cuDNN下载
    • 注意
    • 曲折的经历
    • 安装配置
    • 安装Keras
    • 安装PyCuda
    • 安装Cython
    • 安装backports.functools_lru_cache
    • Installing imageio
    • 安装oauth2client
    • 安装Matplotlib
    • 无法成功的cuda9.1,心塞塞,原本还打算写用cuda9.1的教程,还是算了吧

写这个其实是为了把RayNet跑起来: http://raynet-mvs.com/installation/
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第1张图片

下载Anaconda并安装

清华大学的镜像网站,官网下载太慢了:
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第2张图片
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

Cuda和cuDNN下载

https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第3张图片
https://developer.nvidia.com/rdp/cudnn-archive
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第4张图片
cuDNN安装就是解压文件,把对应的文件放到cuda安装目录的对应位置
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第5张图片

注意

参照 https://blog.csdn.net/yeler082/article/details/80943040
tensorflow 1.4及以下的不支持cuda9.0,且tensorflow1.0版本以上是不支持cuda8.0以下的。tensorflow-gpu1.4以后不支持使用CUDA8.0。cuda8.0对应的cuDNN必须是6.0版的。所以如果你是cuda8.0,那么就安tensorflow-gpu1.4一下的版本吧。另外,tensorflow-gpu1.4不支持axis:TypeError: softmax() got an unexpected keyword argument ‘axis’
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第6张图片

曲折的经历

原本我看到网上说cuda9.1也可以运行tensorflow,所以就没改cuda,但是折腾了一天,还是不能用,所以,还是趁早换成cuda9.0吧,官网上说cuDNN要大于等于7.2,这也要注意别下错了。
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第7张图片

安装配置

cuda9.0安装成功:
在这里插入图片描述
打开Anaconda Prompt,新建tensorflow环境:
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第8张图片
激活Tensorflow:activate tensorflow,查看python版本为3.6:
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第9张图片
安装tensorflow-gpu:pip install tensorflow-gpu 注意:windows只支持python3安装tensorflow-gpu
成功了!!!!!!
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第10张图片
检测tensorflow是否使用gpu进行计算,参照 https://blog.csdn.net/castle_cc/article/details/78389082

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

查看日志信息若包含gpu信息,就是使用了gpu。

安装Keras

参考 https://blog.csdn.net/qq_36890572/article/details/78673368
安装MinGW包:conda install mingw libpython (超慢,并且还断了,我是下载下来后再安装的)

conda install --offline -f 文件路径

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第11张图片

配置MinGW环境变量:MinGW默认位置在anaconda的安装位置
在这里插入图片描述
安装theano(Theano是一个Python库,可以在CPU或GPU上运行快速数值计算。 这是Python深度学习中的一个关键基础库,你可以直接用它来创建深度学习模型或包装库,大大简化了程序。), 在命令行输入命令:pip install theano
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第12张图片
在python命令行测试theano:
在这里插入图片描述
用实例测试theano:

from theano import function, config, shared, tensor
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([], tensor.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 %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, tensor.Elemwise) and
              ('Gpu' not in type(x.op).__name__)
              for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

将以上内容保存到test_theano.py文件,然后执行python 路径+test_theano.py
在这里插入图片描述
蛋疼。。。怎么是cpu,待我稍后再看看咋回事。

安装keras,在命令行输入: pip install keras
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第13张图片
在python环境测试Keras:
在这里插入图片描述
Keras 的Backend,也就是Keras基于什么东西来做运算。Keras 可以基于两个Backend,一个是 Theano,一个是 Tensorflow。如果我们选择Theano作为Keras的Backend, 那么Keras就用 Theano 在底层搭建你需要的神经网络;同样,如果选择 Tensorflow 的话呢,Keras 就使用 Tensorflow 在底层搭建神经网络。
如何看当前使用的是什么Backend
每次当我们import keras的时候,就会看到屏幕显示当前使用的 Backend

>>import keras
Using Theano Backend

这就说明现在使用的是Theano在作Backend。
而我现在使用Tensorflow作为backend。

安装PyCuda

cuda一般是指采用C语言编程实现的GPU cuda架构,pycuda就是指使用python语言实现的cuda架构,同属于nvidia显卡加速并行计算架构。
参考:https://blog.csdn.net/liangjiubujiu/article/details/80448906
下载PyCuda: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycuda
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第14张图片
内心很崩溃,pyCuda咋没有cuda9.0版本的?药丸。。。
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第15张图片
我下的pycuda‑2017.1.1+cuda8061‑cp36‑cp36m‑win_amd64.whl ,死马当做活马医吧:

pip install 路径+whl文件名

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第16张图片
测试是否成功:

import pycuda.autoinit
import pycuda.driver as drv
import numpy

from pycuda.compiler import SourceModule
mod = SourceModule("""
__global__ void multiply_them(float *dest, float *a, float *b)
{
  const int i = threadIdx.x;
  dest[i] = a[i] * b[i];
}
""")

multiply_them = mod.get_function("multiply_them")

a = numpy.random.randn(400).astype(numpy.float32)
b = numpy.random.randn(400).astype(numpy.float32)

dest = numpy.zeros_like(a)
multiply_them(
        drv.Out(dest), drv.In(a), drv.In(b),
        block=(400,1,1), grid=(1,1))

print(dest-a*b)

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第17张图片
好吧,并没有成功,原因就是Cuda版本不对。天啊,这咋办!
后来我直接pip install pycuda,结果成功了
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第18张图片
我现在很纳闷为啥那个RayNet作者弄这么多依赖,Tensorflow和Theano不是重复的吗。并且Tensorflow貌似会霸占资源:
https://github.com/tensorflow/tensorflow/issues/18822
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第19张图片
换上Cuda9.1版本的安上也不对,哔了狗。。。难道要我退回Cuda8.0,不想啊啊啊啊。我用cuda8.0测试了,果然用cuda8.0是可以的。

安装Cython

Cython是一个快速生成Python扩展模块的工具,从语法层面上来讲是Python语法和C语言语法的混血,当Python性能遇到瓶颈时,Cython直接将C的原生速度植入Python程序,这样使Python程序无需使用C重写,能快速整合原有的Python程序,这样使得开发效率和执行效率都有很大的提高,而这些中间的部分,都是Cython帮我们做了。
在这里插入图片描述

安装backports.functools_lru_cache

pip install backports.functools_lru_cache

在这里插入图片描述

Installing imageio

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第20张图片

conda install -c conda-forge imageio

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第21张图片

安装oauth2client

pip install --upgrade oauth2client

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第22张图片

安装Matplotlib

python -m pip install -U pip
python -m pip install -U matplotlib

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第23张图片

无法成功的cuda9.1,心塞塞,原本还打算写用cuda9.1的教程,还是算了吧

我下载了Anaconda5.3,结果它是python3.7(Tensorflow目前支持python3.4-3.6),但我又不想重新下载安装Anaconda了,所以就这么继续下去吧
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第24张图片

conda create --name tensorflow python=3.6

然后慢慢等着下载吧
激活Tensorflow:activate tensorflow
查看激活是否成功:conda info --envs,取消激活:deactivate
测试是否成功:
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第25张图片
查看python版本:
在这里插入图片描述
可以查看python有两个版本:
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第26张图片
安装tensorflow的gpu版本:pip install tensorflow-gpu
测试是否安装成功:
Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow-gpu+Keras安装教程_第27张图片
键入quit()退出python
因为目前的Tensorflow最多支持到CUDA9.0。

你可能感兴趣的:(可视化)