2017-08-09 4 views
0

Dies ist mein Code-Snippet, wie ich alle Zugbilder verarbeite (links und rechts und Maske separat). In den Variablen l sind r Tensoren mit der Form [4, ?, ?, 3] zugeordnet.InvalidArgumentError: ConcatOp: Die Abmessungen der Eingaben sollten übereinstimmen: shape [0] = [1,246,381,3] vs. shape [1] = [1,252,367,3]

with tf.Session() as session: 
    l_train = [x.l_img for x in images][:4] 
    r_train = [x.r_img for x in images][:4] 
    m_train = [x.mask for x in images][:4] 
    l = tf.concat(l_train, 0) 
    r = tf.concat(r_train, 0) 
    m = tf.concat(m_train, 0) 

    l.eval() 

Bei der Verwendung von eval() habe ich diesen Fehler?

Traceback (most recent call last): 

    File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code 
exec(code_obj, self.user_global_ns, self.user_ns) 

    File "<ipython-input-5-f78dccf94f7f>", line 1, in <module> 
l.eval() 

    File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 606, in eval 
return _eval_using_default_session(self, feed_dict, self.graph, session) 

    File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 3928, in _eval_using_default_session 
return session.run(tensors, feed_dict) 

    File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 789, in run 
run_metadata_ptr) 

    File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 997, in _run 
feed_dict_string, options, run_metadata) 

    File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1132, in _do_run 
target_list, options, run_metadata) 

File "/home/test/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1152, in _do_call 
raise type(e)(node_def, op, message) 

InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [1,246,381,3] vs. shape[1] = [1,252,367,3] 
[[Node: concat = ConcatV2[N=4, T=DT_FLOAT, Tidx=DT_INT32, _device="/job:localhost/replica:0/task:0/gpu:0"](Reading/reshape_t_left/_1, Reading/reshape_t_left_1/_3, Reading/reshape_t_left_2/_5, Reading/reshape_t_left_3/_7, concat/axis)]] 
[[Node: concat/_9 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_370_concat", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

Wie trainiere ich mein Training mit dynamischen Patchgrößen? In der Zwischenzeit überstreiche ich meine Bilder und füttere meinen CNN mit einem Bild nach dem anderen.

_, summary_str, costs = sess.run([optimizer, merged_summary_op, cost_function], 
             feed_dict={t_im0: l.eval(), t_im1: r.eval(), 
                t_label: m.eval()}) 

Antwort

0

Ich habe genau das gleiche Problem, und ich denke, es liegt daran, dass die Losgröße 1 auf dem Papier von Faster R-CNN ist.