Task2-基于MobileaNet的预训练模型优化

本文介绍了如何使用Slim库对MobileNet_v2_0.75_224预训练模型进行优化,包括下载和制作tfrecord数据集,调整模型以适应448x448图像,解决在训练过程中遇到的问题,如图像尺寸预处理、logit层调整和模型的存储与导入。
摘要由CSDN通过智能技术生成

##项目背景

  • mobilenet_v2_0.75_224 预训练模型是基于224224的训练集图片训练而来,需要通过imagenet 100M数据集把模型训练成适用于448448的预训练模型

##思考的问题
1、预训练模型怎么使用和导入
2、如何在服务器上训练
3、如何把训练集弄出来
4、如何评价训练效果,先用448448的图像去224224的预训练模型中查看效果指标,定一个baseline。

##思路
slim库封装好了所有数据下载和train model的接口,直接使用即可。

  • https://blog.csdn.net/angelbeats11/article/details/79009858
  • 1、按照slim文档下载并制作tfrecord的数据集,这里是flower
  • 2、按照slim文档下载pretrain的model,这里是 Inceptionv3 和 mobilenetv2。选取inceptionv3是因为slim的finetune case就是基于inceptionv3实现的,所以先跑一遍。
  • 3、完成inceptionv3在flower上的finetune
  • 4、完成mobilenetv2在flower上的finetune(遇到下列问题1、2、3)
  • 5、下载imagenet数据集,并转换成tfrecord,在服务器上finetune

##遇到的问题

  • 1 在 train_image_classifer.py 中 mobilenet网络未设置 default_image_size,所以需要制定 train_image_size。这个可以通过对比slim->nets下其他网络的代码获知。因此需要制定 train_image_size。
  • 2 pretrain的model是 mobilenet_v2_0.5,需要在nets_factory中增加 v2_0.5的映射,这样才能找到对应的网络文件。
  • 在这里插入图片描述
  • 3 在slim中提供的 pretrain model都是基于 imagenet 2012 实现的,默认输出的logit layer 是 2048*1001,如果需要在其他训练集上 finetune(如这里使用的是flower数据集,只有5类),需要通过 labels_offset 参数进行调整,labels_offset = dataset.num_classes - network.num_clasess = 5-1001 = -996
  • 4 imagenet官网(http://image-net.org)打不开,因此无法用slim脚本直接执行,需要基于已经下载好的imagenet jpeg文件,制作tfrecord文件,然后调用slim 的脚本finetune。参考
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值