模型介绍参看:博文

VGG16

迁移模型

先看看标准答案

import  tensorflow as tf
from    tensorflow import kerasbase_model = keras.applications.VGG16(weights='imagenet')
base_model.summary()

自建模型

import  tensorflow as tf
from    tensorflow import keras
from    tensorflow.keras import layers, models, Input
from    tensorflow.keras.models import Model
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Dropoutdef VGG16(nb_classes, input_shape):input_tensor = Input(shape=input_shape)# 1st blockx = Conv2D(64, (3,3), activation='relu', padding='same',name='conv1a')(input_tensor)x = Conv2D(64, (3,3), activation='relu', padding='same',name='conv1b')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool1')(x)# 2nd blockx = Conv2D(128, (3,3), activation='relu', padding='same',name='conv2a')(x)x = Conv2D(128, (3,3), activation='relu', padding='same',name='conv2b')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool2')(x)# 3rd blockx = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3a')(x)x = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3b')(x)x = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3c')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool3')(x)# 4th blockx = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4a')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4b')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4c')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool4')(x)# 5th blockx = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5a')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5b')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5c')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool5')(x)# full connectionx = Flatten()(x)x = Dense(4096, activation='relu',  name='fc6')(x)# x = Dropout(0.5)(x)x = Dense(4096, activation='relu', name='fc7')(x)# x = Dropout(0.5)(x)output_tensor = Dense(nb_classes, activation='softmax', name='fc8')(x)model = Model(input_tensor, output_tensor)return modelmodel=VGG16(1000, (224, 224, 3))
model.summary()

VGG19

相比VGG16在3-5block分别增加了一层卷积层

迁移模型

import  tensorflow as tf
from    tensorflow import kerasbase_model = keras.applications.VGG19(weights='imagenet')
base_model.summary()

自建模型

import  tensorflow as tf
from    tensorflow import keras
from    tensorflow.keras import layers, models, Input
from    tensorflow.keras.models import Model
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Dropoutdef VGG19(nb_classes, input_shape):input_tensor = Input(shape=input_shape)# 1st blockx = Conv2D(64, (3,3), activation='relu', padding='same',name='conv1a')(input_tensor)x = Conv2D(64, (3,3), activation='relu', padding='same',name='conv1b')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool1')(x)# 2nd blockx = Conv2D(128, (3,3), activation='relu', padding='same',name='conv2a')(x)x = Conv2D(128, (3,3), activation='relu', padding='same',name='conv2b')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool2')(x)# 3rd blockx = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3a')(x)x = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3b')(x)x = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3c')(x)x = Conv2D(256, (3,3), activation='relu', padding='same',name='conv3d')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool3')(x)# 4th blockx = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4a')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4b')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4c')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv4d')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool4')(x)# 5th blockx = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5a')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5b')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5c')(x)x = Conv2D(512, (3,3), activation='relu', padding='same',name='conv5d')(x)x = MaxPooling2D((2,2), strides=(2,2), name = 'pool5')(x)# full connectionx = Flatten()(x)x = Dense(4096, activation='relu',  name='fc6')(x)# x = Dropout(0.5)(x)x = Dense(4096, activation='relu', name='fc7')(x)# x = Dropout(0.5)(x)output_tensor = Dense(nb_classes, activation='softmax', name='fc8')(x)model = Model(input_tensor, output_tensor)return modelmodel=VGG19(1000, (224, 224, 3))
model.summary()

