将训练集构建成ImageNet模型
以下程序实现将训练集构建为ImageNet模型,训练集图片为56个民族
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter; public class createTxt {
public static void createClassInd(){//56个民族编号及名称
FileOutputStream fout;
try {
fout = new FileOutputStream("E:\\resourse\\InnovationFund\\file\\classInd.txt");//保存在该文件中
PrintWriter pwr = new PrintWriter(fout);
for (int i = 1; i < 57; i++) {
pwr.print(i);
pwr.print(" ");
switch(i){
case 1:
pwr.print("han");
break;
case 2:
pwr.print("hui");
break;
case 3:
pwr.print("zhuang");
break;
case 4:
pwr.print("zang");
break;
case 5:
pwr.print("yao");
break;
case 6:
pwr.print("yugu");
break;
case 7:
pwr.print("yi");
break;
case 8:
pwr.print("xibo");
break;
case 9:
pwr.print("weiwuer");
break;
case 10:
pwr.print("li");
break;
case 11:
pwr.print("wa");
break;
case 12:
pwr.print("tujia");
break;
case 13:
pwr.print("tu");
break;
case 14:
pwr.print("tataer");
break;
case 15:
pwr.print("tajike");
break;
case 16:
pwr.print("shui");
break;
case 17:
pwr.print("sala");
break;
case 18:
pwr.print("qiang");
break;
case 19:
pwr.print("pumi");
break;
case 20:
pwr.print("nu");
break;
case 21:
pwr.print("naxi");
break;
case 22:
pwr.print("miao");
break;
case 23:
pwr.print("menggu");
break;
case 24:
pwr.print("menba");
break;
case 25:
pwr.print("maonan");
break;
case 26:
pwr.print("man");
break;
case 27:
pwr.print("luoba");
break;
case 28:
pwr.print("keerkezi");
break;
case 29:
pwr.print("wuzibieke");
break;
case 30:
pwr.print("she");
break;
case 31:
pwr.print("mulao");
break;
case 32:
pwr.print("susu");
break;
case 33:
pwr.print("lagu");
break;
case 34:
pwr.print("jinuo");
break;
case 35:
pwr.print("jing");
break;
case 36:
pwr.print("hezhe");
break;
case 37:
pwr.print("hasake");
break;
case 38:
pwr.print("hani");
break;
case 39:
pwr.print("qilao");
break;
case 40:
pwr.print("gaoshan");
break;
case 41:
pwr.print("ewenke");
break;
case 42:
pwr.print("eluosi");
break;
case 43:
pwr.print("elunchun");
break;
case 44:
pwr.print("dulong");
break;
case 45:
pwr.print("dongxiang");
break;
case 46:
pwr.print("tong");
break;
case 47:
pwr.print("deang");
break;
case 48:
pwr.print("dai");
break;
case 49:
pwr.print("dawoer");
break;
case 50:
pwr.print("chaoxian");
break;
case 51:
pwr.print("buyi");
break;
case 52:
pwr.print("bulang");
break;
case 53:
pwr.print("baoan");
break;
case 54:
pwr.print("bai");
break;
case 55:
pwr.print("achang");
break;
case 56:
pwr.print("jingpo");
break;
} pwr.print("\r\n");//换行
}
pwr.close();
}catch(Exception e){System.out.println("ClassInd。txt失败");}
}
public static boolean noDb(String str){//不包含返回true,判断文件是否为.db文件
boolean in = true;
if(str.indexOf(".db")!=-1)//包含
in=false;
return in;
} private static void getFile(String path, PrintWriter pwr,PrintWriter tpwr,int n) throws FileNotFoundException{
//测试集:训练集:验证集=6:2:2,访问目录下文件的文件名
File file = new File(path); //图片集文件夹
// 获得该文件夹内的所有文件
File[] array = file.listFiles(); //目录下所有文件名
for(int i=0;i<array.length;i++)
{
if(array[i].isFile())//如果是文件
{
int fn=array.length*3/5;//6成
int tfn = array.length*4/5;//2成
// 只输出文件名字 if(i < fn && noDb(array[i].getName())){//测试集
//System.out.println( array[i].getName()+" "+fn);
pwr.print(array[i].getName());
pwr.print(" ");
pwr.print(n); //编号
pwr.print("\r\n");
//System.out.println( array[i].getPath());
//移动图片到指定目录
File afile = new File(array[i].getPath());
afile.renameTo(new File("E:\\resourse\\InnovationFund\\file\\test\\" + afile.getName()));
}else if(i < tfn && noDb(array[i].getName())){//训练集
tpwr.print(array[i].getName());
tpwr.print(" ");
tpwr.print(n);
tpwr.print("\r\n");
File afile = new File(array[i].getPath());
afile.renameTo(new File("E:\\resourse\\InnovationFund\\file\\trian\\" + afile.getName()));
} }
else if(array[i].isDirectory())//如果是文件夹
{
System.out.println( array[i].getName());
n++;
getFile(array[i].getPath(), pwr, tpwr, n); //递归 }
} } public static void main(String args[]) throws FileNotFoundException {
createClassInd(); String path = "E:\\一些资料\\创新基金\\民族服饰 cai";
FileOutputStream fout;
fout = new FileOutputStream("E:\\resourse\\InnovationFund\\file\\test_label.txt");
PrintWriter pwr = new PrintWriter(fout); FileOutputStream tfout;
tfout = new FileOutputStream("E:\\resourse\\InnovationFund\\file\\train_label.txt");
PrintWriter tpwr = new PrintWriter(tfout); int n=0;
getFile(path, pwr,tpwr, n);
}
}
将训练集构建成ImageNet模型的更多相关文章
- 训练集(train set) 验证集(validation set) 测试集(test set)
转自:http://www.cnblogs.com/xfzhang/archive/2013/05/24/3096412.html 在有监督(supervise)的机器学习中,数据集常被分成2~3个, ...
- 【ML入门系列】(一)训练集、测试集和验证集
训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...
- [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)
在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...
- ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set
首先三个概念存在于 有监督学习的范畴 Training set: A set of examples used for learning, which is to fit the parameters ...
- 训练集(train set) 验证集(validation set) 测试集(test set)。
训练集(train set) 验证集(validation set) 测试集(test set). http://blog.sina.com.cn/s/blog_4d2f6cf201000cjx.ht ...
- 机器学习在入侵检测方面的应用 - 基于ADFA-LD训练集训练入侵检测判别模型
1. ADFA-LD数据集简介 ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测数据集合,包括Linux和Windows,是一个包含了入侵事件的系统调用syscall序列的数据集(以 ...
- 斯坦福大学公开课机器学习:advice for applying machine learning | model selection and training/validation/test sets(模型选择以及训练集、交叉验证集和测试集的概念)
怎样选用正确的特征构造学习算法或者如何选择学习算法中的正则化参数lambda?这些问题我们称之为模型选择问题. 在对于这一问题的讨论中,我们不仅将数据分为:训练集和测试集,而是将数据分为三个数据组:也 ...
- 腾讯推出超强少样本目标检测算法,公开千类少样本检测训练集FSOD | CVPR 2020
论文提出了新的少样本目标检测算法,创新点包括Attention-RPN.多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到 ...
- 使用fastai训练的一个性别识别模型
在学习了python中的一些机器学习的相关模块后,再一次开始了深度学习之旅.不过与上次的TensorFlow框架不同,这一次接触的是fast.ai这样一个东西.这个框架还不稳定,网上也没有相关的中文文 ...
随机推荐
- [BZOJ4947] 字符串大师 - KMP
4974: [Lydsy1708月赛]字符串大师 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 739 Solved: 358[Submit][Sta ...
- 一个基于C++11的单例模板类
#ifndef _SINGLETON_H_#define _SINGLETON_H_ template<typename T>class Singleton : public Uncopy ...
- cmake::编译一个工程
1.编译工程,构建过程产生的临时文件等文件与源码隔离,避免源码被污染. # CMake 最低版本号要求 cmake_minimum_required (VERSION 2.8) # 项目信息 proj ...
- libevent::实现的低级 socket
LibEvent 实现的低级 ROT13 例子 #include <cstdio> #include <netinet/in.h> #include <sys/socke ...
- C++ Web框架::cintara
1.Cinatra是由C++开源社区purecpp发起的一个开源项目,是一个现代C++写的Web框架,旨在给用户提供一个易用.灵活和高性能的Web框架,让用户能完全专注于核心逻辑而无需关注http细节 ...
- PassWord控件
<StackPanel Margin="> <Label>Text:</Label> <TextBox /> <Label>Pas ...
- MongoDB系列---用户及权限管理02
MongoDB-——Privilege 学习大纲: 1.用户权限管理 2.用户操作 知识回顾: 本系列上一篇博文我们讲述了如何搭建环境以及配置我们的MongoDB,通过搭建环境后我们又学习了如何通过 ...
- Git学习笔记----基础运用
安装Git Windows: 进入官网下载或百度网盘下载 Git(V2.23_x64) 提取码:uf2x Ubuntu: sudo apt-get -install git 安装完成之后打开git命令 ...
- C/c.pp:贪心,二分答案
说是贪心有点牵强. 其次,答案满足单调性,如果在k次操作能完成那么在k+1次操作内也能完成. 因为大不了你就把多的一次对方操作再进行一次就好了. 怎么操作呢? 我们从头扫这个序列,遇到每一个不匹配位置 ...
- CSPS模拟 50
收获很多,良心出题人 T1 施工 研究半天,最后30分暴力走人 考后看了题解,稍神仙这题弃对了...... 要拿30+,必须发现要填的话一定是填一个坑使它底部变平,最终底部高度小于等于两边 为什么是坑 ...