Angenommen, ich erhalte eine Eingangsmatrix nach Lookup-Einbettung, die wie folgt aussieht:verketten Funktionen Wort an der Eingangsschicht während der Laufzeit des Einbettens
[[[0.5, 0.25, 0.47, 0.86
], [0.8. 0.12, 0.63, 0.97
], [0.7, 0.47, 0.32, 0.01
]], ... , [[...]]] i., e jede Einbettung ist von dim = 4 und die Satzlänge ist 3, wie in dem erwähnten Fall angegeben.
Wie können wir einen Merkmalsvektor von Dim Say 2, der jedem Wort im Satz dynamisch (d. H. Während der Laufzeit) mit dem Platzhalter in Tensorflow/TFLearn oder Theano? So final input will be of dim = embedding_dim + feature_dim.
P.S: Eingabe Matrix ist ein 3D-Tensor der Form [x y z], x = Anzahl der Sätze im Batch, y = Anzahl der Wörter in den Sätzen (einschließlich Auffüllen). z = Einbettungsdimension Die endgültige Form wäre [x y z + 2].
Wenn die Merkmale gemeinsam über alle Wörter im Satz ist, wie kann ich das gleiche erreichen, ohne die Wiederholung Feature. Also, was ich meine ist, dass ich eine Funktion von Dim 2 für einen Satz habe (was für alle Wörter im Satz üblich ist). Ich möchte den Raum optimieren, damit ich die Funktion nicht für alle "y" -Wörter im Satz wiederhole. – user3480922
Ich glaube nicht, dass du das tun kannst, ohne den Code der rnn oder der Zelle zu ändern ... wenn jemand es besser weiß, korrigiere mich bitte. Wenn ein kleinerer Platzhalter der Platz-/Speicherbeschränkung helfen würde, können Sie den Platzhalter in [x, 2] ändern und ihn dann in die Verkettung einfügen ... tf.concat (2, [inputs, tf.tile (tf. expand_dims (Merkmale, 1), [1, y, 1]]) –