tensorflow开发环境搭建

tensorflow开发环境搭建


img width="200px"

安装 python

需要安装64位版本python v3.7.4 64 bit
解压安装傻瓜式安装
安装完成后windows需要配置环境变量

安装pip

1
2
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本
$ python get-pip.py # 运行安装脚本

安装虚拟环境 virtualenv

1
pip install virtualenv #使用pip安装 virtualenv

创建虚拟环境

虚拟环境的用处

  1. 与主机环境隔离。
  2. 每个虚拟环境都独立安装python模块,可以通过切换虚拟环境使用不同版本的python模块。

语法

1
2
3
4
5
virtualenv --system-site-packages -p python ./venv #创建名为venv的虚拟环境
cd venv #进入虚拟环境目录
cd Scripts #进入脚本目录
activate #执行虚拟环境激活命令
deactivate #退出虚拟环境

激活时会独立于主机的python独立安装一些初始模块 pip、wheel,使用

1
pip list

查看安装的模块及版本

安装Tensorflow

在激活的虚拟环境中使用

1
pip install tensorflow

安装tensorflow的cpu版本,想要下载更多的版本可以使用

1
pip search Tensorflow

查询适合当前python版本的tensorflow版本
这里是官网的对tensorflow不同版本的解释

  • tensorflow - 仅支持 CPU 的最新稳定版(建议新手使用)
  • tensorflow-gpu - 支持 GPU 的最新稳定版(适用于 Ubuntu 和 Windows)
  • tf-nightly - 仅支持 CPU 的预览每夜版(不稳定)
  • tf-nightly-gpu - 支持 GPU 的预览每夜版(不稳定,适用于 Ubuntu 和 Windows)
  • tensorflow==2.0.0-rc1 - 仅支持 CPU 的预览 TensorFlow 2.0 测试版(不稳定)
  • tensorflow-gpu==2.0.0-rc1 - 支持 GPU 的预览 TensorFlow 2.0 测试版(不稳定,适用于 Ubuntu 和 Windows)

测试

1
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

如果成功执行这行代码,则安装成功

hello world

使用内置的手写数字训练集进行模型的训练

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tensorflow as tf # 导入tensorflow模块
mnist = tf.keras.datasets.mnist # 获取预置的mnist手写数据集
(x_train, y_train),(x_test, y_test) = mnist.load_data() # 获取预先划分好的训练集,测试集
x_train, x_test = x_train / 255.0, x_test / 255.0 # 对图片像素进行规范化 从[0,255]规整为[0,1]
# 创建一个训练模型
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)), # 输入层规定输入图片尺寸为28px × 28px
tf.keras.layers.Dense(512, activation=tf.nn.relu),# 第一层神经元个数为512 使用relu作为激活函数
tf.keras.layers.Dense(1024, activation=tf.nn.relu),# 第二层神经元个数为1024 同样使用relu作为激活函数
tf.keras.layers.Dropout(0.2), # 随机失活层防止过拟合
tf.keras.layers.Dense(10, activation=tf.nn.softmax) # 输出层 使用softmax激活函数进行分类
])
# 使用adam为优化器,sparse_categorical_crossentropy为loss计算函数
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 开始训练,进行100层迭代
model.fit(x_train, y_train, epochs=100)
# 使用测试数据集进行模型准确度评估
model.evaluate(x_test, y_test)

训练集的样本个数为60000,测试用样本个数为10000,训练进行时会有如下输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Epoch 87/100
60000/60000 [==============================] - 10s 174us/sample - loss: 0.0102 - acc: 0.9987
Epoch 88/100
60000/60000 [==============================] - 11s 175us/sample - loss: 0.0117 - acc: 0.9987
Epoch 89/100
60000/60000 [==============================] - 11s 180us/sample - loss: 0.0192 - acc: 0.9981
Epoch 90/100
60000/60000 [==============================] - 11s 178us/sample - loss: 0.0128 - acc: 0.9987
Epoch 91/100
60000/60000 [==============================] - 10s 174us/sample - loss: 0.0156 - acc: 0.9985
Epoch 92/100
60000/60000 [==============================] - 11s 180us/sample - loss: 0.0128 - acc: 0.9988
Epoch 93/100
60000/60000 [==============================] - 10s 172us/sample - loss: 0.0212 - acc: 0.9984
Epoch 94/100
60000/60000 [==============================] - 11s 185us/sample - loss: 0.0137 - acc: 0.9986
Epoch 95/100
60000/60000 [==============================] - 11s 177us/sample - loss: 0.0161 - acc: 0.9987
Epoch 96/100
60000/60000 [==============================] - 11s 179us/sample - loss: 0.0113 - acc: 0.9989
Epoch 97/100
60000/60000 [==============================] - 11s 180us/sample - loss: 0.0181 - acc: 0.9986
Epoch 98/100
60000/60000 [==============================] - 10s 169us/sample - loss: 0.0148 - acc: 0.9986
Epoch 99/100
60000/60000 [==============================] - 11s 177us/sample - loss: 0.0140 - acc: 0.9989
Epoch 100/100
60000/60000 [==============================] - 11s 179us/sample - loss: 0.0207 - acc: 0.9984

loss值和acc一般成反比,可以看出每一次迭代后模型对自己的评估。
然而这样的评估不一定准确,需要使用不参与训练的测试数据集进行评估。

1
10000/10000 [==============================] - 1s 53us/sample - loss: 0.6206 - acc: 0.9807

10000个测试样本的准确率为 98%,可以证明这个模型可以很好的区分手写数字了。

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 安装 python
  2. 2. 安装pip
  3. 3. 安装虚拟环境 virtualenv
  4. 4. 创建虚拟环境
    1. 4.1. 虚拟环境的用处
    2. 4.2. 语法
  5. 5. 安装Tensorflow
  6. 6. 测试
  7. 7. hello world