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中处理XML的教程
Apr 29 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
pycharm运行和调试不显示结果的解决方法
Nov 30 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
python3 webp转gif格式的实现示例
Dec 10 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 Python
Python实现CNN的多通道输入实例
Jan 17 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 Python
python实现学生信息管理系统(面向对象)
Jun 05 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 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循环获取GET和POST值的代码
2008/04/09 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP微商城开源代码实例
2019/03/27 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
python批量提交沙箱问题实例
2014/10/08 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
cf搞笑广告词
2014/03/14 职场文书
给校长的建议书400字
2014/05/15 职场文书
语文课外活动总结
2014/08/27 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js