Angenommen, meine Daten haben 25 Funktionen. In Keras konnte ich einfach eine Ebene für jedes Eingabemerkmal implementieren und sie zusammenführen, um sie zu späteren Layern zu führen.implementieren Sie eine Einbettungsschicht mit Tensorflow
Ich sehe, dass tf.nn.embedding_lookup
akzeptiert einen id
Parameter, der nur eine ganze Zahl oder ein Array von ganzen Zahlen ([1,2,3, ..]) sein könnte. Allerdings ist die Feature-Eingabe oft von der Form
x = tf.placeholder(tf.float32, [None, in_feature_num])
ich die Funktion, um ihre eigenen spalten könnte
X = tf.split(1,in_feature_num,x)
durch den Einsatz und verfügen jeweils über Eingabe der Form ist [?, 1]. Aber embedding_lookup
nicht eine Form von [?, 1], und da wir keine angegebene Zeilenlänge haben, kann ich nicht reshape
oder unpack
es auf die Form wie [?].
So, wie könnte ich verwandeln eine Eingabe wie
[[1],
[2],
[3],
...
]
in eine Einbettung Darstellung wie folgt aus:
[
[....], #a vector
[....], #a vector
[....], #a vector
...
]
Verwandte SO Post sind: What does tf.nn.embedding_lookup function do? und TensorFlow Embedding Lookup aber diese Beiträge gelöst nicht meine Problem.
Ich bin nicht 100% sicher, was Sie meinen, "Ihre Daten haben Funktionen". Nach meinem Verständnis sind Einbettungen die Repräsentanten Ihrer Eingabedaten. Sie sind also Funktionen. Sie können eine Einbettungsschicht vor Ihrem NN hinzufügen und die Gewichte lernen, um eine Einbettungsschicht zu lernen, oder Sie können eine generalisierte vortrainierte Schicht hinzufügen. Können Sie genauer auf Ihre Daten eingehen? – roopalgarg
Sie sagen, Sie haben 25 Chargen und möchten, dass jede Funktion ihre eigene Einbettung hat? – mazecreator