环境是 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()
哪里有错误?
您可以“打印”神经网络的输出。可能您的输出是“nan”,这种情况会出现错误。