【发布时间】:2017-02-10 21:54:16
【问题描述】:
假设我有具有以下特征映射的 TFRecord 示例:
feature_mapping = {
"sentence":tf.VarLenFeature(tf.string),
'caps':tf.VarLenFeature(tf.string),
'tags':tf.VarLenFeature(tf.string),
'labels': tf.VarLenFeature(tf.string)
}
我总是需要 sentence 和 labels,但有时我需要 0,1 或更多剩余功能。我知道在 Graph 构建时我想要什么功能。
如何在图形构建时选择多个功能?
比如句子和标签,没问题:
parsed = tf.parse_example(example, features=feature_mapping)
sentence = parsed['sentence']
labels = parsed['labels']
但是我可以提取多个功能吗?即:
FEATURE_NAMES = ['caps', 'tags']
parsed = tf.parse_example(example, features=feature_mapping)
features = tf.multiple_features(parsed, FEATURE_NAMES] # Does something like this exist?
我也愿意更改我的 TFRecord 表示。任何帮助,将不胜感激。
谢谢!
【问题讨论】:
-
这只是一个 Python 字典,对吧?因此,您可以执行
[parsed[k] for k in FEATURE_NAMES]之类的操作来获取列表。 -
是的,但这适用于图形表示吗?我一直在 TF 中完全避免循环。
-
除非你收集了数百个,否则我不会担心。如果有,您需要连接一些列,而不是更改它们在该字典中的查找方式以产生性能差异..
-
谢谢@AllenLavoie,你是对的。我发布了正确的代码。我想图形表示有时仍然让我感到困惑:)
标签: tensorflow