나는 tensorflow를 사용하여 간단한 신경망을 만들고 있는데, 내가 수집 한 데이터로 협력하지는 않습니다.
오류 메시지 :
TypeError : Fetch 인수 2861.6152 중 2861.6152에 유효하지 않은 type이 (가) 문자열 또는 Tensor 여야합니다. float32를 텐서 또는 작업으로 변환 할 수 없습니다.
오류는 내 코드에서 다음 줄을 나타냅니다.
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
내 코드에서 다음 줄을 주석 처리 할 때 오류가 발생하지 않는다는 것을 이미 알았습니다.
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})
따라서이 라인 중 하나는 예상 한 것과 다르게 보이지 않는 것을 얻는 것입니다. 나는 이미 명백한 시도 (batch_input에서 np.array () 제거 및 batch_output 또는 list ()로 대체)를 시도했지만 문제가 해결되지 않습니다. 내 현재 가설은 neural_network_model (champion_data)의 출력이 어떻게 든 모양이나 유형이 잘못되었다는 것입니다. 그러나 테스트 방법이나 그 경우에 어떻게 해결할 수 있는지 잘 모르겠습니다.
전체 코드는 여기에서 찾을 수 있습니다 : https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
편집 : neural_network_model에 입력 된 챔피언 데이터, 예측 및 비용이 모두 텐서임을 확인했습니다. 문제가 어떻게 든 코드의 feed_dict = {} 부분에 있지만 지금까지는 얻지 못한다는 가설을 사용하여 문제를 해결하려고했습니다.