【TensorFlow-CNN】LeNet5神经网络简介附TensorFlow源代码实现

一、前沿
本文代码是我在学习TensorFlow时写的第一个代码,主要是根据LeNet模型编写,但是自距此模型问世以来,深度学习领域发生了很大变化,所以其中某些方法和参数已经有所改变,目前此模型通过在GPU上训练,精确度可以达到98%左右,下面我将详细介绍Tensorflow中的实现,本教程适合TensorFlow的初学者,主要有以下特点:
  • 使用Mnist数据集
  • 测试精度可达98%
  • 可视化输出
  • 兼具卷积层、pooling(池化)层、dropout层、全连接层、softmax layer
  • 提供两个实现此模型原始代码
代码实现:
这个仓库中有两个文件,基础版本(v1.0) 和 提高版本(v2.0)
  • python LeNet_mnist_v1.0.py
  • 基础版本,使用tf.nn.***函数实现,注重构造网络中的细节实现,容易理解CNN的运行原理,从细节理解CNN结构。
  • python LeNet_mnist_v2.0.py
  • 提高版本,使用tf.layer.***函数实现,使用tf框架提供的集成函数,特点是构造方便,宏观上更好理解,但是没有展现细节。
二、模型结构

三、代码实现简介
(1)定义的超参数:dropout层的保留概率/每次提取图片数目/迭代次数
train_keep_prop = 0.5/batch_size = 100/epcoh = 1000
可以更改这些参数,以改善训练结果。
(2)模型结构
input - 输入数据:Mnist
数据集被分成两部分:60000 行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test),每张图片是 28*28*1,经过reshape后,维度格式为:[28,28,1]
conv1 - 卷积层:
卷积层:kenel:5*5*32,strides = 1,padding = SAME -->> [28,28,32]
池化层:ksize: 2*2 ,strides = 2 -->> [14,14,32]
drop层:keep_prop = train_keep_prop -->> [14,14,32]
conv2 - 卷积层:
卷积层:kenel:5*5*64,strides = 1,padding = SAME -->> [14,14,64]
池化层:ksize: 2*2 ,strides = 2 -->> [7,7,64]
drop层:keep_prop = train_keep_prop -->> [7,7,64]
Flaten层:
将[7,7,64]矩阵形式 -->> [7*7*64]向量形式
Fucn1 - 全连接层:
权重:[7*7*64,1024]
Fucn2 - 全连接层:
权重:[1024,10]
Softmax层:
输出one-hot向量,对应每一类的概率。
四、代码实现
这个仓库中有两个文件,基础版本(v1.0) 和 提高版本(v2.0)
  • python LeNet_mnist_v1.0.py
基础版本,使用tf.nn.***函数实现,注重构造网络中的细节实现,容易理解CNN的运行原理,从细节理解CNN结构。
  • python LeNet_mnist_v2.0.py
提高版本,使用tf.layer.***函数实现,使用tf框架提供的集成函数,特点是构造方便,宏观上更好理解,但是没有展现细节。
五、执行程序
执行命令: python LeNet_mnist_v1.0.py
执行命令:python LeNet_mnist_v2.0.py
六、训练结果

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Faster R-CNN是一种用于目标检测的深度学习模型,它结合了区域建议网络(Region Proposal Network)和目标检测网络(Detection Network)。要在TensorFlow实现Faster R-CNN模型,首先需要编写区域建议网络和目标检测网络的代码。 在TensorFlow实现区域建议网络,可以使用卷积神经网络CNN)来提取特征,并结合锚框(anchor boxes)来生成候选区域。在目标检测网络的实现中,可以使用卷积神经网络和全连接来对候选区域进行分类和边界框回归。 除了实现区域建议网络和目标检测网络的代码,还需要编写损失函数、优化器和训练过程的代码。损失函数通常包括目标检测网络的分类损失和边界框回归损失,优化器可以选择Adam或者SGD等算法,训练过程则是通过反向传播来更新模型参数。 在实现Faster R-CNN模型的过程中,还需要考虑如何处理数据集、如何进行模型评估和部署等问题。可以使用TensorFlow中的数据读取和预处理工具来处理数据集,同时可以使用评估指标来评估模型的性能,并通过TensorFlow Serving等工具将模型部署到生产环境中。 总之,要在TensorFlow实现Faster R-CNN模型,需要编写区域建议网络和目标检测网络的代码,并配合损失函数、优化器、训练过程等组件,同时还需要考虑数据处理、模型评估和部署等方面的问题。通过认真地实现这些部分,就可以在TensorFlow中成功实现Faster R-CNN模型

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值