问题描述:
训练环境:
Windows10 64bit;
MindSpore1.5.2;
CPU;
python3.7.5;
训练 CIFAR-10 Image Classification 把图片归为10类
模型建立后开始train,在这一步
epoch = 10 # Number of epochs
# Start training.
model.train(epoch, train_data, callbacks=[train_hist_cb, eval_hist_cb, time_cb, ckpoint_cb, loss_cb], dataset_sink_mode=dataset_sink_mode)
出现了问题
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
C:UsersLenovoAppDataLocalTempipykernel_12052415747502.py in
1 epoch = 10 # Number of epochs
2 # Start training.
----> 3 model.train(epoch, train_data, callbacks=[train_hist_cb, eval_hist_cb, time_cb, ckpoint_cb, loss_cb], dataset_sink_mode=dataset_sink_mode)
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporetrainmodel.py in train(self, epoch, train_dataset, callbacks, dataset_sink_mode, sink_size)
724 callbacks=callbacks,
725 dataset_sink_mode=dataset_sink_mode,
--> 726 sink_size=sink_size)
727
728 def build(self, train_dataset=None, valid_dataset=None, sink_size=-1, epoch=1):
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporetrainmodel.py in _train(self, epoch, train_dataset, callbacks, dataset_sink_mode, sink_size)
496 self._check_reuse_dataset(train_dataset)
497 if not dataset_sink_mode:
--> 498 self._train_process(epoch, train_dataset, list_callback, cb_params)
499 elif context.get_context("device_target") == "CPU":
500 logger.warning("The CPU cannot support dataset sink mode currently."
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporetrainmodel.py in _train_process(self, epoch, train_dataset, list_callback, cb_params)
624 cb_params.train_dataset_element = next_element
625 list_callback.step_begin(run_context)
--> 626 outputs = self._train_network(*next_element)
627 cb_params.net_outputs = outputs
628 if self._loss_scale_manager and self._loss_scale_manager.get_drop_overflow_update():
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporenncell.py in __call__(self, *inputs, **kwargs)
405 if self.enable_hook:
406 raise ValueError("The graph mode does not support hook function.")
--> 407 out = self.compile_and_run(*inputs)
408 return out
409
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporenncell.py in compile_and_run(self, *inputs)
748 parallel_inputs_run = new_inputs
749 return _cell_graph_executor(self, *parallel_inputs_run, phase=self.phase)
--> 750 return _cell_graph_executor(self, *new_inputs, phase=self.phase)
751
752 def auto_parallel_compile_and_run(self):
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporecommonapi.py in __call__(self, obj, phase, *args)
628 if context.get_context("precompile_only") or _is_role_pserver():
629 return None
--> 630 return self.run(obj, *args, phase=phase)
631
632 @_wrap_func
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporecommonapi.py in run(self, obj, phase, *args)
656 phase_real = phase + '.' + str(obj.create_time) + '.' + str(id(obj)) + '.' + obj.arguments_key
657 if self.has_compiled(phase_real):
--> 658 return self._exec_pip(obj, *args, phase=phase_real)
659 raise KeyError('{} graph is not exist.'.format(phase_real))
660
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporecommonapi.py in wrapper(*arg, **kwargs)
76 @wraps(fn)
77 def wrapper(*arg, **kwargs):
---> 78 results = fn(*arg, **kwargs)
79
80 def _convert_data(data):
C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporecommonapi.py in _exec_pip(self, obj, phase, *args)
639 args_list = tuple(arguments_dict.values())
640 obj.__parse_method__ = parse_method
--> 641 return self._graph_executor(args_list, phase)
642
643 def run(self, obj, *args, phase='predict'):
RuntimeError: mindsporeccsrcruntimedevicecpucpu_kernel_runtime.cc:473 Run] mindsporeccsrcbackendkernel_compilercpumkldnnsparse_softmax_cross_entropy_with_logits_cpu_kernel.cc:82 ForwardPostExecute] Error label input!
# In file C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporeops_gradgrad_array_ops.py(185)
return reshape(dout, shapex), zeros_like(shp)
^
Trace:
In file C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporennlossloss.py(579)/ x = self.sparse_softmax_cross_entropy(logits, labels)/
In file C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporennwrapcell_wrapper.py(111)/ return self._loss_fn(out, label)/
In file C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporennwrapcell_wrapper.py(353)/ loss = self.network(*inputs)/
Corresponding forward node candidate:
# In file C:UsersLenovoAppDataRoamingPythonPython37site-packagesmindsporeops_gradgrad_array_ops.py(185)
return reshape(dout, shapex), zeros_like(shp)
查看label读取:
解答:
标签错了,一共10类,不可能有大于9的数,可以跑cifar10的的例子可以参考cifar10的训练 models: Models of MindSpore - Gitee.com



