Я ссылаюсь на учебник для игры со змеями, использующей Tensorflow и Pygame.
Ссылка: https://github.com/tolotrasam/snakegame_ai_tensorflow/tree/master/dist
Для методов «некоторые случайные игры сначала» и «оценивать» я хочу отобразить всю игру, а не только финальный кадр. Например: в коде player.py метод «Некоторые случайные игры сначала» отображает только кадр последнего шага. Я хочу визуализировать каждый кадр каждой сыгранной игры. Как это будет сделано?
Кроме того, как бы я использовал этот код для отображения «обученной» модели, такой как сохраненные данные в сгенерированном файле save.py?
Любая помощь будет оценена.
Ссылочный код:
LR = 1e-3
goal_steps = 300
score_requirement = 50
initial_games = 5000
def some_random_games_first():
# Each of these is its own game.
for episode in range(10):
env = game()
env.reset()
first = True
for _ in range(goal_steps):
# action = random.randrange(0, 3)
action = random.randrange(0, 3)
# action = 2
if first:
first = False
action = 2
# do it! render the previous view
env.render()
observation, reward, done, info = env.step(action)
a = 0
if done: break
Игра Snake можно найти по ссылке GitHub, не хочу вставлять весь этот код.
Метод визуализации:
def render(self):
# score
d = self.screen.blit(self.bg, SCORE_POS, pygame.Rect(SCORE_POS, (50, 100)))
f = pygame.font.Font(None, 12)
scoreimage = f.render(SCORE_PREFIX + str(self.currentscore), True, SCORE_COLOR)
d2 = self.screen.blit(scoreimage, SCORE_POS)
# drawing
dirty = self.all.draw(self.screen)
dirty.append(d)
dirty.append(d2)
# updating screen
pygame.display.update(dirty)
# waiting
self.clock.tick(FPS)