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 队列详解及实例代码
Oct 18 Python
requests和lxml实现爬虫的方法
Jun 11 Python
详谈python read readline readlines的区别
Sep 22 Python
对pandas的行列名更改与数据选择详解
Nov 12 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
python关闭占用端口方式
Dec 17 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
利用Python自动化操作AutoCAD的实现
Apr 01 Python
Python selenium自动化测试模型图解
Apr 15 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
Python实现归一化算法详情
Mar 18 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导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
jQuery中end()方法用法实例
2015/01/08 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
Python的另外几种语言实现
2015/01/29 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
网络维护中文求职信
2014/01/03 职场文书
书香家庭事迹材料
2014/05/09 职场文书
销售竞赛活动方案
2014/08/23 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
话题作文之诚信
2019/11/28 职场文书
用python实现监控视频人数统计
2021/05/21 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
Java实现二分搜索树的示例代码
2022/03/17 Java/Android
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers