本人为在职研究生,希望能够有志同道合的学习伙伴一起学习分享和交流,本人领域为光纤传感和人工智能,希望可以一起学习。
微信公众号:Deepthinkerr(文章末尾有图)
1. TFRecord
这里不太建议看《Tensorflow2.0卷积神经网络实战》王晓华这本书,讲的内容并没有什么问题,但是代码我尝试了,很多报错(报错说函数没有参数,不知道是不是我的tf版本问题),而且一些地方没有讲清楚,这里建议看rensorflow的官网教程,看了一遍整体还是蛮不错的,一些函数和书上讲的不一样,这里建议看官方的。
Tensorflow官网TFRecord链接:https://tensorflow.google.cn/tutorials/load_data/tfrecord?hl=zh_cn
1.1 数据写入TFRecord
将数据写入TFrecord步骤较为固定,个人总结为以下几个步骤:
- step1:将每个值转换为包含三种兼容类型之一的 tf.train.Feature
- step2:创建一个从特征名称字符串到第 1 步中生成的编码特征值的映射(字典)
- step3:将第 2 步中生成的映射转换为Features消息
- step4:创建example
- step5:写入TFRecords
def _bytes_feature(value):
"""Returns a bytes_list from a string / byte."""
if isinstance(value, type(tf.constant(0))):
value = value.numpy() # BytesList won't unpack a string from an EagerTensor.
return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))