Hellcatzm / TransforLearning_TensorFlow

使用预训练好的InceptionV3模型对自己的数据进行分类,用这个代码的同学希望可以给一个star

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

迁移学习TransforLearning

『TensorFlow』迁移学习

1、相关下载

数据和预训练模型下载:

curl -O http://download.tensorflow.org/example_images/flower_photos.tgz
wget https://storage.googleapis.com/download.tensorflow.org/models/inception_dec_2015.zip

2、项目简介

本项目将使用ImageNet数据集预训练好的InceptionV3网络结构舍弃后面全连接层,使用了新的分类器对花朵数据进行了迁移学习,迁移学习对于这种中等偏小的数据集又为合适。

项目文件


inception_dec_2015:模型存放文件夹,下载后解压模型文件就会生成
flower_photos:文件目录,下面包含各个子类的文件夹,如果使用自己的数据的话,将自己数据各个类别分别放入一个文件夹,文件夹名字是类的字符串名字即可,将这些文件夹放入flower_photos文件夹内即可
TransforLearning.py:主程序,用于训练,不过注意,可训练文件格式应该是jpg(jpeg、JPG等等写法均可)
TransferLearning_reload.py:用于预测,仅能进行单张图片类别预测,需要进入文件中(21行左右),将image_path修改为自己的图片路径
其他文件夹为程序自己生成,不需要提前新建
文件夹Keras_TransforLearning MXnet_TransforLearning 分别展示了使用Keras和MXNet快速进行分类任务的接口调用Demo,由于使用的是高级API,可以极快上手,值得学习

运行命令

首先训练,

python TransforLearning.py

等待训练完成后(不等也行,不过需要保证已经有训练中间生成模型被保存了),预测一张自己的图片,

python TransferLearning_reload.py

命令很简单,之后就会输出预测信息,如下格式,
第一行表示分类的类别,这里是根据图片文件夹的名字来的,可以看到和之前的项目文件示意图中flower_photos的子文件夹名称一一对应;第二行为分类结果,每一个值和第一行对应位置的类别相对应,比如这个结果就是分类为daisy的概率为0.23

About

使用预训练好的InceptionV3模型对自己的数据进行分类,用这个代码的同学希望可以给一个star


Languages

Language:Jupyter Notebook 63.9%Language:Python 36.1%