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的垃圾回收机制深入分析
Jul 16 Python
python的文件操作方法汇总
Nov 10 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
python实现多进程代码示例
Oct 31 Python
python实现三维拟合的方法
Dec 29 Python
Python实现合并excel表格的方法分析
Apr 13 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
Oct 30 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 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 5.3.0 安装分析心得
2009/08/07 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
详解python的ORM中Pony用法
2018/02/09 Python
Python实现按中文排序的方法示例
2018/04/25 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
2014年教师节活动总结
2014/08/29 职场文书
资金申请报告范文
2015/05/14 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python