问题描述:
训练环境:
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:\Users\Lenovo\AppData\Local\Temp\ipykernel_12052\415747502.py in <module>
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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\train\model.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\train\model.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\train\model.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\nn\cell.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\nn\cell.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\common\api.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\common\api.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\common\api.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:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\common\api.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: mindspore\ccsrc\runtime\device\cpu\cpu_kernel_runtime.cc:473 Run] mindspore\ccsrc\backend\kernel_compiler\cpu\mkldnn\sparse_softmax_cross_entropy_with_logits_cpu_kernel.cc:82 ForwardPostExecute] Error label input!
# In file C:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\ops\_grad\grad_array_ops.py(185)
return reshape(dout, shapex), zeros_like(shp)
^
Trace:
In file C:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\nn\loss\loss.py(579)/ x = self.sparse_softmax_cross_entropy(logits, labels)/
In file C:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\nn\wrap\cell_wrapper.py(111)/ return self._loss_fn(out, label)/
In file C:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\nn\wrap\cell_wrapper.py(353)/ loss = self.network(*inputs)/
Corresponding forward node candidate:
# In file C:\Users\Lenovo\AppData\Roaming\Python\Python37\site-packages\mindspore\ops\_grad\grad_array_ops.py(185)
return reshape(dout, shapex), zeros_like(shp)
查看label读取:
解答:
标签错了,一共10类,不可能有大于9的数,可以跑cifar10的的例子可以参考cifar10的训练 models: Models of MindSpore – Gitee.com
文章出处登录后可见!