Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow 您所在的位置:网站首页 conda安装matplotlib Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow

Windows10+Cuda9.0+cuDNN7.3+Anaconda+Tensorflow

2023-03-26 10:57| 来源: 网络整理| 查看: 265

文章目录 下载Anaconda并安装Cuda和cuDNN下载注意曲折的经历安装配置安装Keras安装PyCuda安装Cython安装backports.functools_lru_cacheInstalling imageio安装oauth2client安装Matplotlib无法成功的cuda9.1,心塞塞,原本还打算写用cuda9.1的教程,还是算了吧 写这个其实是为了把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.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’ 在这里插入图片描述

曲折的经历

原本我看到网上说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.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 文件路径

在这里插入图片描述

配置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.csdn.net/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。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有