Я использую TFLearn и python 3.7 для создания моей первой нейронной сети, цель которой - играть в змею.Игра состоит из доски 10х10, пустые места которой обозначены как 0, цель, которую змея пытается съесть, обозначена как -1, голова змеи показана как 1, и каждая последующая часть змеи показана как предыдущаячасть змеи + 1. Например, игровое состояние может быть:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
-1 0 0 0 0 0 0 0 5 0
0 0 0 0 0 0 2 3 4 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Состояние сохраняется как отдельный массив размером 100.
Я создал игру иданные обучения, представляющие собой список списков, содержащих состояние и предпринятые действия (от 0 до 3 включительно, представляющих 4 направления).Элементом входных данных может быть:
[[0, 0, ... 0], 2]
В указанном выше элементе входных данных состояние было [0, 0, ... 0], а выполненное действие - 2 (сдвинуться вниз).
У меня проблемы с определением формы этих данных, поскольку действие представляет собой int, а не список размером 100. Я предполагаю, что форма данных будет такой:
[None, numberOfInputElements, 2, 100],
, хотяэто кажется странным, поскольку предпринимаемое действие является целым числом, а не списком размером 100, как определено в форме данных.
Будет ли это правильно, а если нет, какой будет правильная форма (если возможно, просьба объяснить, почему).
Спасибо за любую помощь, которую вы можете оказать!