tf.train.SequenceExample,每个步骤都有列表

时间:2017-01-12 04:32:45

标签: python tensorflow

如何将值列表传递到feature_list中?文档表明这是有效的,但是如果将列表结果传递给错误则不清楚如何实现这一点。

>>> tf.train.SequenceExample().feature_lists.feature_list["multiple"].feature.add().int64_list.value.append([1,2,3,4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal    /containers.py", line 251, in append
    self._values.append(self._type_checker.CheckValue(value))
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal    /type_checkers.py", line 132, in CheckValue
raise TypeError(message)
TypeError: [1, 2, 3, 4] has type <type 'list'>, but expected one of: (<type 'int'>, <type 'long'>)

这是示例proto文件中给出的示例。 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/example/example.proto

// Conditionally conformant FeatureLists, the parser configuration determines
// if the feature sizes must match:
//    feature_lists: { feature_list: {
//      key: "movie_ratings"
//      value: { feature: { float_list: { value: [ 4.5 ] } }
//               feature: { float_list: { value: [ 5.0, 6.0 ] } } }
//    } }

添加列表时是否有必要使用附加内容?

序列的一个例子是......

[[1,2,3],[4,5],[6,7],[8,9,10]]

...此序列中有四个步骤,每个步骤都有一组值。期望的结果看起来像下面的例子。

    feature_lists: { feature_list: {
      key: "movie_ratings"
      value: { feature: { float_list: { value: [ 1, 2, 3 ] } }
               feature: { float_list: { value: [ 4, 5 ] } }
               feature: { float_list: { value: [ 6, 7 ] } }
               feature: { float_list: { value: [ 8, 9, 10 ] } } }
    } }

1 个答案:

答案 0 :(得分:0)

使用extend而不是append。

tf.train.SequenceExample().feature_lists.feature_list["multiple"].feature.add().int64_list.value.extend([1,2,3,4])