我使用 mxnet 通过微调 resnet50 来进行图像回归(4 个标签)。
- 我在符号中用 LinearRegressionOutput 更改了 SoftmaxOutput
- 我将图像标签更改为数字
- 我使用 metric=mx.metric.MSE() 而不是训练 acc。
所以符号就像在最后一层。
{
"op": "FullyConnected",
"name": "fc",
"attr": {"num_hidden": "4"},
"inputs": [[430, 0, 0], [431, 0, 0], [432, 0, 0]]
},
{
"op": "null",
"name": "lro_label",
"inputs": []
},
{
"op": "LinearRegressionOutput",
"name": "lro",
"inputs": [[433, 0, 0], [434, 0, 0]]
}
],
但是当我运行代码时,我遇到了 simple_bind 之类的错误。
simple_bind 错误。参数: lro_label: (36,) data: (36, 3, 227, 227) Traceback (最近一次调用最后一次): File "finetune.py", line 59, in for_training=True) File "/usr/local/lib /python2.7/dist-packages/mxnet-0.10.1-py2.7.egg/mxnet/module/module.py”,第 388 行,在绑定 state_names=self._state_names) 文件“/usr/local/lib/ python2.7/dist-packages/mxnet-0.10.1-py2.7.egg/mxnet/module/executor_group.py”,第 214 行,在 init self.bind_exec(data_shapes, label_shapes, shared_group) 文件“/usr/local /lib/python2.7/dist-packages/mxnet-0.10.1-py2.7.egg/mxnet/module/executor_group.py”,第 310 行,在 bind_exec shared_group)) 文件“/usr/local/lib/python2 .7/dist-packages/mxnet-0.10.1-py2.7.egg/mxnet/module/executor_group.py",第 582 行,在 _bind_ith_exec shared_buffer=shared_data_arrays, **input_shapes) 文件中"
似乎错误发生在
mod = mx.module.Module( symbol=new_sym, context=ctx, data_names=('data',), label_names=('lro_label',))
mod.bind(data_shapes=[('data', (batch_size, 3, 227, 227))], label_shapes=[('lro_label', (batch_size,))], for_training=True)
输入输出不一样,但是我用softmax的时候就没有这个问题了。发生了什么?