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实现树形打印目录结构
Mar 29 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
django删除表重建的实现方法
Aug 28 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
Python socket处理client连接过程解析
Mar 18 Python
Python configparser模块常用方法解析
May 22 Python
Python参数传递机制传值和传引用原理详解
May 22 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
python开发的自动化运维工具ansible详解
Aug 07 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 中的输出缓冲
2006/12/21 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
JavaScript 继承详解 第一篇
2009/08/30 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
js date 格式化
2017/02/15 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
详解Python中的多线程编程
2015/04/09 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
pandas的qcut()方法详解
2019/07/06 Python
python连接mysql有哪些方法
2020/06/24 Python
python如何快速生成时间戳
2020/07/21 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
高校十八大报告感想
2014/01/27 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
Python基础之pandas数据合并
2021/04/27 Python
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技