代码信息
以下为堆栈信息
TypeError Traceback (most recent call last)
Cell In[15], line 60
52 model.train(
53 epoch_size,
54 dataset_train,
55 callbacks=[ckpoint, LossMonitor(0.01, 1875), summary_collector],
56 )
59 # 执行训练
---> 60 train()
Cell In[15], line 52, in train()
34 summary_collector = SummaryCollector(summary_dir=summary_dir, collect_freq=1)
35 # interval_1 = [x for x in range(1, 4)]
36 # interval_2 = [x for x in range(7, 11)]
37 # summary_collector = SummaryCollector(
(...)
50 # )
51 # 训练网络模型,并保存为lenet-1_1875.ckpt文件
---> 52 model.train(
53 epoch_size,
54 dataset_train,
55 callbacks=[ckpoint, LossMonitor(0.01, 1875), summary_collector],
56 )
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:1082, in Model.train(self, epoch, train_dataset, callbacks, dataset_sink_mode, sink_size, initial_epoch)
1079 if callbacks:
1080 self._check_methods_for_custom_callbacks(callbacks, "train")
-> 1082 self._train(epoch,
1083 train_dataset,
1084 callbacks=callbacks,
1085 dataset_sink_mode=dataset_sink_mode,
1086 sink_size=sink_size,
1087 initial_epoch=initial_epoch)
1089 # When it's distributed training and using MindRT,
1090 # the node id should be reset to start from 0.
1091 # This is to avoid the timeout when finding the actor route tables in 'train' and 'eval' case(or 'fit').
1092 if _enable_distributed_mindrt():
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:115, in _save_final_ckpt.<locals>.wrapper(self, *args, **kwargs)
113 raise e
114 else:
--> 115 func(self, *args, **kwargs)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:630, in Model._train(self, epoch, train_dataset, callbacks, dataset_sink_mode, sink_size, initial_epoch, valid_dataset, valid_frequency, valid_dataset_sink_mode)
628 self._check_reuse_dataset(train_dataset)
629 if not dataset_sink_mode:
--> 630 self._train_process(epoch, train_dataset, list_callback, cb_params, initial_epoch, valid_infos)
631 elif context.get_context("device_target") == "CPU":
632 logger.info("The CPU cannot support dataset sink mode currently."
633 "So the training process will be performed with dataset not sink.")
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:939, in Model._train_process(self, epoch, train_dataset, list_callback, cb_params, initial_epoch, valid_infos)
936 overflow = np.all(overflow.asnumpy())
937 self._loss_scale_manager.update_loss_scale(overflow)
--> 939 list_callback.on_train_step_end(run_context)
940 # Embedding cache server only run one step.
941 if is_embedding_cache_server:
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_callback.py:437, in CallbackManager.on_train_step_end(self, run_context)
435 """Called after each train step finished."""
436 for cb in self._callbacks:
--> 437 cb.on_train_step_end(run_context)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_callback.py:279, in Callback.on_train_step_end(self, run_context)
272 def on_train_step_end(self, run_context):
273 """
274 Called after each training step end.
275
276 Args:
277 run_context (RunContext): Include some information of the model.
278 """
--> 279 self.step_end(run_context)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_summary_collector.py:493, in SummaryCollector.step_end(self, run_context)
491 if not self._has_saved_graph:
492 self._collect_graphs(cb_params)
--> 493 self._collect_dataset_graph(cb_params)
494 self._has_saved_graph = True
495 self._record.record(cb_params.cur_step_num)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_summary_collector.py:746, in SummaryCollector._collect_dataset_graph(self, cb_params)
744 train_dataset = cb_params.train_dataset
745 dataset_graph = DatasetGraph()
--> 746 graph_bytes = dataset_graph.package_dataset_graph(train_dataset)
747 if graph_bytes is None:
748 return
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:53, in DatasetGraph.package_dataset_graph(self, dataset)
51 children = dataset_dict.pop("children")
52 if children:
---> 53 self._package_children(children=children, message=dataset_graph_proto)
54 self._package_current_dataset(operation=dataset_dict, message=dataset_graph_proto)
55 return dataset_graph_proto
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:70, in DatasetGraph._package_children(self, children, message)
68 grandson = child.pop("children")
69 if grandson:
---> 70 self._package_children(children=grandson, message=child_graph_message)
71 # package other parameters
72 self._package_current_dataset(operation=child, message=child_graph_message)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:70, in DatasetGraph._package_children(self, children, message)
68 grandson = child.pop("children")
69 if grandson:
---> 70 self._package_children(children=grandson, message=child_graph_message)
71 # package other parameters
72 self._package_current_dataset(operation=child, message=child_graph_message)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:72, in DatasetGraph._package_children(self, children, message)
70 self._package_children(children=grandson, message=child_graph_message)
71 # package other parameters
---> 72 self._package_current_dataset(operation=child, message=child_graph_message)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:95, in DatasetGraph._package_current_dataset(self, operation, message)
90 self._package_enhancement_operation(
91 value,
92 message.sampler
93 )
94 else:
---> 95 self._package_parameter(key, value, message.parameter)
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:133, in DatasetGraph._package_parameter(key, value, message)
131 message.mapBool[key] = value
132 elif isinstance(value, int):
--> 133 message.mapInt[key] = value
134 elif isinstance(value, float):
135 message.mapDouble[key] = value
File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/google/protobuf/internal/containers.py:315, in RepeatedCompositeFieldContainer.__setitem__(self, key, value)
311 def __setitem__(self, key, value):
312 # This method is implemented to make RepeatedCompositeFieldContainer
313 # structurally compatible with typing.MutableSequence. It is
314 # otherwise unsupported and will always raise an error.
--> 315 raise TypeError(
316 f'{self.__class__.__name__} object does not support item assignment')
TypeError: RepeatedCompositeFieldContainer object does not support item assignment
期望 : 可以解决报错 或者可以给一下成功可视化的代码文件与可视化日志文件
代码信息 以下为堆栈信息 TypeError Traceback (most recent call last) Cell In[15], line 60 52 model.train( 53 epoch_size, 54 dataset_train, 55 callbacks=[ckpoint, LossMonitor(0.01, 1875), summary_collector], 56 ) 59 # 执行训练 ---> 60 train() Cell In[15], line 52, in train() 34 summary_collector = SummaryCollector(summary_dir=summary_dir, collect_freq=1) 35 # interval_1 = [x for x in range(1, 4)] 36 # interval_2 = [x for x in range(7, 11)] 37 # summary_collector = SummaryCollector( (...) 50 # ) 51 # 训练网络模型,并保存为lenet-1_1875.ckpt文件 ---> 52 model.train( 53 epoch_size, 54 dataset_train, 55 callbacks=[ckpoint, LossMonitor(0.01, 1875), summary_collector], 56 ) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:1082, in Model.train(self, epoch, train_dataset, callbacks, dataset_sink_mode, sink_size, initial_epoch) 1079 if callbacks: 1080 self._check_methods_for_custom_callbacks(callbacks, "train") -> 1082 self._train(epoch, 1083 train_dataset, 1084 callbacks=callbacks, 1085 dataset_sink_mode=dataset_sink_mode, 1086 sink_size=sink_size, 1087 initial_epoch=initial_epoch) 1089 # When it's distributed training and using MindRT, 1090 # the node id should be reset to start from 0. 1091 # This is to avoid the timeout when finding the actor route tables in 'train' and 'eval' case(or 'fit'). 1092 if _enable_distributed_mindrt(): File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:115, in _save_final_ckpt.<locals>.wrapper(self, *args, **kwargs) 113 raise e 114 else: --> 115 func(self, *args, **kwargs) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:630, in Model._train(self, epoch, train_dataset, callbacks, dataset_sink_mode, sink_size, initial_epoch, valid_dataset, valid_frequency, valid_dataset_sink_mode) 628 self._check_reuse_dataset(train_dataset) 629 if not dataset_sink_mode: --> 630 self._train_process(epoch, train_dataset, list_callback, cb_params, initial_epoch, valid_infos) 631 elif context.get_context("device_target") == "CPU": 632 logger.info("The CPU cannot support dataset sink mode currently." 633 "So the training process will be performed with dataset not sink.") File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/model.py:939, in Model._train_process(self, epoch, train_dataset, list_callback, cb_params, initial_epoch, valid_infos) 936 overflow = np.all(overflow.asnumpy()) 937 self._loss_scale_manager.update_loss_scale(overflow) --> 939 list_callback.on_train_step_end(run_context) 940 # Embedding cache server only run one step. 941 if is_embedding_cache_server: File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_callback.py:437, in CallbackManager.on_train_step_end(self, run_context) 435 """Called after each train step finished.""" 436 for cb in self._callbacks: --> 437 cb.on_train_step_end(run_context) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_callback.py:279, in Callback.on_train_step_end(self, run_context) 272 def on_train_step_end(self, run_context): 273 """ 274 Called after each training step end. 275 276 Args: 277 run_context (RunContext): Include some information of the model. 278 """ --> 279 self.step_end(run_context) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_summary_collector.py:493, in SummaryCollector.step_end(self, run_context) 491 if not self._has_saved_graph: 492 self._collect_graphs(cb_params) --> 493 self._collect_dataset_graph(cb_params) 494 self._has_saved_graph = True 495 self._record.record(cb_params.cur_step_num) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_summary_collector.py:746, in SummaryCollector._collect_dataset_graph(self, cb_params) 744 train_dataset = cb_params.train_dataset 745 dataset_graph = DatasetGraph() --> 746 graph_bytes = dataset_graph.package_dataset_graph(train_dataset) 747 if graph_bytes is None: 748 return File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:53, in DatasetGraph.package_dataset_graph(self, dataset) 51 children = dataset_dict.pop("children") 52 if children: ---> 53 self._package_children(children=children, message=dataset_graph_proto) 54 self._package_current_dataset(operation=dataset_dict, message=dataset_graph_proto) 55 return dataset_graph_proto File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:70, in DatasetGraph._package_children(self, children, message) 68 grandson = child.pop("children") 69 if grandson: ---> 70 self._package_children(children=grandson, message=child_graph_message) 71 # package other parameters 72 self._package_current_dataset(operation=child, message=child_graph_message) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:70, in DatasetGraph._package_children(self, children, message) 68 grandson = child.pop("children") 69 if grandson: ---> 70 self._package_children(children=grandson, message=child_graph_message) 71 # package other parameters 72 self._package_current_dataset(operation=child, message=child_graph_message) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:72, in DatasetGraph._package_children(self, children, message) 70 self._package_children(children=grandson, message=child_graph_message) 71 # package other parameters ---> 72 self._package_current_dataset(operation=child, message=child_graph_message) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:95, in DatasetGraph._package_current_dataset(self, operation, message) 90 self._package_enhancement_operation( 91 value, 92 message.sampler 93 ) 94 else: ---> 95 self._package_parameter(key, value, message.parameter) File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/mindspore/train/callback/_dataset_graph.py:133, in DatasetGraph._package_parameter(key, value, message) 131 message.mapBool[key] = value 132 elif isinstance(value, int): --> 133 message.mapInt[key] = value 134 elif isinstance(value, float): 135 message.mapDouble[key] = value File ~/miniconda/envs/jupyter/lib/python3.9/site-packages/google/protobuf/internal/containers.py:315, in RepeatedCompositeFieldContainer.__setitem__(self, key, value) 311 def __setitem__(self, key, value): 312 # This method is implemented to make RepeatedCompositeFieldContainer 313 # structurally compatible with typing.MutableSequence. It is 314 # otherwise unsupported and will always raise an error. --> 315 raise TypeError( 316 f'{self.__class__.__name__} object does not support item assignment') TypeError: RepeatedCompositeFieldContainer object does not support item assignment