我想创建一个可以根据玩家动作预测9x9井字游戏获胜者的模型。 这是我的数据集中的一个示例:
..................................x.............................................. 14 L
..............o...................x.................x............................ 67 L
..............o...............x...x.................x..............o............. 2 L
有81个字段可以是X
或o
。左边的数字是对手的下一步(对手始终为0)。字母代表游戏的结果。我决定将所有"."
替换为0
,将x
替换为1,将o
替换为2。L
或W
使用一种热编码。我在以后的步骤中压缩位置并将其输入模型中。那就是我遇到的麻烦。我的train_x尺寸为(249561,80,1)。我的样本火车是
tensor([0,1,2,0],[67])
我尝试过
self.fc = nn.Sequential(
nn.Linear(80,4096),nn.ReLU(),nn.Dropout(p=0.5),nn.Linear(4096,2048),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
我有两个问题。我对数据的处理正确吗?应该使用哪种模型?