当前位置: 首页 > news >正文

做网站600教育培训班

做网站600,教育培训班,做视频网站的空间,国医堂网站平台建设本篇文章将详细介绍Tensorflow2.x中模型训练标签顺序和预测结果标签顺序不一致问题,这个问题如果考虑不周,或者标签顺序没有控制好的情况下会出现预测结果精度极其不准确的情况。 训练数据集的结构:数据集有超过10的类别数,这里包…

    本篇文章将详细介绍Tensorflow2.x中模型训练标签顺序和预测结果标签顺序不一致问题,这个问题如果考虑不周,或者标签顺序没有控制好的情况下会出现预测结果精度极其不准确的情况。

    训练数据集的结构:数据集有超过10的类别数,这里包含16类数据,每个类别放置到一个文件夹中,文件夹名称按照其类别命名为1,2,3……16。文件夹结构如下图所示:

    这组数据在系统中的排序是1,2,3,4,……顺序排序的。

一、Tensorflow2.数据读取的顺序

    使用Tensorflow读取数据,代码如下:

data_all = tf.keras.preprocessing.image_dataset_from_directory(data_dir,labels='inferred',batch_size=batch_size,image_size=(img_height, img_width),shuffle=False  # 关闭洗牌以保持与文件夹中图像的顺序一致)

    按照有的说明,tf.keras.preprocessing.image_dataset_from_directory()函数是按照文件夹中的排序读取的数据,但实际上并不是。我们来查看一下这个函数读取的数据是什么顺序,这里直接使用一下一行代码:

class_names = data_all.class_namesprint("类别标签:", class_names)

    看看输出结果是什么:

类别标签: ['1', '10', '11', '12', '13', '14', '15', '16', '2', '3', '4', '5', '6', '7', '8', '9']

    这里我们可以看到,以上函数读取的数据顺序和文件夹中的顺序并不一致,因此,我们在进行精度评的时候一定要保持这个标签的顺序一致。

二、Tensorflow2.数据预测结果的顺序

    Tensorflow2.训练的模型预测出来的结果是按照0,1,2,……编码顺序编码的,也就是说,训练数据集中第1类预测出来的标签代码实0,第2类是1,第3类是2.

    在这里我们进行评估时,如果是使用以下代码进行训练和评估时,训练集和测试集数据顺序一致,所以不会出现什么问题。

train_ds = tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split=0.7,subset='training',seed=123,image_size=(img_height, img_width),batch_size=batch_size)
test_ds = tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split=0.7,subset='validation',seed=123,image_size=(img_height, img_width),batch_size=batch_size)

    不过预测出来的标签和我们的类别不一致,这时候我们需要将两者变换为一致,我们可以通过建立一个类别对应关系的字典来进行变换,使预测的标签值变换为实际类别代码如下:

label_dict={'0': 1, '1': 10, '2': 11, '3': 12, '4': 13, '5': 14, '6': 15,'7': 16, '8': 2, '9': 3, '10': 4, '11': 5, '12': 6,'13': 7, '14': 8,'15': 9}print(label_dict)# 将原始标签映射到调整后的标签adjusted_labels = [label_dict[str(label)] for label in original_labels]df[adjusted_name] = adjusted_labels

通过以上代码,可以将预测的标签值变换为实际类别ID.

三、如何按指定顺序读取数据?

    对于这个问题,我们可以通过修改文件夹名称来控制数据读取的顺序,比如将文件夹名称改为01,02,03,……16.或者按照字母a,b,c,d……的顺序来控制顺序。不过这样对后面评价计算的时候也有不好的影响,评价函数通常是使用数值类别来进行评价计算的,所以用字母的话后面也还需要再进行类别代码的转换。

http://www.ritt.cn/news/28398.html

相关文章:

  • 石家庄做网站 vtkj优化关键词排名的工具
  • 网站建设评价量规最有效的推广方法
  • 网站显示iis7软文广告代理平台
  • 建筑公司企业愿景模板平台360优化大师下载
  • 昆山商城网站建设网络营销活动案例
  • 做网站创意网站降权查询工具
  • 东莞清溪网站制作百度营销登录
  • 网站备案需要建设好网站吗持续优化完善防控措施
  • 网站开发的技术流程网络营销和网络推广有什么区别
  • 网站建设一般涉及后台功能恶意点击推广神器
  • 讨债公司网站建设北京网站seowyhseo
  • 万联芯城网站建设网站推广优化c重庆
  • 网站建设外包seo排名规则
  • 长沙微网站制作重庆人力资源和社会保障网
  • 荷城网站制作公司通州区网站快速排名方案
  • 网站制作寻找客户seo名词解释
  • 东阳做网站的公司网站关键词快速排名工具
  • 织梦 网站地图 样式宁波网站建设方案推广
  • 个人网站备案审批产品营销推广策略
  • 互联网营销型网站找回今日头条
  • 优秀的公司网站分发平台
  • 网站做留言板怎么清空源码网站推广技巧有哪些
  • 网站设计师介绍每日新闻摘抄10一15字
  • 自媒体wordpress主题分享新乡seo优化
  • 建设网站需要提交什么资料引擎搜索对人类记忆的影响
  • 网站开发基础与提高seo网站快速排名
  • 清远做网站南宁网络推广服务商
  • 一个公司可以做几个网站备案苹果看国外新闻的app
  • 福州做网站建设公司会计培训班一般收费多少
  • 天津市建设安全协会网站重庆网站搭建