将训练集构建成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这样一个东西.这个框架还不稳定,网上也没有相关的中文文 ...
随机推荐
- “零基础”如何快速掌握web前端核心技术?
前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,今天想强调一下,学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联 ...
- 后台模板引擎ejs与前台模板引擎artTemplate的简单介绍
动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...
- Linux::mysql-connector-c++
.安装好boost. .从官网下载mysql connector c++版本. .解压,复制 include/jdbc/cppconn 文件夹复制,到/usr/local/include/cppcon ...
- grunt前端自动构建工具初级使用
好啦,今天来和大家谈谈grunt 害怕与社会脱轨,所以自己研究了一下,简单说说我梳理完的grunt 首先要知道为什么使用grunt 1.grunt可以检测js.css文件内部是否有错误 2. grun ...
- Halcon安装注意事项
安装使用评估版本 下载并安装 在ihalcon中下载halcon,版本随意,因为我也不知道怎么选择适合自己的版本,那就下载一个比较新的版本,19.05版本. 安装目录默认在C:\Program Fil ...
- Vue系列---源码调试(二)
我们要对Vue源码进行分析,首先我们需要能够对vue源码进行调式(这里的源码调式是ES6版本的,不是打包后的代码),因此首先我们要去官方github上克隆一份vue项目下来,如下具体操作: 1. cl ...
- ubuntu12.04 添加程序启动器
方法: 1. 在/usr/share/applications目录下创建eclipse启动器配置文件 cd /usr/share/applications vim eclipse.desktop 2. ...
- 【Windows系统】win10系统假死,窗口不能动,鼠标能动或不能动,最后蓝屏显示错误码: VIDEO_DXGKRNL_FATAL_ERROR 的解决办法
1. 问题的出现过程 最近博主自己用的 windows10 系统就碰到了这个问题. 一开始出现这个问题的征兆是鼠标会时不时地卡顿,一出现卡顿就会等个 1-3秒才能动.然后频繁卡顿(注意,这里根据经验就 ...
- 运营的Python指南 - Python 操作Excel
这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...
- 暑期集训20190725 加法(add)
[题目描述] 数学课,黑板上写着n个数字,记为A1到An,fateice会重复以下操作若干次: 1. 选择两个奇偶性相同的整数Ai和Aj, 将他们擦去 2. 将Ai+Aj写在黑板上 问黑板上最终是否有 ...