TensorFlow 之基于Inception V3的多标签分类 retrain
2017-08-08 22:20
731 查看
本文参考http://blog.csdn.net/Numeria/article/details/73604339
以及参考开源代码github链接: https://github.com/BartyzalRadek/Multi-label-Inception-net
本文采用南京大学开源的数据集(点击下载:http://lamda.nju.edu.cn/files/miml-image-data.rar)
数据集中含有2000张图像,5个类,分别为 desert, mountains, sea, sunset , trees。
下载后包含两个压缩文件包:original.rar 以及 processed.rar
original.rar 中包含了2000张图像数据
示例如下:
processed.rar 中包含了图像对应的标签信息。
解压后为matlab文件格式。
本文需要的是标签矩阵 target.mat
示例如下:
2.转换标签文件
本文需将 target.mat 转换为txt格式的标签文件。
对于每一张图像 imagename.jpg, 对应生成一个 imagename.jpg.txt 的标签文件,文件中每一行为图像所含标签。
对于下图左边的图像,有标签 desert,mountains,则对应的标签文件内容如右边所示。
对于 target.mat 文件,转化的matlab脚本如下:
处理后的文件为:https://pan.baidu.com/s/1pLoeC6R
1.将包含所有图像的文件夹放入 Multi-label-Inception-net/images 目录下
2.将labeldir目录拷贝到 Multi-label-Inception-net 目录下,改名为image_labels_dir(替换原同名目录)
3.运行 python 脚本
开始训练
训练完成
调用如下:
得到输出结果:
以及参考开源代码github链接: https://github.com/BartyzalRadek/Multi-label-Inception-net
一、准备训练数据
1.下载数据集本文采用南京大学开源的数据集(点击下载:http://lamda.nju.edu.cn/files/miml-image-data.rar)
数据集中含有2000张图像,5个类,分别为 desert, mountains, sea, sunset , trees。
下载后包含两个压缩文件包:original.rar 以及 processed.rar
original.rar 中包含了2000张图像数据
示例如下:
processed.rar 中包含了图像对应的标签信息。
解压后为matlab文件格式。
本文需要的是标签矩阵 target.mat
示例如下:
2.转换标签文件
本文需将 target.mat 转换为txt格式的标签文件。
对于每一张图像 imagename.jpg, 对应生成一个 imagename.jpg.txt 的标签文件,文件中每一行为图像所含标签。
对于下图左边的图像,有标签 desert,mountains,则对应的标签文件内容如右边所示。
对于 target.mat 文件,转化的matlab脚本如下:
load('miml data.mat'); if ~exist('labeldir') mkdir labeldir; end LabelDir='labeldir/'; for i = 1:2000 stri = num2str(i); label_file_name = [LabelDir stri '.jpg.txt']; fid = fopen(label_file_name,'w'); for j = 1:5 if targets(j,i)==1 fprintf(fid,'%s\n',class_name{j}); end end fclose(fid); end
处理后的文件为:https://pan.baidu.com/s/1pLoeC6R
二、多标签分类
本文利用已训练好的权重,将最后一层替换为自定义的数据集的类别数,前面权值不变,只训练最后的一层。1.将包含所有图像的文件夹放入 Multi-label-Inception-net/images 目录下
2.将labeldir目录拷贝到 Multi-label-Inception-net 目录下,改名为image_labels_dir(替换原同名目录)
3.运行 python 脚本
python retrain.py \ --bottleneck_dir=bottlenecks \ --how_many_training_steps 500 \ --model_dir=model_dir \ --output_graph=retrained_graph.pb \ --output_labels=retrained_labels.txt \ --summaries_dir=retrain_logs \ --image_dir=images
开始训练
训练完成
三、图像预测
利用脚本label_image.py 进行图像预测调用如下:
python label_image.py images/image/4.jpg
得到输出结果:
相关文章推荐
- TensorFlow 之基于Inception V3的多标签分类 retrain
- 基于本体的单标签分类
- Keras基于TensorFlow实现的简单分类问题
- 基于PredictionIO的推荐引擎打造,及大规模多标签分类探索
- Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说
- 基于live555的rtsp 客户端模块优化 标签: live555rtsp客户端 2014-11-14 09:24 980人阅读 评论(0) 收藏 举报 分类: 流媒体(16) 版权声明:本文
- TensorFlow 多分类标签转换成One-hot
- Chinese-Text-Classification,用卷积神经网络基于 Tensorflow 实现的中文文本分类。
- Tensorflow学习教程------lenet多标签分类
- 基于TensorFlow和Keras的垃圾分类模型
- 基于RNN的文本分类模型(Tensorflow)
- Caffe实践 - 基于VGG16 多标签分类的训练与部署
- 【TensorFlow系列】【七】单图片多标签的分类网络搭建与训练
- 手把手教你如何用 TensorFlow 实现基于 DNN 的文本分类
- 基于Tensorflow学习神经网络- NN(神经网络)发展-分类
- tensorflow实现基于LSTM的文本分类方法
- 基于Inception v3进行单标签训练
- 基于Tensorflow的英文评论二分类CNN模型
- tensorflow实现基于LSTM的文本分类方法
- CNN中文文本分类-基于TensorFlow实现