Mindspore在train时RuntimeError报错

问题描述:

训练环境:

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读取:

Mindspore在train时RuntimeError报错

 

解答:

标签错了,一共10类,不可能有大于9的数,可以跑cifar10的的例子可以参考cifar10的训练 models: Models of MindSpore – Gitee.com

Mindspore在train时RuntimeError报错 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年6月15日
下一篇 2022年10月8日

相关推荐