我们正在为我们的班级制作强化学习算法。在这个过程中,我们希望为使用 gym-retro 包制作的 nes-game 创建一个保存状态。我们尝试使用 pickle 来保存游戏环境,但它不会 pickle gamedate 对象。
TypeError: can't pickle GameData objects
有什么方法可以保存我们不知道的游戏状态吗?这是我们使用的代码的一部分:
def SaveEnv(self, env, level):
self.env[level] = open('store.pckl', 'wb')
envDict = {}
envDict[level] = env
pk.dump(envDict, self.env[level])
self.env[level].close()
print("Save Successful")
env = retro.make(game='TinyToonAdventures-Nes')
env.reset()
SaveEnv(env,level)