tf.decode_raw

参考 tf.decode_raw - 云+社区 - 腾讯云

tf.decode_raw函数的意思是将原来编码为字符串类型的变量重新变回来,这个方法在数据集dataset中很常用,因为制作图片源数据一般写进tfrecord里用to_bytes的形式,也就是字符串。这里将原始数据取出来,必须制定原始数据的格式,原始数据是什么格式这里解析必须是什么格式,要不然会出现形状的不对应问题!例如元数据是tf.float64然后to_bytes,但是用tf.decode_raw解析的时候使用了tf.float32,那么形状跟值都会跟原始数据有差别,后面传入网络的时候一定会报tensorflow : Input to reshape is a tensor with 16384 values, but the requested shape has 49152 这种错误。

tf.decode_raw(
    bytes,
    out_type,
    little_endian=True,
    name=None
)

将字符串的字节重新解释为数字向量。

参数:

  • bytes:  字符串类型的张量。所有元素的长度必须相同。
  • out_type:   来自tf.half,tf.float32,tf.float64,tf.int32,tf.uint16,tf.uint8,tf.int16,tf.int8,tf.int64的tf.DType。
  • little_endian:  一个可选的bool。默认值为True。输入字节是否按little-endian顺序排列。对于存储在单个字节(如uint8)中的out_type值,将忽略。
  • name:  操作的名称(可选)。 

返回值:

  • 类型为out_type的张量。

你可能感兴趣的:(TensorFlow,tensorflow,人工智能,python)