- 1.背景介绍
- 2.解决方案
使用百度paddlepaddle2.3、parl1.1运行强化学习代码,但报了错误TypeError: fc() got an unexpected keyword argument ‘is_test’,报错信息如下:
Traceback (most recent call last): File "TrainMaze.py", line 167, intrain_test() File "TrainMaze.py", line 85, in train_test agent = MazeAgent(alg, obs_dim=OBS_DIM, act_dim=ACT_DIM) File "/home/my-mcpg/MazeAgent.py", line 17, in __init__ super(MazeAgent, self).__init__(algorithm) File "/root/miniconda3/lib/python3.8/site-packages/parl/framework/agent_base.py", line 46, in __init__ self.build_program() File "/home/my-mcpg/MazeAgent.py", line 30, in build_program self.act_prob = self.alg.define_predict(obs) File "/root/miniconda3/lib/python3.8/site-packages/parl/algorithms/policy_gradient.py", line 31, in define_predict return self.model.policy(obs) File "/home/my-mcpg/MazeModel.py", line 17, in policy out = self.fc1(obs) File "/root/miniconda3/lib/python3.8/site-packages/parl/layers/layer_wrappers.py", line 149, in __call__ return layers.fc( TypeError: fc() got an unexpected keyword argument 'is_test'
报错信息比较友好,都有提示。提示说在:/root/miniconda3/lib/python3.8/site-packages/parl/layers/layer_wrappers.py文件的第149行,有一个不期待的关键参数is_test。
2.解决方案使用vim编辑器打开定位的文件
vim /root/miniconda3/lib/python3.8/site-packages/parl/layers/layer_wrappers.py
查看文件行数
:set number
编辑文件,把末尾的is_test=False删掉,使用:wq!命令保存文件
:wq!
重新运行文件,发现问题解决,不再报错。



