VGG网络学习

VGG


网络结构


  • 创新点(相比于AlexNet)

采用连续的n个3 x 3的卷积核代替AlexNet中的较大卷积核,比如可以用3个3 x 3的卷积核代替一个7 x 7的卷积核,可以通过图像理解(参考资料中),也可以通过公式计算,比如8 x 8的图像经过一层卷积(步长为1,padding为0)之后输出为6 x 6的图像,再经过一层卷积之后输出为4 x 4,再经过一层之后输出为2 x 2的图像,效果跟一次7 x 7的效果一样。

  • VGG-16

由13个卷积层,5个池化层,3个全连接层组成,其中卷积核都为3 x 3,池化用的都是2 x 2。

  • VGG-19

由16个卷积层,5个池化层,3个全连接层组成。

代码


  • 环境

自身电脑的环境为,tensorflow-cpu 2.4.0,numpy 1.19.5 ,scipy 1.1.0

  • 说明

由于tensorflow2.0以上版本的相比于tensorflow2.0以下版本的变化挺大的,直接用2.0以上版本的运行,可能会出问题,问题如下:module tensorflow has no attribute truncated_normal 可以通过添加如下代码:(1)在import下添加tf.compat.v1.disable_eager_execution() ,(2)修改tf.truncated_normaltf.compat.v1.random.truncated_normal

  • 运行截图(检测图片为黄鼠狼)

如有问题,欢迎交流;如有错误,欢迎指正。

原文地址:https://www.cnblogs.com/cxwpluto/p/14664597.html