六月 北京 | 高性能计算之GPU CUDA培训

6月22-24日三天密集式学习  快速带你入门阅读全文>

正文共1856个字,8张图,预计阅读时间12分钟。

上一篇文章我们介绍了下VGG这一个经典的深度学习模型,今天便让我们通过使用VGG开源的VGG16模型去复现一下该论文.

话不多说,直接上代码:

一、了解结构

上述文件便是我们复现VGG时候的所有文件,其中cat和pic是我们的测试图像,在这一次的代码里,因为考虑到不同人的不同设备之间的训练速度有所差异,我们一次只读取一张图片进行识别.其中,VGG16.py是我们的主要文件,在这个文件中我们复现了VGG16的网络架构,untils.py为我们输入图片预处理的程序,Nclasses.py则是我们给定的每个图像的标签,以及对应的索引值,最后的app.py则是我们的调用文件,最终我们只需要调用它即可。

二、详述代码

1、VGG16.py

代码如下:

这一部分我们是导入了常用的一些模块,这些模块不必多说,主要是VGG_MEAN这句话需要解释下,

在https://gist.github.com/ksimonyan/211839e770f7b538e2d8#file-readme-md 中他们介绍到我们输入的图像应该以平均的像素去求解,也就是最后我们需要用BGR去求解,因此我们要减去这一些像素值即可

在这里我们后续的代码都将写入到VGG16这个类当中,当前部分的操作,我们引入VGG16.npy这个二进制文件,并且遍历data_dict中的每个键,并且打印输入。

这一个部分我们是创建在前向传播中要调用的卷积核,偏置,池化层以及全连接层,大家观察代码会发现,这里的创建的结果其实和我们之前在学习卷积神经网络的时候类似,并且读起代码来也比较容易,这里需要说一下的是全连接层的建立,这里我们创建全连接层首先需要读取到该层的维度信息列表,然后我们要改变特征图的形状,在第六层将得到的多维特征进行拉伸操作,使其符合全连接层的输入即可,这里的shape中有元素[-1],表示将该维度打平到一维,实现降维的目的。

这一部分代码是实现前向传播的关键代码,这一部分代码实现了VGG16的所有结构,还记得我们刚开始所说的VGG_MEAN中要将图像处理为BGR,现在我们GBR当中的每个元素相减VGG_MEAN当中的元素,这样图片就由GBR改为BGR。

VGG16的各层参数可以参考下图所示:

2、untils.py

这一部分主要是实现了输入的图像处理,并且展现出来,主要的思路是将图像归一化后进行处理,实现结果如下图所示:

3、app.py

在这一部分,我们要做的是调用VGG16的网络结构,然后计算概率,输出概率最大的五种可能性,并且和标签一一对应,最后用柱状图画下来,表达出结果。

接着上图的测试,画出柱状图来,如下:

三、测试

1、第一组

2、第二组

3、第三组

原文链接:https://www.jianshu.com/p/90dba7544ecc

查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org

请关注人工智能LeadAI公众号,查看更多专业文章

大家都在看

LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

深度学习与TensorFlow:VGG论文复现相关推荐

  1. 深度学习与TensorFlow: VGG论文笔记

    六月 北京 | 高性能计算之GPU CUDA培训 6月22-24日三天密集式学习  快速带你入门阅读全文> 正文共3220个字,11张图,预计阅读时间15分钟. 马毅老师曾说过:"如果 ...

  2. 2_初学者快速掌握主流深度学习框架Tensorflow、Keras、Pytorch学习代码(20181211)

    初学者快速掌握主流深度学习框架Tensorflow.Keras.Pytorch学习代码 一.TensorFlow 1.资源地址: 2.资源介绍: 3.配置环境: 4.资源目录: 二.Keras 1.资 ...

  3. [GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(下)

    这是本文的最后一部分内容了,前两部分内容的文章: [GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(上) [GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复( ...

  4. [GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(中)

    上一篇文章–[GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(上)中,我们先介绍了对于图像修复的背景,需要利用什么信息来对缺失的区域进行修复,以及将图像当做概率分布采样的样本来看 ...

  5. 深度学习CV领域必读论文

    深度学习CV领域必读论文 01 深度学习CV领域划时代论文具有里程碑意义 期刊日期: NIPS-2012,Alexnet 论文名称: <ImageNet Classification with ...

  6. 深度学习与TensorFlow

    深度学习与TensorFlow DNN(深度神经网络算法)现在是AI社区的流行词.最近,DNN 在许多数据科学竞赛/Kaggle 竞赛中获得了多次冠军. 自从 1962 年 Rosenblat 提出感 ...

  7. 深度学习调用TensorFlow、PyTorch等框架

    深度学习调用TensorFlow.PyTorch等框架 一.开发目标目标 提供统一接口的库,它可以从C++和Python中的多个框架中运行深度学习模型.欧米诺使研究人员能够在自己选择的框架内轻松建立模 ...

  8. 在浏览器中进行深度学习:TensorFlow.js (四)用基本模型对MNIST数据进行识别

    2019独角兽企业重金招聘Python工程师标准>>> 在了解了TensorflowJS的一些基本模型的后,大家会问,这究竟有什么用呢?我们就用深度学习中被广泛使用的MINST数据集 ...

  9. TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络

    TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnote ...

最新文章

  1. Unicode字符集下WriteFile中文处理
  2. 小型数据中心规划和设计原则
  3. 如何和女生聊天不进入友谊区
  4. Promoting yourself and your research
  5. HDU - 1027 全排列
  6. js变量提升_一道JS变量提升题
  7. 前端学习(1620):前端系列实战课程之提取行间样式
  8. java名片_javaweb名片管理系统
  9. C++的文件读写以及python的文件读写
  10. Ubuntu镜像源下载
  11. 移植Andorid4.0.4 - 步骤及问题汇总
  12. 坦克世界没有服务器信号,坦克世界闪击战无法连接服务器怎么办 网络问题
  13. 【21天习惯养成记~~day17晚】
  14. Python3 中英文列表输出对齐
  15. 联想微型计算机2010年,2010年10月自考02277微型计算机原理及应用真题及答案
  16. iqn怎么查 linux_如何利用procfs读取iSCSI Initiator IQN信息
  17. Pulse local frame(画出光脉冲三维动态演化过程)
  18. 输出指定要求的回文日期与字符串拼接
  19. 人类会被人工智能取代吗
  20. PHP判断电脑端和手机端

热门文章

  1. java 基础编程题 5
  2. try的动词用法_go on try stop的动词用法 - 英语讨论网
  3. 电脑常见问题_电脑常见问题解决方法(二)
  4. 位运算之二进制中1的个数
  5. 关于ios在H5页面长按识别二维码无效
  6. https://www.npmjs.com/package/lifecycle-webpack-plugin
  7. WPF Bind 绑定
  8. selenium 安装报错问题
  9. 如何使用指向类的成员函数的指针(详解!)
  10. 关于@SuppressWarnings(unchecked)注解