用pytorch创建井字游戏模型的最佳方法

我想创建一个可以根据玩家动作预测9x9井字游戏获胜者的模型。 这是我的数据集中的一个示例:

..................................x.............................................. 14 L
..............o...................x.................x............................ 67 L
..............o...............x...x.................x..............o............. 2 L

有81个字段可以是Xo。左边的数字是对手的下一步(对手始终为0)。字母代表游戏的结果。我决定将所有"."替换为0,将x替换为1,将o替换为2。LW使用一种热编码。我在以后的步骤中压缩位置并将其输入模型中。那就是我遇到的麻烦。我的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 我有两个问题。我对数据的处理正确吗?应该使用哪种模型?

PUXI3230 回答:用pytorch创建井字游戏模型的最佳方法

要解决您的描述性很强的RuntimeError,只需将张量从Long转换为Float:

input_sample = input_sample.float()

或者,在构建样本时,将替换从[0,1,2](长)更改为[0.,1.,2.](浮点)。

本文链接:https://www.f2er.com/3113390.html

大家都在问