tensorflow2.0 Keras VGG16 VGG19 系列 代码实现相关推荐

  1. Tensorflow2.0(Keras)转换TFlite

    Tensorflow 2.0(Keras)转换TFlite 目录 Tensorflow 2.0(Keras)转换TFlite 1. TensorFlow Lite 指南 (1)TensorFlow L ...

  2. TensorFlow2.0: keras.metrics的使用

    keras.metrics中有两个api函数可以简化准确率acc和损失值loss的计算.其分别是metrics.Accuracy( )和metrics.Mean( ). 一.建立测量尺 #建立测量尺 ...

  3. TensorFlow2.0 Keras多层感知器模型imdb情感分类

    # 下载 import urllib.request import os import tarfileurl = 'http://ai.stanford.edu/~amaas/data/sentime ...

  4. 【tensorflow2.0】34.word2vec作业代码

    #没有包的可以先下载 pip install gensim pip install jiebaimport pandas as pd import numpy as np from gensim.mo ...

  5. TensorFlow2.0 Guide官方教程 学习笔记20 -‘Effective TensorFlow 2‘

    本笔记参照TensorFlow Guide官方教程,主要是对'Effictive TensorFlow 2'教程内容翻译和内容结构编排,原文链接:Effictive TensorFlow 2 高效的T ...

  6. 利用TensorFlow2.0为胆固醇、血脂、血压数据构建时序深度学习模型(python完整源代码)

    背景数据描述 胆固醇.高血脂.高血压是压在广大中年男性头上的三座大山,如何有效的监控他们,做到早发现.早预防.早治疗尤为关键,趁着这个假期我就利用TF2.0构建了一套时序预测模型,一来是可以帮我预发疾 ...

  7. 【TensorFlow2.0】数据读取与使用方式

    大家好,这是专栏<TensorFlow2.0>的第三篇文章,讲述如何使用TensorFlow2.0读取和使用自己的数据集. 如果您正在学习计算机视觉,无论你通过书籍还是视频学习,大部分的教 ...

  8. tensorflow2.0 GPU 版本安装测试教程及新特性初探

    安装与测试 TensorFlow2.0安装: pip install tensorflow-gpu==2.2.0 -i https://pypi.douban.com/simple/ conda in ...

  9. 人工智能实践:Tensorflow2.0笔记 北京大学MOOC(2-1)

    人工智能实践:Tensorflow2.0笔记 北京大学MOOC(2-1) 说明 一.神经网络的优化 1. 神经网络复杂度 2. 学习率策略 2.1 学习率概念回顾 2.2 动态调整学习率 2.2.1 ...

最新文章

  1. matlab 罗盘图与羽毛图
  2. protobuf和thrift对比
  3. 天翼云从业认证(2.3)云计算的价值和核心技术。
  4. uploadify在火狐下上传不了的解决方案,java版(Spring+SpringMVC+MyBatis)详细解决方案
  5. Exadata上oracle binary的make日志
  6. 为什么要有周考?周考是用来干什么的?
  7. linux多用户运行同一程序_linux系统中CentOS有哪些优势,让它长盛不衰?
  8. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...
  9. 大数据分析中常见的分析模型
  10. [译]Chipmunk教程 - 5 跟踪球体的运动
  11. 《数字电子技术基础》4.3 若干常用的组合逻辑电路 学习笔记
  12. 误将系统装入D盘 原来数据如何恢复
  13. python实现bt下载器_使用Python实现BT种子和磁力链接的相互转换
  14. google map 谷歌地图 更改当前定位图标icon大头钉小蓝点
  15. PHP阅读文章送积分规则代码,php实现微信公众号文章付费阅读功能的代码分享
  16. vue中使用CSS预处理器
  17. kali虚拟机安装提示安装系统步骤失败
  18. 多媒体元素 video audio 兼容性 controls muted loop
  19. BUUCTF 每日打卡 2021-4-14
  20. HTML练习—东风破

热门文章

  1. .NET Framework 3.5弹出错误代码0x800f0954解决方法
  2. R语言-单个总体均值的t检验
  3. 《定格动画拍摄工具》Stop-Motion Animation
  4. Photoshop-软件安装
  5. 如何使用数字孪生和人工智能优化制造
  6. 音乐第三方(腾讯正版曲库直通车)
  7. Python全栈工程师-第14周-韦玮-专题视频课程
  8. 常用的手机号,身份号正则校验
  9. 中国联通2018年全年净利102亿元 同比增长458%
  10. 8145v5 参数_参数估计