Sagen wir, ich TFRecord Beispiele mit folgendem Merkmal Mapping haben:Tensorflow - Wählen TFRecord auf der Graph Funktionen Tim bauen
feature_mapping = {
"sentence":tf.VarLenFeature(tf.string),
'caps':tf.VarLenFeature(tf.string),
'tags':tf.VarLenFeature(tf.string),
'labels': tf.VarLenFeature(tf.string)
}
ich immer brauchen sentence
und labels
, aber manchmal möchte ich 0,1 oder mehr der verbleibende Funktionen. Ich weiß, welche Funktionen ich bei der Graph-Build-Zeit haben möchte.
Wie kann ich mehrere Funktionen im Graph der Zeit wählen?
Zum Beispiel Satz und Etiketten, kein Problem:
parsed = tf.parse_example(example, features=feature_mapping)
sentence = parsed['sentence']
labels = parsed['labels']
Aber kann ich mehrere Funktionen herausziehen? Ie .:
FEATURE_NAMES = ['caps', 'tags']
parsed = tf.parse_example(example, features=feature_mapping)
features = tf.multiple_features(parsed, FEATURE_NAMES] # Does something like this exist?
Ich bin bereit, meine TFRecord Darstellung auch zu ändern. Jede Hilfe wäre willkommen.
Danke!
Es ist nur ein Python-Wörterbuch, oder? Sie können also etwas wie '[geparst [k] für k in FEATURE_NAMES]' machen, um eine Liste zu erhalten. –
Ja, aber wird das für die Graphendarstellung funktionieren? Ich habe Schleifen komplett in TF vermieden. – Neal
Es sei denn, es gibt Hunderte von diesen sammeln, ich würde mir keine Sorgen machen. Und wenn es, würden Sie einige Spalten verketten müssen, anstatt die Änderung der Art, wie sie in diesem Wörterbuch nachgeschlagen bekommen einen Unterschied in der Leistung zu machen .. –