【问题标题】:InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [1,246,381,3] vs. shape[1] = [1,252,367,3]InvalidArgumentError:ConcatOp:输入的尺寸应匹配:shape[0] = [1,246,381,3] 与 shape[1] = [1,252,367,3]
【发布时间】:2017-08-09 12:10:57
【问题描述】:

这是我的代码 sn-p,我是如何连接所有火车图像(左右和单独蒙版)的。在变量 l 中,分配了形状为 [4, ?, ?, 3] 的 r 张量。

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()

使用 eval() 时出现此错误?

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"]()]]

如何使用动态补丁大小训练我的训练集?同时,循环遍历我的图像并为我的 CNN 提供一张又一张的图像。

_, 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()})

【问题讨论】:

    标签: tensorflow computer-vision


    【解决方案1】:

    我遇到了完全相同的问题,我认为这是因为 Faster R-CNN 的论文中的批量大小为 1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2021-12-31
      • 2019-11-24
      • 1970-01-01
      • 2022-01-16
      • 2017-04-26
      • 2023-03-19
      相关资源
      最近更新 更多