Ich bin ein kompletter Anfänger in Tensorflow, und ich entschuldige mich, wenn meine Frage trivial ist, aber ich habe sowohl die Dokumentation und Google untersucht und ich konnte die Antwort nicht finden. (Ich auch für mein Englisch entschuldigen)Tensorflow - Dimensionen von Daten, Platzhalter
Ich möchte etwas tun, wie
sess.run(train, {x:x_train, y:x_train}
wo x_train ist ein Array der Größe 3190 meine Eingangsdaten enthalten (Arrays der Dimension 60 * 4)
Meine Frage ist, sollte x sein:
x = tf.placeholder(tf.bool, [60,4])
oder
x = tf.placeholder(tf.bool, [None,60,4])
?
Die erste gibt die folgenden Fehler:
ValueError: Cannot feed value of shape (3190, 60, 4) for Tensor u'Placeholder:0', which has shape '(60, 4)'
und wenn ich die zweiten verwenden, wie kann ich erreichen x [i] [j] mit 0 < = i < 60 und 0 < = j < 4 wenn ich zum Beispiel
berechnen möchtetf.logical_and(x[i1][j1],x[i2][j2])
?
Wir danken Ihnen im Voraus für Ihre Antwort.
Sie tun müssen, einen 3D-Tensor in diesem Fall verwendet werden. Das Beispiel "tf.logical_and (x [i1] [j1], x [i2] [j2])" ist jedoch nicht klar genug. Was ist die Beziehung zwischen "i1, j1" und "i2, j2"? Beabsichtigen Sie, einen '60 * 4 * 60 * 4' 4D Tensor zu berechnen? –
Vielen Dank für Ihre Antwort. Jeder meiner 3190-Eingänge ist ein 60 * 4-Tensor, der eine DNA-Sequenz von 60 Nukleotiden darstellt. Jedes Nukleotid wird als ein 1 × 4-Array von booleschen Werten dargestellt, die anzeigen, ob das Nukleotid A, C, G oder T ist (zum Beispiel x [30] = [1,0,0,0], wenn A an Position 30 ist). . Ich möchte einige "UND" Operationen an den Eingängen durchführen, zum Beispiel "es gibt ein A an Position 3 UND es gibt ein C an Position 15" (x [3] [0] AND x [15] [1]) . Also wäre jeder ein 1 * 1 Tensor. Ich hoffe, das ist klarer? – DNAprototype