Estou criando uma rede neural simples usando o tensorflow, com os dados coletados por mim mesmo, no entanto, não está cooperando: o PI encontrou um erro que não consigo corrigir ou encontrar, e eu adoraria sua ajuda.
A mensagem de erro:
TypeError: o argumento de busca 2861.6152 de 2861.6152 possui um tipo inválido, deve ser uma sequência ou um Tensor. (Não é possível converter um float32 em um tensor ou operação.)
O erro refere-se à seguinte linha no meu código:
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
Eu já descobri que o erro não ocorre quando eu comento as seguintes linhas no meu 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})
Então, em algum lugar, uma dessas linhas está obtendo algo que não parece exatamente como ele espera. Eu já tentei o óbvio (remover o np.array () de batch_input e batch_output ou substituí-lo por list ()), mas isso não resolve o problema. Minha hipótese atual é que a saída de neural_network_model (champion_data) seja de alguma forma da forma ou do tipo errado, no entanto, não tenho certeza de como testá-lo ou resolvê-lo, se esse for o caso.
O código completo pode ser encontrado aqui: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
Editar: verifiquei que os dados do campeão que são inseridos no neural_network_model, a previsão e o custo são todos tensores. Eu tenho tentado resolver o problema usando a hipótese de que o problema, de alguma forma, está na parte feed_dict = {} do código, mas não chega a lugar nenhum até agora
fonte