Estoy haciendo una red neuronal simple usando tensorflow, con los datos que recopilé yo mismo, sin embargo, no está cooperando: PI se ha encontrado con un error que no puedo solucionar o encontrar la solución y me encantaría su ayuda.
El mensaje de error:
TypeError: el argumento Fetch 2861.6152 de 2861.6152 tiene un tipo no válido, debe ser una cadena o un tensor. (No se puede convertir un float32 en un Tensor u Operación).
El error se refiere a la siguiente línea en mi código:
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
Ya he descubierto que el error no ocurre cuando comento las siguientes líneas en mi código:
prediction = neural_network_model(champion_data)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data))
optimizer = tf.train.AdamOptimizer().minimize(cost)
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
Entonces, en alguna parte, una de estas líneas está obteniendo algo que no se ve exactamente como espera que se vea. Ya he intentado lo obvio (eliminando el np.array () de batch_input y batch_output o reemplazándolo por list ()) pero eso no resuelve el problema. Mi hipótesis actual es que el resultado de neural_network_model (champion_data) es de alguna manera de forma o tipo incorrecto, sin embargo, no estoy seguro de cómo probarlo o cómo resolverlo si ese es el caso.
El código completo se puede encontrar aquí: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
Editar: He verificado que los datos del campeón que se ingresan en el modelo de red neuronal, la predicción y el costo son todos tensores. He estado tratando de resolver el problema utilizando la hipótesis de que el problema de alguna manera radica en la parte feed_dict = {} del código, pero no llega a ningún lado hasta ahora
fuente