以下程序实现将训练集构建为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模型的更多相关文章

  1. 训练集(train set) 验证集(validation set) 测试集(test set)

    转自:http://www.cnblogs.com/xfzhang/archive/2013/05/24/3096412.html 在有监督(supervise)的机器学习中,数据集常被分成2~3个, ...

  2. 【ML入门系列】(一)训练集、测试集和验证集

    训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...

  3. [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)

    在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...

  4. 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 ...

  5. 训练集(train set) 验证集(validation set) 测试集(test set)。

    训练集(train set) 验证集(validation set) 测试集(test set). http://blog.sina.com.cn/s/blog_4d2f6cf201000cjx.ht ...

  6. 机器学习在入侵检测方面的应用 - 基于ADFA-LD训练集训练入侵检测判别模型

    1. ADFA-LD数据集简介 ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测数据集合,包括Linux和Windows,是一个包含了入侵事件的系统调用syscall序列的数据集(以 ...

  7. 斯坦福大学公开课机器学习:advice for applying machine learning | model selection and training/validation/test sets(模型选择以及训练集、交叉验证集和测试集的概念)

    怎样选用正确的特征构造学习算法或者如何选择学习算法中的正则化参数lambda?这些问题我们称之为模型选择问题. 在对于这一问题的讨论中,我们不仅将数据分为:训练集和测试集,而是将数据分为三个数据组:也 ...

  8. 腾讯推出超强少样本目标检测算法,公开千类少样本检测训练集FSOD | CVPR 2020

    论文提出了新的少样本目标检测算法,创新点包括Attention-RPN.多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到 ...

  9. 使用fastai训练的一个性别识别模型

    在学习了python中的一些机器学习的相关模块后,再一次开始了深度学习之旅.不过与上次的TensorFlow框架不同,这一次接触的是fast.ai这样一个东西.这个框架还不稳定,网上也没有相关的中文文 ...

随机推荐

  1. 控制反转和依赖注入(对IOC,DI理解+案例)

    理解 控制反转说的官方一点就是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其实就是一种设计思想,大概思想就是把设计好的对象交给容器控制,而不是在你内部直接控制. 依赖注入是控制反 ...

  2. go-json类

    package main import ( "encoding/json" "fmt" ) /* { "company":"itc ...

  3. MS12-042 用户态调度机制特权提升漏洞

    漏洞编号:MS12-042 披露日期: 2012/6/12 受影响的操作系统:Windows 2000;XP;Server 2003;windows 7;Server 2008; 测试系统:windo ...

  4. 4.Linux文件管理相关命令(上)

    1.复制命令cp cp - copy files and directories 拷贝 文件 和 目录 -r 递归复制,通常用来复制目录 -p 保持复制源文件的属性 -v 显示复制的过程 1. 将当前 ...

  5. Spring Boot项目中如何定制拦截器

    本文首发于个人网站:Spring Boot项目中如何定制拦截器 Servlet 过滤器属于Servlet API,和Spring关系不大.除了使用过滤器包装web请求,Spring MVC还提供Han ...

  6. ElasticSearch业务逻辑案例

    ElasticSearch业务逻辑案例 一.业务难题 我们有一个索引: myindex/mytype(为了方便,我们下文以a/b表示) 索引类型中的一个字段group之前是a.b.c(历史遗留问题), ...

  7. 4、OGNL与值栈

    一.OGNL 1.什么是OGNL 对象导航图语言(Object Graph Navigation Language),简称OGNL,是应用于Java中的一个开源的表达式语言(Expression La ...

  8. vue 自定义侧边栏 递归无限子级菜单

    有很多网站会涉及到导航栏,我自己在开发中用的是element导航组件,并且自定义事件,给大家分享一下. 1.使用递归方法,无限循环子级菜单. 2.使用组件封装,维护方便. 3.使用index作为路由跳 ...

  9. js数组及动态插入节点数据

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 全方面讲解TensorFlow

    任何曾经试图在 Python 中只利用 NumPy 编写神经网络代码的人都知道那是多么麻烦.编写一个简单的一层前馈网络的代码尚且需要 40 多行代码,当增加层数时,编写代码将会更加困难,执行时间也会更 ...