训练正常,在保存的时候保存,报错信息如下:
Traceback (most recent call last):
File "tools/train.py", line 32, in
engine.train()
File "/home/ubuntu/Desktop/Alex/PaddleClas/ppcls/engine/engine.py", line 384, in train
save_student_model=True)
File "/home/ubuntu/Desktop/Alex/PaddleClas/ppcls/utils/save_load.py", line 176, in save_model
paddle.save([opt.state_dict() for opt in optimizer], model_path + ".pdopt")
File "/home/ubuntu/miniconda3/envs/paddle/lib/python3.7/site-packages/paddle/framework/io.py", line 246, in save
"expect dict, but received %s." % type(obj))
NotImplementedError: Now only supports save state_dict of Layer or Optimizer, expect dict, but received <class 'list'>.
只改动了config文件,没有其他操作,paddlepaddle版本为2.0
纠正代码为 paddle.save(optimizer[0].state_dict(), model_path + ".pdopt"),就可以了.
不是很理解源代码为什么传一个列表给paddle.save,而optimizer列表里只有一个优化器
你好,请使用最新版的paddle
我的cudnn版本是7.6,cuda版本11.0,用最新的Paddle会报错