質問

Tensorflowを使用して単純なニューラルネットワークを作成していますが、自分自身を収集したデータを使用して、協力していません。PIは修正できない、または修正を見つけることができないエラーが発生し、あなたの助けが大好きです。

エラーズ:

TypeRror:2861.6152の引数2861.6152のフェッチには無効なタイプがあり、文字列またはテンソルでなければなりません。 (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})

したがって、これらの行の1つが、見た目とはまったく見えないものを手に入れることです。私はすでに明らかなことを試しました(batch_inputとbatch_outputからnp.array()を削除するか、それをlist()に置き換えます)が、それは問題を解決しません。私の現在の仮説は、neural_network_model(champion_data)の出力は何らかの形で間違った形状またはタイプであるということですが、それが事実であることが判明した場合、それをどのようにテストするか、または解決する方法がわかりません。

完全なコードはここにあります:https://gist.github.com/hasseiona/4bcaf9f95ae828e056d5210a2ea07f88

編集:neural_network_modelに入力されるチャンピオンデータ、予測とコストはすべてテンソルであることを確認しました。私は、問題が何らかの形でfeed_dict = {}コードの部分にあるという仮説を使用して問題を解決しようとしてきましたが、これまでのところどこにも行かない

役に立ちましたか?

解決

問題は、「コスト」という名前を2回使用することにあり、これを変更することで問題は解決されました。

_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

これに:

_, c = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})

このようにして、変数「C」の名前は、コードの[オプティマイザー、コスト]の一部と衝突しなくなります。

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top