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

本文详细记录了CUDA9.0环境下TensorFlow及相关库的安装过程,包括Anaconda、Cuda、cuDNN的下载与配置,以及Keras、PyCuda等库的安装步骤与常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


写这个其实是为了把RayNet跑起来: http://raynet-mvs.com/installation/
在这里插入图片描述

下载Anaconda并安装

清华大学的镜像网站,官网下载太慢了:
在这里插入图片描述
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
在这里插入图片描述
https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述
cuDNN安装就是解压文件,把对应的文件放到cuda安装目录的对应位置
在这里插入图片描述

注意

参照 https://blog.youkuaiyun.com/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’
在这里插入图片描述

曲折的经历

原本我看到网上说cuda9.1也可以运行tensorflow,所以就没改cuda,但是折腾了一天,还是不能用,所以,还是趁早换成cuda9.0吧,官网上说cuDNN要大于等于7.2,这也要注意别下错了。
在这里插入图片描述

安装配置

cuda9.0安装成功:
在这里插入图片描述
打开Anaconda Prompt,新建tensorflow环境:
在这里插入图片描述
激活Tensorflow:activate tensorflow,查看python版本为3.6:
在这里插入图片描述
安装tensorflow-gpu:pip install tensorflow-gpu 注意:windows只支持python3安装tensorflow-gpu
成功了!!!!!!
在这里插入图片描述
检测tensorflow是否使用gpu进行计算,参照 https://blog.youkuaiyun.com/castle_cc/article/details/78389082

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

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

安装Keras

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

conda install --offline -f 文件路径

在这里插入图片描述

配置MinGW环境变量:MinGW默认位置在anaconda的安装位置
在这里插入图片描述
安装theano(Theano是一个Python库,可以在CPU或GPU上运行快速数值计算。 这是Python深度学习中的一个关键基础库,你可以直接用它来创建深度学习模型或包装库,大大简化了程序。), 在命令行输入命令:pip install theano
在这里插入图片描述
在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
在这里插入图片描述
在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.youkuaiyun.com/liangjiubujiu/article/details/80448906
下载PyCuda: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycuda
在这里插入图片描述
内心很崩溃,pyCuda咋没有cuda9.0版本的?药丸。。。
在这里插入图片描述
我下的pycuda‑2017.1.1+cuda8061‑cp36‑cp36m‑win_amd64.whl ,死马当做活马医吧:

pip install 路径+whl文件名

在这里插入图片描述
测试是否成功:

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)

在这里插入图片描述
好吧,并没有成功,原因就是Cuda版本不对。天啊,这咋办!
后来我直接pip install pycuda,结果成功了
在这里插入图片描述
我现在很纳闷为啥那个RayNet作者弄这么多依赖,Tensorflow和Theano不是重复的吗。并且Tensorflow貌似会霸占资源:
https://github.com/tensorflow/tensorflow/issues/18822
在这里插入图片描述
换上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

在这里插入图片描述

conda install -c conda-forge imageio

在这里插入图片描述

安装oauth2client

pip install --upgrade oauth2client

在这里插入图片描述

安装Matplotlib

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

在这里插入图片描述

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

我下载了Anaconda5.3,结果它是python3.7(Tensorflow目前支持python3.4-3.6),但我又不想重新下载安装Anaconda了,所以就这么继续下去吧
在这里插入图片描述

conda create --name tensorflow python=3.6

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值