NeuralNine999 commited on
Commit
bfd7e63
·
verified ·
1 Parent(s): 43fd7ed

upload source of model file main.py

Browse files
Files changed (1) hide show
  1. main.py +58 -0
main.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from sklearn.datasets import load_iris
3
+ from torch.utils.data import DataLoader, Dataset
4
+ import torch.nn as nn
5
+ import torch.nn.functional as fnn
6
+ import torch.optim as optim
7
+
8
+ class IrisDataset(Dataset):
9
+ def __init__(self):
10
+ data = load_iris()
11
+ self.data = torch.tensor(data.data, dtype=torch.float32)
12
+ self.targets = torch.tensor(data.target, dtype=torch.long)
13
+
14
+ def __len__(self):
15
+ return len(self.data)
16
+
17
+ def __getitem__(self, idx):
18
+ return self.data[idx], self.targets[idx]
19
+
20
+ dataset = IrisDataset()
21
+ dataloader = DataLoader(dataset, batch_size=16, shuffle=True)
22
+
23
+ class INet(nn.Module):
24
+ def __init__(self):
25
+ super().__init__()
26
+ self.fc1 = nn.Linear(4, 64)
27
+ self.fc2 = nn.Linear(64, 32)
28
+ self.fc3 = nn.Linear(32, 16)
29
+ self.fc4 = nn.Linear(16, 8)
30
+ self.fc5 = nn.Linear(8, 4)
31
+
32
+ def forward(self, x):
33
+ x = self.fc1(x)
34
+ x = fnn.relu(x)
35
+ x = self.fc2(x)
36
+ x = fnn.relu(x)
37
+ x = self.fc3(x)
38
+ x = fnn.relu(x)
39
+ x = self.fc4(x)
40
+ x = fnn.relu(x)
41
+ x = self.fc5(x)
42
+ return x
43
+
44
+ model = INet()
45
+ criterion = nn.CrossEntropyLoss()
46
+ optimizer = optim.Adam(model.parameters(), lr=0.01)
47
+
48
+ for epoch in range(30):
49
+ for X, y in dataloader:
50
+ preds = model(X)
51
+ loss = criterion(preds, y)
52
+ optimizer.zero_grad()
53
+ loss.backward()
54
+ optimizer.step()
55
+
56
+ print(f"Epoch {epoch}, Loss: {loss.item()}")
57
+
58
+ torch.save(model.state_dict(), "/models/inet.pth")