2017-08-01 13 views
1

プレースホルダ(keep_prob)の1つに問題があります。エラーはフロート値を供給する必要があると言いますが、私はすでにそれをやっています。私はそれを解決しようとしてきましたが、私は解決策を見つけられません。プレースホルダにエラーが発生しました

Error while running a convolutional network using my own data in Tensorflow

そして、私のエラーは、次のとおりです:私のコードはここにある

File "<ipython-input-81-fd184c90091e>", line 4, in <module> 
keep_prob = tf.placeholder(tf.float32) 
File "c:\python36\lib\site-packages\tensorflow\python\ops\array_ops.py", 
line 1530, in placeholder 
return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name) 
File "c:\python36\lib\site-packages\tensorflow\python\ops\gen_array_ops.py", 
line 1954, in _placeholder 
name=name) 
File "c:\python36\lib\site- 
packages\tensorflow\python\framework\op_def_library.py", line 767, in 
apply_op 
op_def=op_def) 
File "c:\python36\lib\site-packages\tensorflow\python\framework\ops.py", 
line 2506, in create_op 
original_op=self._default_original_op, op_def=op_def) 
File "c:\python36\lib\site-packages\tensorflow\python\framework\ops.py", 
line 1269, in __init__ 
self._traceback = _extract_stack() 

InvalidArgumentError (see above for traceback): You must feed a value for 
placeholder tensor 'Placeholder_17' with dtype float 
[[Node: Placeholder_17 = Placeholder[dtype=DT_FLOAT, shape=<unknown>, 
_device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

ありがとうございました。

答えて

2

あなたのエラーはあなたが思っているものではないと思われます。私はあなたのコードを実行することはできませんが、それを見て、私の推測では、以下の通りである。

あなたが訓練のためにOKです、ここkeep_prob値、給紙されています

train_step.run(feed_dict={x: image_batch_eval, y_: label_batch_eval, 
    keep_prob: 0.5}) 

をしかし、あなたが給紙されません、あなたも行う必要があり、ここでkeep_prob値、:

print('Precisión %g' % accuracy.eval(feed_dict={x: image_test_batch_eval, 
y_: label_test_batch_eval})) 

あなたのコードを見れば、accuracy操作が最終的にプレースホルダを必要とするこの操作、最大リーズ:

h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob) 

したがって、検証やテストの精度を評価している場合は、フィード値1.0を指定すると、トレーニング用にフィードしているものをフィードします。

試してみてください。

関連する問題