MXNET框架基础2-CV
一、 识别热狗任务
原理背景
源数据,imageNet,1000万数据,1000类,里面包含hotdog
迁移学习,transfer learning,从源数据集学习到的知识迁移到目标数据集。“知识”就是在源数据集上训练的模型可以抽取通用的图像特征。
帮助识别 边缘,纹理,形状,和物体组成等。
迁移学习常用技术-微调 fine tuning
1)源数据训练源模型
2)构建目标模型,除了输出层外的所有模型参数都是使用源模型。
3)输出层为输出层大小为 目标数据集类别个数的 输出层。
4)源模型参数(除输出层)+输出层训练
1、源模型为ResNet
目标数据集为 千张热狗图片和 一千张 非热狗图片。
2、获取目标数据集
热狗数据集
https://apache-mxnet.s3-accelerate.amazonaws.com/gluon/dataset/hotdog.zip
import d2lzh as d2l from mxnet import gluon from mxnet import init from mxnet import nd from mxnet.gluon import data as gdata from mxnet.gluon import loss as gloss from mxnet.gluon import model_zoo from mxnet.gluon import utils as gutils import os import zipfile data_dir = "../dataset" train_imgs = gdata.vision.ImageFolderDataset(os.path.join(data_dir, "hotdog/train")) test_imgs = gdata.vision.ImageFolderDataset(data_dir, "hotdog/test") # 查看样本 hotdogs = [train_imgs[i][0] for i in range(8)] not_hotdogs = [train_imgs[-i-1][0] for i in range(8)] d2l.show_images(hotdogs, not_hotdogs, 2,8, scale=1.4)
提问:
1、不断提升finetune网络的学习率,准确率什么变化?