永不秃头的ssf 2019-08-08 15:36 采纳率: 0%
浏览 977
已结题

tensorflow写入tfrecord文件的问题

这个代码基本是按照tensorflow官方教程里面的代码写的,应该是一模一样了,但是却报错了

def _bytes_feature(value):
    if isinstance(value,type(tf.constant(0))):
        value=value.numpy()
    return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))


def _float_feature(value):
    return tf.train.Feature(float_list=tf.train.FloatList(value=[value]))

def _int64_feature(value):
    return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))

def feature_to_string(feature):
    strings=feature.SerializerToString()
    return strings


n_boservations=int(1e4)

feature0=np.random.choice([False,True],n_boservations)


feature1=np.random.randint(0,5,n_boservations)

strings=np.array([b'cat',b'dog',b'chicken',b'horse',b'goat'])

feature2=strings[feature1]

feature3=np.random.randn(n_boservations)


#构建Example
def serialize_example(feature0,feature1,feature2,feature3):
    feature={
        'feature0':_int64_feature(feature0),
        'feature1':_int64_feature(feature1),
        'feature2':_bytes_feature(feature2),
        'feature3':_float_feature(feature3)
    }
    example_proto=tf.train.Example(features=tf.train.Features(feature=feature))
    return example_proto.SerializeToString()        



features_dataset = tf.data.Dataset.from_tensor_slices((feature0, feature1, feature2, feature3))

def generator():
  for features in features_dataset:
    yield serialize_example(*features)

  #对数据集进行处理  
serialized_features_dataset = tf.data.Dataset.from_generator(
    generator, output_types=tf.string, output_shapes=())



#写入文件
filename = 'test.tfrecord'
writer = tf.data.experimental.TFRecordWriter(filename)
writer.write(serialized_features_dataset)       

图片说明

  • 写回答

2条回答 默认 最新

  • xSeeker~ 2019-08-08 18:53
    关注

    查看features的数据类型,确保传给 serialize_example 的是一个 tuple 对象

    yield serialize_example(*features)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)