random.seed(seed)
np.random.seed(seed)


torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.benchmark = False
torch.backends.cudnn.deterministic = True


env = gym.make(env_name).unwrapped
env.seed(seed)






==========================================





补充说明: 

在深度强化学习中如果使用Nvidia显卡作为运算器那么本文上面的设置只能尽可能小的减少实验过程随机性的不可复现性,因为即使如本文这样设置后Nvida显卡上的随机操作也是不可以复现的(这是由于硬件设计所决定的)



如果想完全意义上的进行实验的可复现性就不能使用Nvidia显卡作为计算设备而只能采用CPU作为计算设备