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导出数据到Excel可读取的CSV文件的方法
May 12 Python
讲解Python中if语句的嵌套用法
May 14 Python
Python设计模式之命令模式简单示例
Jan 10 Python
python url 参数修改方法
Dec 26 Python
Python 实现数据结构-循环队列的操作方法
Jul 17 Python
pytorch多进程加速及代码优化方法
Aug 19 Python
Python的互斥锁与信号量详解
Sep 12 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
Django调用百度AI接口实现人脸注册登录代码实例
Apr 23 Python
Django权限设置及验证方式
May 13 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 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处理excel cvs表格的方法实例介绍
2013/05/13 PHP
如何在php中正确的使用json
2013/08/06 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
JavaScript 变量基础知识
2009/11/07 Javascript
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
编程语言Python的发展史
2014/09/26 Python
Python 制作糗事百科爬虫实例
2016/09/22 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
python 如何对logging日志封装
2020/12/02 Python
python常量折叠基础知识点讲解
2021/02/28 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
盛大笔试题
2016/11/05 面试题
如何客观的进行自我评价
2013/12/17 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
工作简报格式范文
2015/07/21 职场文书
英语导游欢迎词
2015/09/30 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
Golang日志包的使用
2022/04/20 Golang
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python