tensorflow 自定义训练——eager模式,附带数据集制作

在前边的博客中我使用了tensorflow中kears模块来搭建神经网络,然后使用集成好的方法来进行训练,如model.fit(),从最简洁、最快速的方面来实现了神经网络,但是集成好的api灵活性不够,而且训练耗时比eager模式要多,所以在这里我对自定义训练做一个简单介绍,使用的数据集来源kaggle,链接:https://www.kaggle.com/alxmamaev/flowers-recognition,如果不能下载用这个百度网盘链接:https://pan.baidu.com/s/1bg2981NUwwNZmkcz0w5WLw,提取码:fp34。完整代码在我的github,觉得我写的不错的可以给个star,谢谢。源码链接:https://github.com/JohnLeek/Tensorflow-study,文件名为day7_flowers_tf_data.py

一、数据集制作

1.1 数据集基本情况简介

数据的来源是kaggle的一个花卉分类竞赛,里边总共包含五种花卉分别是,daisy(雏菊)、dandelion(蒲公英)、rose(玫瑰)、sunflower(向日葵)、tuilp(郁金香),总共是4322张图片,但是里边每个花卉图片数量不怎么一样,有的多有的少。

1.2 数据制作

这里的数据集制作我们采用tensorflow2.0中提供的data模块,根据我自己测试的结果用tf提供的模块制作数据集是比较高效的,下一篇博客中我会介绍两到三种数据集制作方法。

首先我们导入所需要的所有包

import glob
import tensorflow as tf
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv2D,BatchNormalization,MaxPool2D,Dropout,Dense,Flatten
import numpy as np

然后将数据集拷贝到项目工程下

忽略其他文件夹(这是我平时写着玩的一些模型,还有数据集,大家看flowers文件夹就好了)

文件路径

path = './flowers/*/*.jpg'

使用glob包来获得所有图片路径

all_image_path = glob.glob(path)

部分文件路径展示(这里为了方便展示用的jupyter,但是项目用的是pycharm)

到这里文件路径就获取完毕接下来就是将花卉名称转化为标签,我这里的对应规则是这样的daisy(雏菊)->0、dandelion(蒲公英࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值