用LBFGS优化器时出现了个错误:
Traceback (most recent call last): File "D:\000Work\PINNsDen\BESTas_256FD.py", line 513, in <module> model.train(0) File "D:\000Work\PINNsDen\BESTas_256FD.py", line 370, in train self.optimizer.step(self.loss_func) File "D:\SoftWare\Anaconda3\lib\site-packages\torch\optim\optimizer.py", line 373, in wrapper out = func(*args, **kwargs) File "D:\SoftWare\Anaconda3\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context return func(*args, **kwargs) File "D:\SoftWare\Anaconda3\lib\site-packages\torch\optim\lbfgs.py", line 426, in step loss, flat_grad, t, ls_func_evals = _strong_wolfe( File "D:\SoftWare\Anaconda3\lib\site-packages\torch\optim\lbfgs.py", line 178, in _strong_wolfe t = bracket[low_pos] IndexError: list index out of range Process finished with exit code 1
排查了半天发现列表什么的都OK,最后发现是因为神经网络的实际输出个数和期望输出个数不一样,修改了下输出层的神经元个数就好了。
非常愚蠢的错误,希望以后别犯了。