Ce que vous cherchez n'est pas un codage à chaud. Peut-être cela est ce que vous voulez atteindre:
a = tf.constant([20, 1, 5, 3, 123, 4])
c = tf.cast(tf.equal(a, 3), tf.int32) # 3 is your matching element
with tf.Session() as sess:
print(c.eval())
# [0 0 0 1 0 0]
EDIT
Si vous avez des connaissances sur l'index déjà, vous pouvez le faire de plusieurs façons. S'il y a une chance que les valeurs dans votre tenseur peut répéter, vous pouvez faire quelque chose comme ceci:
a = tf.constant([20, 1, 5, 3, 123, 4, 3])
c = tf.cast(tf.equal(a, a[3]), tf.int32)
with tf.Session() as sess:
print(c.eval())
# [0 0 0 1 0 0 1]
Mais si vous êtes sûr que les valeurs ne sont pas répétées, vous pouvez construire ce tenseur avec l'aide du tableau numpy comme ceci:
import numpy as np
c = np.zeros((7), np.int32)
c[3] = 1
c_tensor = tf.constant(c)
with tf.Session() as sess:
print(c_tensor.eval())
# [0 0 0 1 0 0 0]
EDIT 2
sur la base de nouvelle question sous la direction, pour faire une tâche de classification et comme il me semble que vous ne faites pas backpropogation personnalisé, laissez-moi donner y ou un code squelette de la pièce que vous recherchez.
tf.reset_default_graph()
X = tf.placeholder(tf.float32, (None, 224, 224, 3))
y = tf.placeholder(tf.int32, (None))
one_hot_y = tf.one_hot(y, n_outputs) # Generate one-hot vector
logits = My_Network(X) # This function returns your network.
cross_entropy = tf.reduce_sum(tf.nn.softmax_cross_entropy_with_logits(logits, one_hot_y))
# This function will compute softmax and get the loss function which you
# would like to minimize.
optimizer = tf.train.AdamOptimizer(learning_rate = 0.01).minimize(cross_entropy)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for **each epoch**:
for **generate batches of your data**:
sess.run(optimizer, feed_dict = {X: batch_x, y: batch_y})
Veuillez prendre le temps de comprendre le code. Je vous recommande également de suivre un tutoriel sur les tâches de classification car ils sont largement disponibles. Je vous suggérerais CNN by TensorFlow.
Je ne comprends pas clairement, 'a' ne définit que la taille du tableau de sortie? et 'index_number' est' Tensor' avec 0 dimensions? –
@VladimirBystricky J'ai édité le post. – user3595632
Si vous voulez de bonnes réponses, donnez-nous d'autres exemples. En ce moment votre problème n'est pas bien défini. –