Tensorflow 训练自己的数据集将数据直接导入到内存


Posted in Python onJune 19, 2018

制作自己的训练集

下图是我们数据的存放格式,在data目录下有验证集与测试集分别对应iris_test, iris_train

Tensorflow 训练自己的数据集将数据直接导入到内存

为了向伟大的MNIST致敬,我们采用的数据名称格式和MNIST类似

Tensorflow 训练自己的数据集将数据直接导入到内存

classification_index.jpg

图像的index都是5的整数倍是因为我们选择测试集的原则是每5个样本,选择一个样本作为测试集,其余的作为训练集和验证集

生成这样数据的过程相对简单,如果有需要python代码的,可以给我发邮件,或者在我的github下载

至此,我们的训练集,测试集,验证集就生成成功了,之所以我们的文件夹只有训练集和测试集是因为我们在后续的训练过程中,会在训练集中分出一部分作为验证集,所以两者暂时合称为训练集

将数据集写入到Tensorflow中

1. 直接写入到队列中

import tensorflow as tf
import numpy as np
import os

train_dir = '/home/ruyiwei/data/iris_train/'#your data directory
def get_files(file_dir):
  '''
  Args:
    file_dir: file directory
  Returns:
    list of images and labels
  '''
  iris = []
  label_iris = []
  contact = []
  label_contact = []
  for file in os.listdir(file_dir):
    name = file.split('_')
    if name[0]=="iris":
      iris.append(file_dir + file)
      label_iris.append(0)
    else:
      contact.append(file_dir + file)
      label_contact.append(1)
  print('There are %d iris\nThere are %d contact' %(len(iris), len(contact)))

  image_list = np.hstack((iris, contact))
  label_list = np.hstack((label_iris, label_contact))

  temp = np.array([image_list, label_list])
  temp = temp.transpose()
  np.random.shuffle(temp)

  image_list = list(temp[:, 0])
  label_list = list(temp[:, 1])
  label_list = [int(i) for i in label_list]

  return image_list, label_list

为了大家更方便的理解和修改代码,我们对代码进行讲解如下

1-3行 : 导入需要的模块
5行: 定义训练集合的位置,这个需要根据自己的机器进行修改
7行: 定义函数 get_files
18行: os.listdir(file_dir) 获取指定目录file_dir下的所有文件名词,也就是我们的训练图片名称
18行:for file in os.listdir(file_dir): 遍历所有的图片
19行: name为一个数组,由于我们根据MINIST来定制的图片名词,所以file.split(‘_')会将图像名称分为两部分,第一部分为classification,通过name[0]来获得分类信息。
21行、24行:iris.append(file_dir + file)/contact.append(file_dir + file)将图像的绝对路径放入到iris/contact
22行、25行:label_iris.append(0)/label_contact.append(1)给对应的图片贴标签
28-29行:将二分类的图像与标签压入到list中
31-33行:合并二分类图像,然后打乱
38行:返回打乱后对应的图像与标签

在spyder下执行如上代码后会返回如下信息

Tensorflow 训练自己的数据集将数据直接导入到内存

这样图像和标签信息就被load到了内存中,我们接下来就可以利用现有的模型对图像进行分类训练,模型的选择和训练的过程,我们会在后面进行讲解。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python抓取百度首页的方法
May 19 Python
python基于multiprocessing的多进程创建方法
Jun 04 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
Python基础教程之异常详解
Jan 10 Python
Python Flask框架扩展操作示例
May 03 Python
对Python中画图时候的线类型详解
Jul 07 Python
新手入门Python编程的8个实用建议
Jul 12 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
Python如何给你的程序做性能测试
Jul 29 Python
简述 Python 的类和对象
Aug 21 Python
如何在Python项目中引入日志
May 31 Python
python如何爬取个性签名
Jun 19 #Python
详解TensorFlow查看ckpt中变量的几种方法
Jun 19 #Python
TensorFlow 滑动平均的示例代码
Jun 19 #Python
python3个性签名设计实现代码
Jun 19 #Python
TensorFlow 模型载入方法汇总(小结)
Jun 19 #Python
python3爬虫之设计签名小程序
Jun 19 #Python
Python GUI Tkinter简单实现个性签名设计
Jun 19 #Python
You might like
长波有什么东西
2021/03/01 无线电
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
js代码实现轮播图
2020/05/04 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
彻底理解Python list切片原理
2017/10/27 Python
简单了解python模块概念
2018/01/11 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
flask-restful使用总结
2018/12/04 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Pycharm修改python路径过程图解
2020/05/22 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
学生宿舍管理制度
2014/01/30 职场文书
会计毕业自我鉴定
2014/02/05 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
一年级学生评语大全
2014/04/21 职场文书
小班上学期评语
2014/05/05 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
医院见习报告范文
2014/11/03 职场文书
Python基础知识学习之类的继承
2021/05/31 Python