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爬取APP下载链接的实现方法
Sep 30 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
pytorch中的inference使用实例
Feb 20 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
python批量生成条形码的示例
Oct 10 Python
python 发送邮件的四种方法汇总
Dec 02 Python
python实现调用摄像头并拍照发邮箱
Apr 27 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
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
详解Python中的路径问题
2020/09/02 Python
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
房屋租赁协议书范本
2014/04/10 职场文书
药剂专业求职信
2014/06/20 职场文书
反邪教标语
2014/06/23 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
离婚协议书的范本
2015/01/27 职场文书
离婚答辩状范文
2015/05/22 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书