我试图运行使用Mxnet library在python中的this image classification example以及预先训练的深度学习模型Inception-BN。执行罚球和错误在这条线:prob = model.predict(batch)[0]
出现错误消息:在Python上运行使用Mxnet库的深度学习图像分类示例的错误
MXNetError: InferShape Error in ch_concat_3c_chconcat: [14:35:56] src/operator/./concat-inl.h:152: Check failed: (dshape[j]) == (tmp[j]) Incorrect shape[2]: (1,320,15,15). (first input shape: (1,576,14,14))
我试图重新下载盗梦空间-BN模型,以确保它是最新的,但它并没有发挥作用。我怀疑问题可能在线:model = mx.model.FeedForward.load(prefix, num_round, ctx=mx.gpu(), numpy_batch_size=1)
我必须更改gpu对于cpu因为我的服务器没有配备gpu。尽管如此,这个错误似乎并没有指向这个方向。
任何想法如何解决它?使用cpu而不是gpu是性能较低的问题吗?
最后这里是完整的错误信息:
---------------------------------------------------------------------------
MXNetError Traceback (most recent call last)
<ipython-input-7-98e51e4226e1> in <module>()
1 # Get prediction probability of 1000 classes from model
----> 2 prob = model.predict(batch)[0]
3 # Argsort, get prediction index from largest prob to lowest
4 pred = np.argsort(prob)[::-1]
5 # Get top1 label
/users/CREATE/olb/mxnet/python/mxnet/model.pyc in predict(self, X, num_batch, return_data, reset)
589 data_shapes = X.provide_data
590 data_names = [x[0] for x in data_shapes]
--> 591 self._init_predictor(data_shapes)
592 batch_size = X.batch_size
593 data_arrays = [self._pred_exec.arg_dict[name] for name in data_names]
/users/CREATE/olb/mxnet/python/mxnet/model.pyc in _init_predictor(self, input_shapes)
520 # for now only use the first device
521 pred_exec = self.symbol.simple_bind(
--> 522 self.ctx[0], grad_req='null', **dict(input_shapes))
523 pred_exec.copy_params_from(self.arg_params, self.aux_params)
524
/users/CREATE/olb/mxnet/python/mxnet/symbol.pyc in simple_bind(self, ctx, grad_req, type_dict, **kwargs)
623 if type_dict is None:
624 type_dict = {k: mx_real_t for k in self.list_arguments()}
--> 625 arg_shapes, _, aux_shapes = self.infer_shape(**kwargs)
626 arg_types, _, aux_types = self.infer_type(**type_dict)
627 if arg_shapes == None or arg_types == None:
/users/CREATE/olb/mxnet/python/mxnet/symbol.pyc in infer_shape(self, *args, **kwargs)
410 The order is in the same order as list_auxiliary()
411 """
--> 412 return self._infer_shape_impl(False, *args, **kwargs)
413
414 def infer_shape_partial(self, *args, **kwargs):
/users/CREATE/olb/mxnet/python/mxnet/symbol.pyc in _infer_shape_impl(self, partial, *args, **kwargs)
470 ctypes.byref(aux_shape_ndim),
471 ctypes.byref(aux_shape_data),
--> 472 ctypes.byref(complete)))
473 if complete.value != 0:
474 arg_shapes = [
/users/CREATE/olb/mxnet/python/mxnet/base.pyc in check_call(ret)
75 """
76 if ret != 0:
---> 77 raise MXNetError(py_str(_LIB.MXGetLastError()))
78
79 def c_str(string):
MXNetError: InferShape Error in ch_concat_3c_chconcat: [14:35:56] src/operator/./concat-inl.h:152: Check failed: (dshape[j]) == (tmp[j]) Incorrect shape[2]: (1,320,15,15). (first input shape: (1,576,14,14))