我收到此错误(ValueError:参数 loc 具有无效值),该错误中止了我的代理的训练。环境是openai的摆

问题描述 投票:0回答:1

环境是 OpenAI Gym 的 Pendulum。 Pytorch 1.9.1+cu102是用于训练模型的包。

此错误发生在代码周围:

out = Lorian(torch.tensor(observation))
distro = torch.distributions.Normal(out[0],torch.absolute(out[1]))

错误:

Traceback (most recent call last):
  File "D:\pythons\pendulum\Main1.py", line 90, in <module>
    distro = torch.distributions.Normal(out[0],torch.absolute(out[1]))
  File "C:\Users\Mukundan1\AppData\Local\Programs\Python\Python39\lib\site-packages\torch\distributions\normal.py", line 50, in __init__
    super(Normal, self).__init__(batch_shape, validate_args=validate_args)
  File "C:\Users\Mukundan1\AppData\Local\Programs\Python\Python39\lib\site-packages\torch\distributions\distribution.py", line 53, in __init__
    raise ValueError("The parameter {} has invalid values".format(param))
ValueError: The parameter loc has invalid values

对对象“distro”进行采样,以获得代理在给定当前观察结果的情况下的决策。

Lorian
是该模型/神经网络的名称。 神经网络的输出可以是正数,也可以是负数,但由于使用了
torch.absolute(out[1])
,与平均值的标准差只能是正数。

在我开始使用

out[1]
的绝对值之前,错误基本上是相同的,只是它不是
'loc'
,而是说
'scale'

我输入的

torch.distributions.Normal()
哪里有错误?

python pytorch reinforcement-learning openai-gym
1个回答
0
投票

您可以“打印”神经网络的输出。可能您的输出是“nan”,这种情况会出现错误。

© www.soinside.com 2019 - 2024. All rights reserved.