多进程下神经网络挂起问题
具体解释:在强化学习中,使用多进程进行训练,每个进程中均有一个智能体和环境交互。其中在交互时,使用的是神经网络。
当运行到27行的时候,进程直接卡死了,无法向下运行了。经过分析,发现和神经网络的维度有关系。
当网络的隐藏层为256时,才会出现卡死(挂起)的情况。当隐藏层设为64时,可以运行,128也不行。
而在主进程中,256也可以运行,因此应该是多进程的原因。
根据下面的博客,进行了改进。在设置多进程前设定一下模型,就行了。
torch.multiprocessing.set_start_method('spawn')
参考博客