一、搭建Tensorflow(CPU版本)
1、安装前准备
在Tensorflow官网的安装向导中可以看到,tf有两个版本,分别为CPU和GPU版本,两个版本的区别在于:GPU版本依赖于NVIDIA(英伟达™)GPU(图形处理器,即显卡),并且通过NVIDIA提供的运算平台CUDA(Compute Unified Device Architecture)及cuDNN(CUDA Deep Neural Network)对一些常用的神经网络操作进行性能提升,但是这两个工具只支持NVIDIA的显卡(N卡),而不支持AMD公司的产品(A卡),因此如果要安装的PC没有配置N卡,是无法安装GPU版本的。
关于CDUA:CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。 计算行业正在从只使用CPU的“*处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA™(英伟达™)发明了CUDA(Compute Unified Device Architecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构已应用于GeForce™(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上。(来自百科)
安装Tensorflow有两种方式:pip及Anaconda
pip:本地pip直接在您的系统上安装TensorFlow,而无需通过虚拟环境。由于本地pip安装不在单独的容器中,因此pip安装可能会干扰系统上其他基于Python的安装。但是,如果您了解pip和Python环境,则本地pip安装通常只需要一个命令!此外,如果使用本地pip进行安装,则用户可以从系统上的任何目录运行TensorFlow程序。 这个安装方法需要系统已经搭载下列Python环境:
Python 3.6.x 64-bit from python.org
Python 3.5.x 64-bit from python.org
TensorFlow在Windows上支持Python 3.5.x和3.6.x。请注意,Python 3带有pip3软件包管理器,这是将用于安装TensorFlow的程序。安装TensorFlow,需要在cmd中发出适当的 pip3安装命令。
1)要安装TensorFlow的纯CPU版本,输入以下命令:
C:\> pip3 install --upgrade tensorflow
2)要安装TensorFlow的GPU版本,请输入以下命令:
C:\> pip3 install --upgrade tensorflow-gpu
Anaconda:在Anaconda中可以使用conda创建一个虚拟环境。然后用pip install命令或conda install命令安装TensorFlow ,官方推荐使用pip install命令,因为conda软件包是社区支持的,没有正式的支持。也就是说,TensorFlow团队既不测试也不维护这个conda软件包 。(Anaconda是由Python提供支持的领先的开放数据科学平台。 Anaconda的开源版本是Python和R的高性能分发版本,包括超过100个用于数据科学的最流行的Python,R和Scala软件包。)
(因为个人电脑本地环境已经安装Python3.6,并且配置好sublime text文本编辑器,为了避免不必要的麻烦,不采用本地pip安装方式,选用anaconda安装tensorflow,方便管理。)
2、开始安装
1)从anaconda官方下载并安装anaconda3
根据此处安装向导进行安装,注意:建议不要将Anaconda添加到PATH环境变量中,因为这会干扰其他软件。而应使用Anaconda软件,从“开始”菜单打开“Anaconda导航器”或“Anaconda提示”。(营造一个相对独立的环境)
安装成功后会有如图界面
安装完以后,打开Anaconda Prompt,输入清华的仓库镜像,更新包更快:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
若出现之后出现‘HTTP 000 。。。。。’的网络连接错误可以参考:https://www.jianshu.com/p/2a237ba0e4d1
检查Anaconda是否成功安装:conda
--version
安装后一般为4.4.3版本,用命令更新:conda update conda
更新前,为(root)c:\user\jh,更新后变为(base)c:\user\jh
检查目前有哪些版本的python可以安装:conda
search --full-name python
通过调用以下命令创建一个名为tensorflow的conda环境:
C:> conda create -n tensorflow pip python = 3.6
通过发出以下命令来激活tensorflow环境:
C:> activate tensorflow
2)在conda环境中安装TensorFlow。
要安装TensorFlow的纯CPU版本,输入以下命令:
pip install --ignore-installed --upgrade tensorflow
要安装TensorFlow的GPU版本,输入以下命令:
pip install --ignore-installed --upgrade tensorflow-gpu
之后开始连接并自动下载
下载安装成功:
查看目前安装了哪些环境,确保名叫tensorflow的环境已经被成功添加:conda
info --envs
*表示当前环境
打开anaconda navigator 图形管理界面
看到环境选项有TensorFlow
3)验证是否安装成功
错误尝试:直接在cmd里面键入python,然后键入import
tensorflow (导入TensorFlow库)
会遇到No module named "tensorflow"的错误,
正确做法:activate tensorflow 激活tensorflow,再键入Python进入交互环境,键入import tensorflow
或输入下面代码:
importtensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
最终输出成功说明tensorflow安装成功
也可以在图形管理界面打开spyder,进行编辑,第一次打开需要下载,注意spyder的版本
可以尝试运行这个例程:
import tensorflow as tf
import numpy as np
#import keras 装完keras后,去掉#尝试运行,用于检验安装
x=tf.placeholder("float")
y=tf.placeholder("float")
w=tf.Variable([1.0,2.0],name='w')
y_pred=tf.multiply(x,w[0])+w[1]
error=tf.square(y-y_pred)
train_op=tf.train.GradientDescentOptimizer(0.02).minimize(error)
model=tf.initialize_all_variables()
with tf.Session() as session:
session.run(model)
for i in range(1000):
x_value=np.random.rand()
y_value=x_value*2+6
session.run([train_op],feed_dict={x:x_value,y:y_value})
w_value=session.run(w)# get w
print ("ax+b,a=%.3f,b=%.3f"%(w_value[0],w_value[1]))
打开spyder的时候也可以在激活的TensorFlow中键入:spyder。
若运行不成功,可以重装,anaconda方便之一:
二、keras安装:Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行。
先逛一下keras官网
按照官网指示,在conda环境pip安装:pip install keras
虽然显示安装成功,包括numpy、scipy等都成功,但是在安装之后,在tensorflow环境中并不能import keras成功
于是采用conda安装(与pip并不冲突)键入:conda install keras
(补充:后面补充使用pip命令成功的做法,因为使用conda安装,conda把keras当成一个包来管理,安装时一并把tensorflow1.2.1(但是这个并不是我们想要的)给安装了,因此会出现下面:不用激活tensorflow环境就可以‘import keras‘和’import keras’)
安装完成,进行验证:
因为在conda环境安装keras,故不必激活tensorflow,
可在图形管理界面搜索到已安装的keras,打开tensorflow环境的spyder,运行下面例程:
from keras.models import Sequential
from keras.layers import LSTM, Dense
import numpy as np
data_dim = 16
timesteps = 8
num_classes = 10
# expected input data shape: (batch_size, timesteps, data_dim)
model = Sequential()
model.add(LSTM(32, return_sequences=True,
input_shape=(timesteps, data_dim))) # returns a sequence of vectors of dimension 32
model.add(LSTM(32, return_sequences=True)) # returns a sequence of vectors of dimension 32
model.add(LSTM(32)) # return a single vector of dimension 32
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='sgd',
metrics=['accuracy'])
# Generate dummy training data
x_train = np.random.random((1000, timesteps, data_dim))
y_train = np.random.random((1000, num_classes))
# Generate dummy validation data
x_val = np.random.random((100, timesteps, data_dim))
y_val = np.random.random((100, num_classes))
model.fit(x_train, y_train,
batch_size=64, epochs=1,
validation_data=(x_val, y_val))
可看到运行结果:
同时由于keras是基于tensorflow的一个框架,也有这种情况:
这个情况是因为
之后,,,就可以愉快地烧。。。。CPU了。
补充:前面提到使用pip安装keras无法成功导入,可能原因是因为安装时使用了cnoda命令去安装TensorFlow。要避免conda安装keras时安装tensorflow1.2.1的情况,可激活tensorflow环境后,使用pip安装命令安装keras。