windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

时间:2022-06-02 18:08:48

一、搭建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版本的。

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

关于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有两种方式:pipAnaconda

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

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keraswindows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

根据此处安装向导进行安装注意:建议不要将Anaconda添加到PATH环境变量中,因为这会干扰其他软件。而应使用Anaconda软件,从“开始”菜单打开“Anaconda导航器”或“Anaconda提示”。(营造一个相对独立的环境)

安装成功后会有如图界面

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

安装完以后,打开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 

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

安装后一般为4.4.3版本,用命令更新:conda update conda 

更新前,为(root)c:\user\jh,更新后变为(base)c:\user\jh



检查目前有哪些版本的python可以安装:conda
search --full-name python
 

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keraswindows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

通过调用以下命令创建一个名为tensorflow的conda环境:

C:> conda create -n tensorflow pip python = 3.6 

 windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

通过发出以下命令来激活tensorflow环境:

C:> activate tensorflow

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

2)在conda环境中安装TensorFlow。

要安装TensorFlow的纯CPU版本,输入以下命令:

pip install --ignore-installed --upgrade tensorflow

要安装TensorFlow的GPU版本,输入以下命令:

pip install --ignore-installed --upgrade tensorflow-gpu

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

之后开始连接并自动下载

下载安装成功:

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

查看目前安装了哪些环境,确保名叫tensorflow的环境已经被成功添加conda
info --envs
 

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras*表示当前环境

打开anaconda navigator  图形管理界面

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

看到环境选项有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))

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

最终输出成功说明tensorflow安装成功

也可以在图形管理界面打开spyder,进行编辑,第一次打开需要下载,注意spyder的版本

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

可以尝试运行这个例程:

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]))


windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

打开spyder的时候也可以在激活的TensorFlow中键入:spyder。

若运行不成功,可以重装,anaconda方便之一:

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

二、keras安装:Keras是一个高级神经网络API,用Python编写,能够在TensorFlowCNTKTheano之上运行

先逛一下keras官网

按照官网指示,在conda环境pip安装:pip install keras

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

虽然显示安装成功,包括numpy、scipy等都成功,但是在安装之后,在tensorflow环境中并不能import keras成功

于是采用conda安装(与pip并不冲突)键入:conda install keras

(补充:后面补充使用pip命令成功的做法,因为使用conda安装,conda把keras当成一个包来管理,安装时一并把tensorflow1.2.1(但是这个并不是我们想要的)给安装了,因此会出现下面:不用激活tensorflow环境就可以‘import  keras‘和’import keras’)

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

安装完成,进行验证:

因为在conda环境安装keras,故不必激活tensorflow

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

可在图形管理界面搜索到已安装的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))

可看到运行结果:


windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

同时由于keras是基于tensorflow的一个框架,也有这种情况:

 这个情况是因为

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras

之后,,,就可以愉快地烧。。。。CPU了。

补充:前面提到使用pip安装keras无法成功导入,可能原因是因为安装时使用了cnoda命令去安装TensorFlow。要避免conda安装keras时安装tensorflow1.2.1的情况,可激活tensorflow环境后,使用pip安装命令安装keras。

windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras