(我自己用的是python3.5.4+tensorflow-gpu-1.4.0)
话不多说我直接上流程
“————————————————”为两张图片间分隔符
1.下载python
这里是下载地址
在这个网址里面选择你要下的版本,下载之后安装,记得添加 环境变量
(现在已经出到3.7.3了,我用的还是3.5.4)
2.下载tensorflow
下载地址在这里
在右边的版本号里面选一个,然后点进去,点击日期,然后再在打开的网页左边选择download files,然后再在右边的列表里面根据你自己装的python版本号以及电脑系统选择下载。
(比如我是python3.5,windows系统,那么我就会选择这个。其中cp35代表python3.5版本,win_amd64指64位windows系统)
我的版本:tensorflow_gpu-1.4.0rc1-cp35-cp35m-win_amd64.whl
——————————————————————————————————————————————————————
当你下载好之后,打开cmd(快捷键是 win+r,再输入cmd),然后看控制台的路径
我是在c盘的users文件夹下面还建了一个文件夹,那么记得把你下载的tensorflow挪到显示的文件夹里,然后再控制台输入
pip install tensorflow-1.4.0rc1-cp35-cp35m-win_amd64.whl
也就是复制你下载的tensorflow文件,然后把整个名字都复制下来,记得要加上后面的 .whl,然后粘贴到install的后面,敲下回车键,开始安装。
*2.5在安装cuda之前要先把对应的VS运行环境装上。这里不用把完整版的VS装上,只需要装一个(下面所示)即可。因为我们只需要配置环境。(windows版本的TensorFlow用vs2015就够了)
Visual C++ Redistributable for Visual Studio 2015
*3.安装cuda以及cudnn(如果你是cpu版本的,那么请忽略这步)
对应版本号请按照如下图对照寻找
这里是版本对应号的网址
然后是cuda以及cudnn的下载,cudnn比较麻烦,它需要注册一个nvidia的账号。
cuda下载网址
cudnn下载网址
点进网址,选择上图中要求的版本号,下载。
当你下载完之后:1). 在安装cuda的时候请准备两个文件夹,你在安装的时候会出现两次选择文件夹,第一次选择文件夹的时候选择的是解压文件夹,第二次选择的是安装文件夹,解压文件夹在cuda安装完成后会自动删除里面的内容,如果你两次都选择了同一个文件夹,那么恭喜你,你做了无用功。我就是在这里被坑过好几次。2). cudnn相对简单,解压之后,把里面的三个文件夹替换到cuda的路径下。
4.当你做完上面这三步,你就可以在python的IDLE里面测试tensorflow是否成功安装。输入
import tensorflow
网址在这里
对于深度学习,一般要下的几个是:
numpy, matplotlib, opencv, pillow, scipy, scikit_image
6.编译器的选择
我用的是 pycharm专业版(懂的都懂),这里我随便贴一个链接,大家对应去看吧,我就懒得打字了。
pycharm的使用教程
7.当你弄好编译器之后,这里我默认都用pycharm,那么导入路径,具体步骤看下面。
——————————————————————————————————————————————————————
——————————————————————————————————————————————————————
——————————————————————————————————————————————————————
——————————————————————————————————————————————————————
——————————————————————————————————————————————————————
也就是找到你安装python的文件夹,双击文件夹里的 python.exe,最后应该是这样的
8. 当你弄完上面7个步骤之后,就可以在pycharm上开始你的表演了。这里我贴一段代码,大家可以拿来感受一下tensorflow以及tensorboard(这个的使用方法自行百度吧,手累了)
import tensorflow as tf
import numpy as np
#输入数据
x_data = np.linspace(-1,1,300)[:, np.newaxis]
noise = np.random.normal(0,0.05, x_data.shape)
y_data = np.square(x_data)-0.5+noise
#输入层
with tf.name_scope('input_layer'): #输入层。将这两个变量放到input_layer作用域下,tensorboard会把他们放在一个图形里面
xs = tf.placeholder(tf.float32, [None, 1], name = 'x_input') # xs起名x_input,会在图形上显示
ys = tf.placeholder(tf.float32, [None, 1], name = 'y_input') # ys起名y_input,会在图形上显示
#隐层
with tf.name_scope('hidden_layer'): #隐层。将隐层权重、偏置、净输入放在一起
with tf.name_scope('weight'): #权重
W1 = tf.Variable(tf.random_normal([1,10]))
tf.summary.histogram('hidden_layer/weight', W1)
with tf.name_scope('bias'): #偏置
b1 = tf.Variable(tf.zeros([1,10])+0.1)
tf.summary.histogram('hidden_layer/bias', b1)
with tf.name_scope('Wx_plus_b'): #净输入
Wx_plus_b1 = tf.matmul(xs,W1) + b1
tf.summary.histogram('hidden_layer/Wx_plus_b',Wx_plus_b1)
output1 = tf.nn.relu(Wx_plus_b1)
#输出层
with tf.name_scope('output_layer'): #输出层。将输出层权重、偏置、净输入放在一起
with tf.name_scope('weight'): #权重
W2 = tf.Variable(tf.random_normal([10,1]))
tf.summary.histogram('output_layer/weight', W2)
with tf.name_scope('bias'): #偏置
b2 = tf.Variable(tf.zeros([1,1])+0.1)
tf.summary.histogram('output_layer/bias', b2)
with tf.name_scope('Wx_plus_b'): #净输入
Wx_plus_b2 = tf.matmul(output1,W2) + b2
tf.summary.histogram('output_layer/Wx_plus_b',Wx_plus_b2)
output2 = Wx_plus_b2
#损失
with tf.name_scope('loss'): #损失
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-output2),reduction_indices=[1]))
tf.summary.scalar('loss',loss)
with tf.name_scope('train'): #训练过程
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
#初始化
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
merged = tf.summary.merge_all() #将图形、训练过程等数据合并在一起
writer = tf.summary.FileWriter('F:/log',sess.graph) #将训练日志写入到logs文件夹下
#训练
for i in range(1000):
sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
if(i%50==0): #每50次写一次日志
result = sess.run(merged,feed_dict={xs:x_data,ys:y_data}) #计算需要写入的日志数据
writer.add_summary(result,i) #将日志数据写入文件
希望上面的这些东西能给大家带来帮助