2017-05-06 1 views
2

Je suis nouveau sur tensorflow et tflearn et j'obtiens cette erreur lors de l'apprentissage du modèle.InvalidArgumentError: Vous devez alimenter une valeur pour le tenseur d'espace réservé 'input_1/X' avec dtype float

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

Voici mon code de préférence. Où train et test sont des tableaux numpy ayant un premier élément comme image et un second élément comme étiquette. J'essaye d'adapter mon modèle par cette ligne.

model.fit({'input': X}, {'targets': Y}, n_epoch=5, validation_set=({'input': test_x}, {'targets': test_y}), snapshot_step=500, show_metric=True, run_id=MODEL_NAME) 

Ceci est l'erreur complète que je reçois:

InvalidArgumentError      Traceback (most recent call last) 
<ipython-input-34-cf830d06009d> in <module>() 
----> 1 model.fit({'input': X}, {'targets': Y}, n_epoch=5, validation_set=({'input': test_x}, {'targets': test_y}), snapshot_step=500, show_metric=True, run_id=MODEL_NAME) 

/usr/local/lib/python2.7/dist-packages/tflearn/models/dnn.pyc in fit(self, X_inputs, Y_targets, n_epoch, validation_set, show_metric, batch_size, shuffle, snapshot_epoch, snapshot_step, excl_trainops, validation_batch_size, run_id, callbacks) 
    213       excl_trainops=excl_trainops, 
    214       run_id=run_id, 
--> 215       callbacks=callbacks) 
    216 
    217  def predict(self, X): 

/usr/local/lib/python2.7/dist-packages/tflearn/helpers/trainer.pyc in fit(self, feed_dicts, n_epoch, val_feed_dicts, show_metric, snapshot_step, snapshot_epoch, shuffle_all, dprep_dict, daug_dict, excl_trainops, run_id, callbacks) 
    331              (bool(self.best_checkpoint_path) | snapshot_epoch), 
    332              snapshot_step, 
--> 333              show_metric) 
    334 
    335        # Update training state 

/usr/local/lib/python2.7/dist-packages/tflearn/helpers/trainer.pyc in _train(self, training_step, snapshot_epoch, snapshot_step, show_metric) 
    772   tflearn.is_training(True, session=self.session) 
    773   _, train_summ_str = self.session.run([self.train, self.summ_op], 
--> 774            feed_batch) 
    775 
    776   # Retrieve loss value from summary string 

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata) 
    776  try: 
    777  result = self._run(None, fetches, feed_dict, options_ptr, 
--> 778       run_metadata_ptr) 
    779  if run_metadata: 
    780   proto_data = tf_session.TF_GetBuffer(run_metadata_ptr) 

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata) 
    980  if final_fetches or final_targets: 
    981  results = self._do_run(handle, final_targets, final_fetches, 
--> 982        feed_dict_string, options, run_metadata) 
    983  else: 
    984  results = [] 

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata) 
    1030  if handle is None: 
    1031  return self._do_call(_run_fn, self._session, feed_dict, fetch_list, 
-> 1032       target_list, options, run_metadata) 
    1033  else: 
    1034  return self._do_call(_prun_fn, self._session, handle, feed_dict, 

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_call(self, fn, *args) 
    1050   except KeyError: 
    1051   pass 
-> 1052  raise type(e)(node_def, op, message) 
    1053 
    1054 def _extend_graph(self): 

InvalidArgumentError: You must feed a value for placeholder tensor 'input_1/X' with dtype float 
    [[Node: input_1/X = Placeholder[dtype=DT_FLOAT, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

Caused by op u'input_1/X', defined at: 
    File "<string>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/kernelapp.py", line 469, in main 
    app.start() 
    File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/kernelapp.py", line 459, in start 
    ioloop.IOLoop.instance().start() 
    File "/usr/lib/python2.7/dist-packages/zmq/eventloop/ioloop.py", line 162, in start 
    super(ZMQIOLoop, self).start() 
    File "/usr/lib/python2.7/dist-packages/tornado/ioloop.py", line 887, in start 
    handler_func(fd_obj, events) 
    File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper 
    return fn(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events 
    self._handle_recv() 
    File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv 
    self._run_callback(callback, msg) 
    File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback 
    callback(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper 
    return fn(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/ipkernel.py", line 281, in dispatcher 
    return self.dispatch_shell(stream, msg) 
    File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/ipkernel.py", line 245, in dispatch_shell 
    handler(stream, idents, msg) 
    File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/ipkernel.py", line 389, in execute_request 
    shell.run_cell(code, store_history=store_history, silent=silent) 
    File "/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2741, in run_cell 
    interactivity=interactivity, compiler=compiler) 
    File "/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes 
    if self.run_code(code): 
    File "/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2883, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-14-fe1453e052a7>", line 6, in <module> 
    convnet = input_data(shape=[None, IMG_SIZE, IMG_SIZE, 1], name='input') 
    File "/usr/local/lib/python2.7/dist-packages/tflearn/layers/core.py", line 81, in input_data 
    placeholder = tf.placeholder(shape=shape, dtype=dtype, name="X") 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/array_ops.py", line 1507, in placeholder 
    name=name) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 1997, in _placeholder 
    name=name) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 768, in apply_op 
    op_def=op_def) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2336, in create_op 
    original_op=self._default_original_op, op_def=op_def) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1228, in __init__ 
    self._traceback = _extract_stack() 

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

Répondre

1

ajouter dtype=np.float64 de déclarer le type comme flotteur.

X = np.array([i[0] for i in train], dtype=np.float64).reshape(-1, IMG_SIZE, IMG_SIZE, 1) 
Y = np.array([i[1] for i in train], dtype=np.float64) 

test_x = np.array([i[0] for i in test], dtype=np.float64).reshape(-1, IMG_SIZE, IMG_SIZE, 1) 
test_y = np.array([i[1] for i in test], dtype=np.float64)