首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【tensorflow】TFRecord读写机理

【tensorflow】TFRecord读写机理

作者头像
JNingWei
发布2020-03-17 18:07:11
发布2020-03-17 18:07:11
63000
代码可运行
举报
文章被收录于专栏:JNing的专栏JNing的专栏
运行总次数:0
代码可运行

1.tfrecord,写的时候是一行一行地写的,读的时候是每batch个行地读的。

2.写的时候,通过for循环(例如:img_path, cls_label = img_paths[i], cls_labels[I])往tf.train.Example里面喂feature。 因此,tf.train.Example中的feature喂入的是单行的数据(包括一个img_path、及其对应的encode_img、cls_label、pts_label)。

代码语言:javascript
代码运行次数:0
运行
复制
example = tf.train.Example(features=tf.train.Features(feature={
    'img_path': _bytes_feature(img_path),
    'encoded': _bytes_feature(image_buffer),
    'cls_label': _int64_feature(cls_label)
}))
 

可以通过print(example)查看。

3.最后的数据会在tfrecord中形成一个二维list:

代码语言:javascript
代码运行次数:0
运行
复制
[ { [img_path], [img_encode], [cls_label], [pts_label] }
  { [img_path], [img_encode], [cls_label], [pts_label] }
  { [img_path], [img_encode], [cls_label], [pts_label] }
  { [img_path], [img_encode], [cls_label], [pts_label] }
                                             … …
  { [img_path], [img_encode], [cls_label], [pts_label] } ]

list中每行,都是一个完整的数据element,element = { [img_path], [img_encode], [cls_label], [pts_label] }

4.具体地,element = { [b’\path\to\img_1.jpg’], [\df\sdf\df\df\dfsxc\d], [1], [21.2, 34.6, 45.1, 56.7] }

5.element中的每一个单项都是 type list,所以写入 _int64_feature、_float_feature、_bytes_feature 时,一定是一个 一维list !

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档