我使用了一些 NEAT 算法为一些简单的游戏(例如 flappybird)编写了自己的 AI 代码。一切正常,我知道发生了什么。问题是我不知道如何处理结果。人工智能学到了一些东西,我想保存这个进度。TechwithTim YouTuber 说了一些关于使用 pickle 的事情,当我保存它时它对我有用。我什至可以从文件中加载它,但这就是我的结束。我不知道接下来要做什么,在知道在他之前玩游戏的那些鸟的情况下,只让一只鸟开始玩游戏。
保存在一个代码中
winner = p.run(game,50)
with open("winner.pkl", "wb") as f:
pickle.dump(winner, f)
f.close()
Run Code Online (Sandbox Code Playgroud)
用另一个代码打开:
with open("winner.pkl", "wb") as f:
genome = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)
使用时
print(type(genome))
Run Code Online (Sandbox Code Playgroud)
输出是
<class "neat.genome.DefaultGenome">
Run Code Online (Sandbox Code Playgroud)