pycharm深度学习tensorflow环境配置,使用anaconda安装,MINIT验证

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_21116473/article/details/80783025

自己在配置深度学习时,发现网上关于tensorflow环境的配置都叙述的不够详细,通过自己多次尝试才安装成功,安装成功的这种心情是每一个深度学习新手都明白的。安装成功自己总结出在pycharm编辑器中使用anaconda配置tensorflow环境,并且使用MINIST数据集验证安装是否成功。希望能帮到正在烦躁的安装深度学习环境的人!

1. tensorflow的安装

在tensorflow安装之前配置环境,根据自己计算机的计算能力下载相应的cuda和匹配的cudnn,此次自己使用cuda9.0,cudnn版本是windows 7下的v7.0.5。cuda和cudnn一定要相匹配!!!!!!!

  • 1) cuda下载

下载地址为:https://developer.nvidia.com/cuda-toolkit-archive找到相应的cuda下载。

CUDA版本对显卡驱动版本有要求,见如下链接。
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

进入NVIDIA控制面板点击左下角的系统信息就能知道自己的驱动程序版本。

 若想装更高的cuda版本得升级电脑驱动,在以下地址更新显卡驱动https://www.nvidia.com/drivers

tensorflow-gpu与CUDA和cudnn的对应关系可查看:https://tensorflow.google.cn/install/source_windows

  • 2) cudnn下载及环境配置

下载地址为:https://developer.nvidia.com/rdp/cudnn-archive,下载完成后有三个文件夹,分别为bin、include、lib。然后将这三个文件夹路径加到系统环境变量PATH中,也可直接放在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\下的bin,include,lib目录下。

  • 3) Anaconda下载

下载地址为:https://www.anaconda.com/download/,选择相应的python版本,自己选用的python3.6版本。

下载完成后打开Anaconda Prompt 终端,然后使用以下命令创建tensorflow的conda环境:

conda create -n tensorflow python=3.6(conda中的python版本为3.6,也可为3.5)。创建完成后输入activate tensorflow命令激活tensorflow环境。

  • 4) tensorflow下载

使用以下命令下载tensorflow-gpu版,此次自己使用gpu1.8.0版本

pip install tensorflow-gpu==1.8.0   //无版本号默认安装最新版   

使用以下即可下载cpu版

pip install tensorflow-cpu 

安装完成后在此打开Anaconda Prompt 终端,输入activate tensorflow激活Anaconda中的tensorflow环境。

输入python进入交互环境,再输入import tensorflow as tf命令,若没有出现错误即表示安装成功。典型的错误是tensorflow模块找不到(引入tensorflow未激活tensorflow环境),解决方法为;打开Anaconda Prompt 终端应先输入activate tensorflow命令然后再输入python命令进入python shell交互环境再引入tensorflow;没有发现cudnn64_x(其主要是因为cuda与cudnn没有完成匹配)。然后依次输入一下命令:

hello = tf.constant(‘hello tensorflow’)

Sess = tf.Session()

print(sess.run(hello))

即可输出hello tensorflow。

注:也可通过anaconda下载安装tensorflow,进入Anaconda Navigator 然后进入Environments,点击Not installed 搜索tensorflow即可下载。

2. pycharm编辑器tensorflow环境的配置

进入pycharm编辑器设置解释器,create VirtualEnv路径为tensorflow下的python.exe,创建完成即可。

若没有创建tensorflow虚拟环境,直接选择Anaconda下的python.exe即可。

  • 1) 可能出现的错误

(1) 若在Anaconda Prompt进入tensorflow中的python终端引入tensorflow没有错误,而在pycharm中出现cudnn64_7未找到的错误。

解决方法:

X:\cuda\bin\cudnn64_7.dll 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

X:\cuda\include\cudnn.h 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include

X:\cuda\lib\x64\cudnn.lib 复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

(2) Unable to load cuDNN DSO. 这个是因为装了高版本的cuDNN,而TensorFlow暂时不支持 

解决方法:

NVIDIA cuDNN下载低版本的cuDNN。解压配置好后再重复上面的复制文件即可。

(3) urllib.error.URLError: <urlopen error [WinError 10054]。出现以上错误即MNIST_data数据未下载下来或路径错误。

解决方法:

手动下载数据集,将MNIST_data数据集放到.py文件的相同目录下即可。

(4)tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
原因在于conda自动安装CUDA时,CUDA toolkit默认安装的是最新的,与驱动版本不对应所以导致该问题

或者是在Anacoda navigate 里面安装tensorflow时会自动匹配最新版本cuda,如过没有则会自己安装,这样也会导致与电脑驱动版本不匹配

解决方法:

卸载CUDA与cudnn,然后安装合适的CUDA版本或者更新相对应要求的驱动版本(更新最新的驱动一劳永逸)。

在anaconda终端命令行下载tesorflow。

  • 2) 以下使用MNIST手写数字识别进行测试
# 获得数据集
from tensorflow.examples.tutorials.mnist import input_data
# 引入tesorflow
import tensorflow as tf

mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

# 查看mnist数据集的情况
print(mnist.train.images.shape,mnist.train.labels.shape)
print(mnist.test.images.shape,mnist.train.labels.shape)
print(mnist.validation.images.shape,mnist.train.labels.shape)



# Session
sess = tf.InteractiveSession()

# 输入图像数据占位符
x = tf.placeholder(tf.float32, [None, 784])

# 权值和偏差
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))

# 使用softmax模型
y = tf.nn.softmax(tf.matmul(x, W) + b)

# 代价函数占位符
y_ = tf.placeholder(tf.float32, [None, 10])

# 交叉熵评估代价
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

#使用梯度下降算法优化:学习速率为0.5
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)


#初始化变量
tf.global_variables_initializer().run()

#训练模型,训练1000次
for _ in range(1000):
  batch_xs, batch_ys = mnist.train.next_batch(100)
  sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

#计算正确率
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))

accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))

运行结果:输出显示得到模型的准确率 


 

 

由结果可知mnist数据集中有训练集有55000个样本,测试集有10000个样本,验证集有5000个样本。

如果出现以上结果pycharm中tensorflow环境安装成功

展开阅读全文

没有更多推荐了,返回首页