在讲解作业之前,插一个很重要的知识点,也是我们作业中的一个重要的知识点,用tf.keras.applications加载预训练模型。

我们可以发现,tf.keras.applications下有很多可以直接使用的预训练模型,其中就有很多我们前两天复现过的结构,下边我们就以mobilenet来演示一下如何使用这个api。

tf.keras.applications.MobileNet(input_shape=None, alpha=1.0, depth_multiplier=1, dropout=0.001,include_top=True, weights='imagenet', input_tensor=None, pooling=None,classes=1000, classifier_activation='softmax', **kwargs
)
'''
input_shape: 可选,输入尺寸元组,仅当 include_top=False 时有效,否则输入形状必须是 (224, 224, 3)(channels_last 格式)或 (3, 224, 224)(channels_first 格式)。它必须为 3 个输入通道,且宽高必须不小于 32,比如 (200, 200, 3) 是一个合法的输入尺寸。
alpha: 控制网络的宽度:
如果 alpha < 1.0,则同比例减少每层的滤波器个数。
如果 alpha > 1.0,则同比例增加每层的滤波器个数。
如果 alpha = 1,使用论文默认的滤波器个数
depth_multiplier: depthwise卷积的深度乘子,也称为(分辨率乘子)
dropout: dropout 概率
include_top: 是否包括顶层的全连接层。
weights: None 代表随机初始化, 'imagenet' 代表加载在 ImageNet 上预训练的权值。
input_tensor: 可选,Keras tensor 作为模型的输入(比如 layers.Input() 输出的 tensor)。
pooling: 可选,当 include_top 为 False 时,该参数指定了特征提取时的池化方式。 None 代表不池化,直接输出最后一层卷积层的输出,该输出是一个四维张量。'avg' 代表全局平均池化(GlobalAveragePooling2D),相当于在最后一层卷积层后面再加一层全局平均池化层,输出是一个二维张量。 'max' 代表全局最大池化
classes: 可选,图片分类的类别数,仅当 include_top 为 True 并且不加载预训练权值时可用。
'''model = tf.keras.applications.MobileNetV2(include_top=False, weights="imagenet")inputs = tf.keras.layers.Input(shape=(224, 224, 3))x = model(inputs)  # 此处x为MobileNetV2模型去处顶层时输出的特征相应图。x = tf.keras.layers.GlobalAveragePooling2D()(x)#mobilenet的输出是千分类,这里我们修改为二分类outputs = tf.keras.layers.Dense(2, activation='softmax',use_bias=True, name='Logits')(x)model = tf.keras.models.Model(inputs=inputs, outputs=outputs)

【tensorflow2.0】29.tf.keras.applications相关推荐

  1. 【TensorFlow2.0】以后我们再也离不开Keras了?

    TensorFlow2.0 Alpha版已经发布,在2.0中最重要的API或者说到处都出现的API是谁,那无疑是Keras.因此用过2.0的人都会吐槽全世界都是Keras.今天我们就来说说Keras这 ...

  2. 【TensorFlow2.0】如何搭建网络模型?

    大家好,这是专栏<TensorFlow2.0>的第四篇文章,讲述网络模型的搭建. 我们知道在不考虑输入层的情况下,一个典型的卷积神经网络通常由若干个卷积层.激活层.池化层及全连接层组成,无 ...

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

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

  4. fit函数 model_【Tensorflow2.0】7、全流程model.fit模型训练方法

    第一种方法直接用keras的fit方法,以fashion mnist为例 本文包括一个完整的深度学习模型构建过程.有tf.data读数据集的方法:使用keras callbacks来实现checkpo ...

  5. 【TensorFlow2.0】(7) 张量排序、填充、复制、限幅、坐标选择

    各位同学好,今天和大家分享一下TensorFlow2.0中的一些操作.内容有: (1)排序 tf.sort().tf.argsort().top_k():(2)填充 tf.pad():(3)复制 tf ...

  6. 【TensorFlow2.0】(6) 数据统计,范数、最值、求和、均值、最值位置、唯一值、张量比较

    各位同学好,今天和大家分享一下TensorFlow2.0中的数据分析操作.内容有: (1)范数 tf.norm():(2)最值 tf.reduce_min(), tf.reduce_max()(3)求 ...

  7. 【TensorFlow2.0】(5) 数学计算、合并、分割

    各位同学好,今天和大家分享一下TensorFlow2.0中的数学运算方法.合并与分割.内容有: (1)基本运算:(2)矩阵相乘:(3)合并 tf.concat().tf.stack():(4)分割 t ...

  8. 【TensorFlow2.0】(4) 维度变换、广播

    各位同学好,今天我和大家分享一下TensorFlow2.0中有关数学计算的相关操作,主要内容有: (1) 改变维度:reshape():(2) 维度转置:transpose():(3) 增加维度:ex ...

  9. 【TensorFlow2.0】(3) 索引与切片操作

    各位同学好,今天我和大家分享一下TensorFlow2.0中索引与切片.内容有: (1) 给定每一维度的索引来获取数据:(2) 切片索引:(3) 省略号应用:(4) tf.gather() 方法:(5 ...

最新文章

  1. javaweb学习总结(四)——Http协议
  2. node oracle linux 安装,Linux 下 nodejs 使用官方oracledb库连接数据库 教程
  3. HiveQL之Sort by、Distribute by、Cluster by、Order By详解
  4. flume 集群datanode节点失败导致hdfs写失败(转)
  5. 为不同的屏幕尺寸提供不同的图片(为那些没有必要下载全尺寸大图的设备节省带宽)...
  6. 算法题目——Problem A 二进制(北邮机试)
  7. window mysql集群视频_windows7实现mysql集群cluster-mysql簇
  8. C++:利用sort()对vector中的数据自定义排序
  9. Primefaces,Spring 4 with JPA(Hibernate 4 / EclipseLink)示例教程
  10. 如何解决GBK的编码的文件中的中文转换成为UTF-8编码的文件而且不乱码
  11. matlab的图像滤波,Matlab实现图像滤波
  12. 镜像miracast投屏软件_miracast投屏下载
  13. bpe分词算法的原理以及在机器翻译中的应用
  14. Show一下拿的奖杯
  15. 两年数据对比柱形图_2018年、2019年的数据对比图!想学习这种对比图的做法!安排...
  16. Visitor パターン
  17. 表达式转换(中缀转后缀)
  18. 漫反射辐照——并不是很完全的翻译
  19. 计算机专业的创意文案,抖音创意文案大全
  20. I2C通讯过程中SDA被一直拉低

热门文章

  1. 【解决方法】hexo g 报错 OperationalError: EPERM: operation not permitted, unlink ...
  2. js打开服务器word文件,javascript打开word文档的方法
  3. yxy小蒟蒻的201112总结
  4. 程序需求分析 | 假设你在卖铅笔
  5. 计蒜客 蒜头君学英语
  6. 华为hicar支持车型列表_华为重申不造车:谁再建言造车调岗处分
  7. 蚂蚁员工发帖:硕士毕业7年,年薪百万,150万期权
  8. sql给表添加多个字段
  9. 文章数据分析与自动分类
  10. Kubernetes Deployment