【第10天】训练模型-预训练模型

摘要

  1. Keras Application
  2. 预训练模型种类
  3. 模型选用考量
  4. 选用结果

内容

  1. Keras Application

    1.1 简介:

    • ILSVRC竞赛每年从ImageNet抽取样本,其中图像识别的训练集,包括1000种分类。详细分类请参考「ImageNet-1000种物体对应编号」
    • Keras Application收录历年竞赛的深度学习模型,其中带有预训练权重,只要以API呼叫,就能迅速进行迁移学习。

    1.2 用途:

    • 预测(如:以VGG16模型对新资料集标签,用於资料前处理筛选犬类的照片

    • 特徵萃取(如:以IncetionV3模型,从房间摆设照片萃取特徵,用於判断摆设风格。)

    • 微调(如:以Xception模型,变更输入层与输出层後重新训练模型,用於辨识猫狗照片)

    # 载入keras模型(变更图片输入格式)
    model = DenseNet201(include_top=False,
                  weights='imagenet',
                  input_tensor=Input(shape=(80, 80, 3)))
    # 定义输出层(变更输出层类别数)
    x = model.output
    x = GlobalAveragePooling2D()(x)
    predictions = Dense(800, activation='softmax')(x)
    model = Model(inputs=model.input, outputs=predictions)
    
  2. 预训练模型种类

    2.1 种类

    图片来自於:https://keras.io/api/applications/

    2.2 说明

    • Size:预训练模型大小。(与模型部署有关)
    • TOP-1 Accuracy:一张照片第1次辨识,正确分类的准确率。
    • TOP-5 Accuracy:一张照片辨识5次,正确分类的准确率。
    • Parameters(参数):数量越多,就需要更多的运算时间。
    • Time per inference step:CPU与GPU推论的时间。在(batch size, batch)=(30, 20)的情况下,重复测试10次的平均时间。
  3. 模型选用考量:

    3.1 推理速度:因为正式比赛时,主办方呼叫手写中文字辨识API後,参赛者需要在1秒内回传模型的预测结果。故选择Time per inference step较少的。

    3.2 准确度:Top-5 Accuracy、Top-1 Accuracy高。

    3.3 模型启用时间短:Size小(轻量化模型)。

    3.4 训练时间:参数少。

  4. 选用结果:
    4.1 依据3的考量,我们最终挑选出4个模型,作为预训练模型。

    4.2 此外,我们挑选与InceptionResNet发表在同一篇论文的InceptionV4,一同加入比较。


小结

下一章,目标是:「介绍Keras Application的重要函数」。

让我们继续看下去...


参考资料

  1. Keras Application_中文
  2. Keras Application_英文

<<:  24. 解释 immutable / immutability

>>:  Chpater3 今天来学习画一棵树(IV)浅谈效能和演算法,以迭代取代递回吧!

【Day3】 Cyber Kill Chain 与 MITRE ATT&CK

哈罗~ 今天要跟大家介绍网路攻击链(Cyber Kill Chain), 自己在刚开始学习资讯安全时...

Day 1 前言

刚转职成功的前端菜鸡第一次参赛,原本想简单开心的每天写一个小小的专案练习 JavaScript, C...

Angular#1 安装环境

若有无法执行,请讯息或留言。 感谢你让我有修正的机会 :) Angular 1. Visual St...

Day 16: 物件导向设计、函数式设计 (待改进中... )

「什麽是物件导向? 对软件架构师来说: 物件导向是透过使用多型(Polymorphism) 来获得...

iOS APP 开发 OC 第五天, OC 数据类型

tags: OC 30 day OC 有哪些数据类型呢? oc 中支援所有C语言的数据变量。 基本数...