TensorFlow2.X使用图片制作简单的数据集训练模型


Posted in Python onApril 08, 2020

Tensorflow内置了许多数据集,但是实际自己应用的时候还是需要使用自己的数据集,这里TensorFlow 官网也给介绍文档,官方文档。这里对整个流程做一个总结(以手势识别的数据集为例)。

1、 收集手势图片

方法多种多样了。我通过摄像头自己采集了一些手势图片。保存成如下形式,

TensorFlow2.X使用图片制作简单的数据集训练模型

以同样的形式在建立一个测试集,当然也可以不弄,在程序里处理。

2、构建数据集

导入相关的包

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets, layers, optimizers, Sequential, metrics
from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2
import os
import pathlib
import random
import matplotlib.pyplot as plt

读取文件

data_root = pathlib.Path('D:\code\PYTHON\gesture_recognition\Dataset')
print(data_root)
for item in data_root.iterdir():
 print(item)

TensorFlow2.X使用图片制作简单的数据集训练模型

读取图片路径到list中

all_image_paths = list(data_root.glob('*/*'))
all_image_paths = [str(path) for path in all_image_paths]
random.shuffle(all_image_paths)
image_count = len(all_image_paths)
print(image_count) ##统计共有多少图片
for i in range(10):
 print(all_image_paths[i])

TensorFlow2.X使用图片制作简单的数据集训练模型

label_names = sorted(item.name for item in data_root.glob('*/') if item.is_dir())
print(label_names) #其实就是文件夹的名字
label_to_index = dict((name, index) for index, name in enumerate(label_names))
print(label_to_index)
all_image_labels = [label_to_index[pathlib.Path(path).parent.name]
     for path in all_image_paths]

print("First 10 labels indices: ", all_image_labels[:10])

TensorFlow2.X使用图片制作简单的数据集训练模型

预处理

def preprocess_image(image):
 image = tf.image.decode_jpeg(image, channels=3)
 image = tf.image.resize(image, [100, 100])
 image /= 255.0 # normalize to [0,1] range
 # image = tf.reshape(image,[100*100*3])
 return image

def load_and_preprocess_image(path,label):
 image = tf.io.read_file(path)
 return preprocess_image(image),label

构建一个 tf.data.Dataset

ds = tf.data.Dataset.from_tensor_slices((all_image_paths, all_image_labels))
train_data = ds.map(load_and_preprocess_image).batch(16)

同样的方式在制作一个测试集,就可以用于模型训练和测试了。

总结

到此这篇关于TensorFlow2.X使用图片制作简单的数据集训练模型的文章就介绍到这了,更多相关TensorFlow数据集训练模型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中3种内建数据结构:列表、元组和字典
Nov 30 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
python利用datetime模块计算时间差
Aug 04 Python
Python编程修改MP3文件名称的方法
Apr 19 Python
Linux 修改Python命令的方法示例
Dec 03 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
Python输出指定字符串的方法
Feb 06 Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 Python
在keras里实现自定义上采样层
Jun 28 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 #Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 #Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 #Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 #Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 #Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 #Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 #Python
You might like
php 字符串函数收集
2010/03/29 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
php获取错误信息的方法
2015/07/17 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
ext 同步和异步示例代码
2009/09/18 Javascript
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
几种tab切换详解
2017/02/03 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
使用python实现对元素的长截图功能
2019/11/14 Python
python绘制封闭多边形教程
2020/02/18 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
经典的班主任推荐信
2013/10/28 职场文书
药学专业个人自我评价
2013/11/11 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
外贸专业求职信
2014/03/09 职场文书
临时租车协议范本
2014/09/23 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android
pycharm无法安装cv2模块问题
2022/05/20 Python