首页 > 科技 > CIFAR10+卷积神经网络+TensorBoard 实战

CIFAR10+卷积神经网络+TensorBoard 实战

1、CIFAR-10数据集的简介

CIFAR-10

cifar10是由Hinton的学生整理的一个用于识别物体的小型数据集,一共包含10个类别的RGB彩色数据图片,如上图所示。图片的尺寸为32X32,共50000张训练图片和10000张测试图片。

项目代码:

Tensorflow提供的一些代码

使用cifar10_download.py即可下载CIFAR-10数据集的全部数据

2、直接上代码

(1)导入相关包

(2)定义函数

导入数据包,设置模型参数

权重函数

定义损失函数

TensorBoard参数概要

抽取训练数据集,cifar10_input.distorted_inputs这个很容易出现bug,cifar10_input的disto...定义不同

定义输入placeholder

第一层卷积层,3*3的卷积核,通道数为3,卷积核个数32

以上是我随便定义的几个卷积层、池化层等,一般来说数据量多的前提下,网络层数越多,准确度越高

全连接层,使用了dropout操作

定义优化器,tf.nn.in_top_k主要是用于计算预测的结果和实际结果的是否相等,返回一个bool类型的张量

创建图,开始训练

结果比较简单,只是随便的简单堆叠几层卷积层和全连接层

很多小伙伴说现在tf2.0都出来了,还需不需要学1.x,我的答案是要,现在绝大部分的科研、公司项目代码还是1.x,而且2.0大部分是采用keras接口,学会1.x后再看2.0也是非常简单的。过几天有空,会尝试使用tf2.0来搭建一个更复杂的网络,tf2.0使用大量keras接口,实现比较方便。

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1827014.html

setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)