对优化器添加梯度修改函数,引发模型运行时异常(RuntimeError: mindspore/ccsrc/pipeline/jit/parse/parse.cc:608 ParseExprNode] Unsupported express)
[CRITICAL] PARSER(309,ffff85508b40,python):2023-08-04-09:17:20.945.432 [mindspore/ccsrc/pipeline/jit/parse/parse.cc:608] ParseExprNode] Unsupported expression 'Yield'.
More details please refer to syntax support at https://www.mindspore.cn
Traceback (most recent call last):
File "/home/work/user-job-dir/code/test_setup.py", line 165, in <module>
alpha.fine_tune(config)
File "/cache/user-job-dir/code/pcl_pangu/model/alpha/alpha.py", line 55, in fine_tune
run_ms_train(config_dict)
File "/cache/user-job-dir/code/pcl_pangu/model/alpha/alpha.py", line 152, in run_ms_train
main(new_opt)
File "/cache/user-job-dir/code/pcl_pangu/model/panguAlpha_mindspore/train_alpha_ms13.py", line 450, in main
model.train(args_opt.train_iters, ds, callbacks=callback, sink_size=callback_size, dataset_sink_mode=True)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/train/model.py", line 906, in train
sink_size=sink_size)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/train/model.py", line 87, in wrapper
func(self, *args, **kwargs)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/train/model.py", line 548, in _train
self._train_dataset_sink_process(epoch, train_dataset, list_callback, cb_params, sink_size)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/train/model.py", line 628, in _train_dataset_sink_process
outputs = train_network(*inputs)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/nn/cell.py", line 586, in __call__
out = self.compile_and_run(*args)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/nn/cell.py", line 964, in compile_and_run
self.compile(*inputs)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/nn/cell.py", line 937, in compile
_cell_graph_executor.compile(self, *inputs, phase=self.phase, auto_parallel_mode=self._auto_parallel_mode)
File "/usr/local/ma/python3.7/lib/python3.7/site-packages/mindspore/common/api.py", line 1006, in compile
result = self._graph_executor.compile(obj, args_list, phase, self._use_vm_mode())
RuntimeError: mindspore/ccsrc/pipeline/jit/parse/parse.cc:608 ParseExprNode] Unsupported expression 'Yield'.
More details please refer to syntax support at https://www.mindspore.cn
# In file /usr/local/ma/python3.7/lib/python3.7/xml/etree/ElementPath.py(102)
yield e
^
****************************************************解答*****************************************************
RuntimeError: mindspore/ccsrc/pipeline/jit/parse/parse.cc:608 ParseExprNode] Unsupported expression 'Yield'.
# In file /usr/local/ma/python3.7/lib/python3.7/xml/etree/ElementPath.py(102)
yield e
在图模式下,有些Python语法难以转换成图模式下的中间表示MindIR。对标Python的关键字,存在部分关键字在图模式下是不支持的:AsyncFunctionDef、ClassDef、Delete、AnnAssign、AsyncFor、AsyncWith、Match、Try、Import、ImportFrom、Nonlocal、NamedExpr、Set、SetComp、DictComp、Await、Yield、YieldFrom、Starred。如果在图模式下使用相关的语法,将会有相应的报错信息提醒用户。
见[基础语法的语法约束](https://www.mindspore.cn/docs/zh-CN/r2.1/note/static_graph_syntax_support.html#%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95%E7%9A%84%E8%AF%AD%E6%B3%95%E7%BA%A6%E6%9D%9F)第三点