Python深度学习:不规则多维数据集的形状

2024-04-25 23:49:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用TFLearn和python3.7创建我的第一个神经网络,目标是玩snake。 该游戏由一个10x10的棋盘组成,空白区域显示为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的列表

这是否正确,如果不正确,正确的形状是什么(如果可能,请解释原因)

谢谢你的帮助


Tags: 数据游戏区域元素目标列表棋盘状态
1条回答
网友
1楼 · 发布于 2024-04-25 23:49:26

最好有一个张量用[None, 100](或者更好,用[None, 10, 10]表示输入图像,这样您可以尝试卷积方法)和另一个张量用[None]表示动作,或者[None,4],其中,动作以一种热的方式表示(这对于定义成本函数(如交叉熵)很有用)

一个不相关的想法-假设游戏竞技场是循环的,总是围绕蛇头的矩阵中心(所以蛇头总是在同一个位置)

相关问题 更多 >

    热门问题