【发布时间】:2019-11-13 01:07:27
【问题描述】:
我想创建一个模型,可以根据玩家的动作预测 9x9 井字游戏获胜者。 这是我的数据集中的一个示例:
..................................x.............................................. 14 L
..............o...................x.................x............................ 67 L
..............o...............x...x.................x..............o............. 2 L
有 81 个字段可以是 X 或 o。左边的数字是对手的下一步(对手总是0)。而字母代表游戏的结果。我决定用0 替换所有".",用1 替换x,用2 替换o。L 或W 用一种热编码。我用未来的步骤压缩我的位置并将其输入到模型中。这就是我遇到麻烦的地方。我的 train_x 维度是 (249561, 80, 1)。我的样本火车是
tensor([0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 2, 2, 2,
0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0, 2, 0, 1, 0, 0, 0, 2, 0, 1, 0, 1, 1,
1, 0, 2, 0, 0, 1, 2, 1, 0, 0, 1, 2, 2, 1, 1, 0, 0, 0, 0, 0, 2, 1, 0, 2,
0, 0, 1, 0, 0, 0, 2, 0], [67])
我试过了
self.fc = nn.Sequential(
nn.Linear(80, 4096),
nn.ReLU(),
nn.Dropout(p=0.5),
nn.Linear(4096, 2048),
nn.ReLU(),
nn.Dropout(p=0.5),
nn.Linear(2048, 1),
)
def forward(self, x):
logit = self.fc(x)
return logit
当我进行训练循环时,我收到一个错误RuntimeError: Expected object of scalar type Float but got scalar type Long for argument #2 'mat1' in call to _th_addmm
我有两个问题。我的数据处理是否正确?我应该使用什么模型?
【问题讨论】:
标签: python machine-learning neural-network pytorch tic-tac-toe