If you cannot load a model, please create a model here.
import torch
import torch.nn as nn
class Janken(nn.Module):
def __init__(self):
super().__init__()
self.fc1=nn.Linear(2,20,bias=False)
self.fc2=nn.Linear(20,60,bias=False)
self.fc3=nn.Linear(60,70,bias=False)
self.fc4=nn.Linear(70,70,bias=False)
self.fc5=nn.Linear(70,30,bias=False)
self.fc6=nn.Linear(30,10,bias=False)
self.fc7=nn.Linear(10,2,bias=False)
def forward(self,x):
x=self.fc1(x)
x=self.fc2(x)
x=self.fc3(x)
x=self.fc4(x)
x=self.fc5(x)
x=self.fc6(x)
x=self.fc7(x)
return x
model=Janken()
optimizer=torch.optim.RMSprop(model.parameters(),lr=0.00011)
criterion=nn.MSELoss()
epochs=250
patterns=[[[1,0],[0,1]],[[0,1],[0,0]],[[0,0],[1,0]]]
for epoch in range(epochs):
optimizer.zero_grad()
for pattern in patterns:
inputs=torch.Tensor(pattern[0])
targets=torch.Tensor(pattern[1])
outputs=model(inputs)
loss=criterion(targets,outputs)
loss.backward()
optimizer.step()
print(f"{epoch+1}/{epochs}\t\t{loss.item()}")
torch.save("janken.bin",model)
code<br> 1,0=Paper<br> 0,1=Knife<br> 0,0=Rock<br> <img src="https://i.imgur.com/FyAKxKB.png">