TensorFlow高层封装之TFLearn

TensorFlow高层封装之TFLearn

转载请注明出处:https://blog.csdn.net/qq_41007606/article/details/82050958
和TensorFlow-Slim一样,TFLearn也是Tensorflow的一个高层封装。但是与前者相比,TFLearn是一个更加简洁的TensorFlow高层封装。使用tflearn可以更加轻松的完后深度神经网络的搭建,训练,测试等过程。
tflearn没有集成在Tensorflow安装包中,需要单独下载安装:

pip install tflearn

安装完tflearn之后,就可以使用它来实现神经网络了。
下面我们来看一下使用tflearn在MNIST数据集上实现LeNet-5。
1、导入相关的包和数据集

import tflearn
from tflearn.layers.core import input_data, fully_connected
from tflearn.layers.conv import conv_2d, max_pool_2d
from tflearn.layers.estimator import regression

import tflearn.datasets.mnist as mnist

2、读取MNIST数据

trainX, trainY, testX, testY = mnist.load_data(data_dir='/path/to/MNIST_data', one_hot=True)

3、将图像数据转化为卷积神经网络输入格式

trainX = trainX.reshape([-1,28,28,1])
testX = teseX.reshape([-1,28,28,1])

4、构建神经网络

x = input_data(shape=[None,28,28,1],name='x')

conv1 = conv_2d(x, 32, 5, activation='relu')
pool1 = max_pool_2d(conv1, 2)

conv2 = conv_2d(pool1, 64, 5, activation='relu')
pool2 = max_pool_2d(conv2, 2)

full1 = fully_connected(pool2, 500, activation='relu') #构建全连接层
full2 = fully_connected(full1, 10, activation='softmax')

5、指定优化器、学习率、损失函数

opt = regression(full2, optimizer='sgd', learning_rate=0.01, loss='categorical_crossentropy')

6、训练
tflearn将模型的训练过程封装到了一个类中。

model = tflearn.DNN(opt, tensorboard_verbose=0)
model.fit(trainX, trainY, n_epoch=20, validation_set=([testX, testY]), show_metric=True)

以上就是使用TFLearn搭建LeNet-5的全部过程,是不是看起来比Slim更加简洁呢。
上面的代码可以直接运行喔,博主已经跑过了,感兴趣的朋友可以自己写一下试试。

如果觉得博主的文章对您有所帮助,记得关注一下呦!您的支持就是我不断更新下去的最强动力。

如有不对的地方请指正,谢谢
有需要深度学习及机器视觉相关开发环境的可加博主QQ获取,有问题请联系下方QQ直接与博主本人交流。博主会定期更新视觉相关算法使用及实际项目讲解,谢谢各位
博主QQ:2021907249

猜你喜欢

转载自blog.csdn.net/qq_41007606/article/details/82050958