1.前言

如果你了解过TensorFlow框架,会发现这个深度学习库需要我们自己定义所有的计算节点,通过将图片进行卷积处理、建立卷积网络、建立池化层网络、建立全连接层等步骤,实现一个卷积神经网络,让人头大。

而TFLearn是一个建立在TensorFlow之上的模块化的、透明的深度学习库,比TensorFlow提供了更高层次的API,可以让我们快速地进行实验。

2.安装TFLearn(win10)

需要在Tensorflow 1.0以上版本的基础上安装TFLearn,然后根据系统选择不同的二进制文件进行安装,所以请安装Tensorflow。
Tensorflow【实战Google深度学习框架】TFLearn大宝剑_人工智能

3.使用TFLearn实现线性回归

在看TFLearn的入门教程之前,不如先直接使用TFLearn做一个用来预测数据的线性回归模型。线性回归大概来说就是先通过直线方程公式计算出所有个体的直线方程,然后在这些直线方程的结果中找到并画出一条直线。

Tensorflow【实战Google深度学习框架】TFLearn大宝剑_深度学习_02
Tensorflow【实战Google深度学习框架】TFLearn大宝剑_深度学习_03
理解了线性回归之后,我们就可以尝试使用TFLearn去实现一个线性回归模型。

import tflearn

# 回归数据
X = [3.38,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167,7.042,10.791,5.313,7.997,5.654,9.27,3.1]
Y = [1.7,2.76,2.09,3.19,1.694,1.573,3.366,2.596,2.53,1.221,2.827,3.465,1.65,2.904,2.42,2.94,1.3]

# 线性回归图
input_ = tflearn.input_data(shape=[None])
linear = tflearn.single_unit(input_)
# 优化器,目标(`optimizer`)和评价指标(`metric`)
regression = tflearn.regression(linear, optimizer='sgd', loss='mean_square', metric='R2', learning_rate=0.01)
# 使用`DNN`(深度神经网络)模型类训练模型
m = tflearn.DNN(regression)
m.fit(X, Y, n_epoch=1000, show_metric=True, snapshot_epoch=False)

print("回归结果:")
# `get_weights`方法获取模型的权重值
print("Y = " + str(m.get_weights(linear.W)) + "*X + " + str(m.get_weights(linear.b)))

print("x的测试预测 = 3.2, 3.3, 3.4:")
print(m.predict([3.2, 3.3, 3.4]))

执行上面的代码后,你会得到下面的这样的输出。

$ python3 LinearRegression.py
2019-09-26 16:20:39.020965: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
---------------------------------
Run id: 9SMM2Q
Log directory: /tmp/tflearn_logs/
---------------------------------
Training samples: 17
Validation samples: 0
--
Training Step: 1000  | total loss: 0.15402 | time: 0.002s
| SGD | epoch: 1000 | loss: 0.15402 - R2: 0.9734 -- iter: 17/17
--
回归结果:
Y = [0.259189]*X + [0.7446459]
x的测试预测 = 3.2, 3.3, 3.4:
[1.5740507 1.5999696 1.6258886]

在模型成功建立以后,我们通过下面的命令运行并启动Tensorboard服务以可视化网络和性能。

$ tensorboard --logdir='/tmp/tflearn_logs'
TensorBoard 1.12.0 at http://coding.ide:6006 (Press CTRL+C to quit)

在浏览器访问“127.0.0.1:6006”,即可打开下面的web页面,可视化的查看网络和性能。
(ip地址不定)

Tensorflow【实战Google深度学习框架】TFLearn大宝剑_深度学习_04