zhanyil2 commited on
Commit
a66d069
1 Parent(s): 7a0953e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -2
app.py CHANGED
@@ -1,5 +1,62 @@
1
  import streamlit as st
2
  import main
3
 
4
- x = st.slider('Select a value')
5
- st.write(x, 'squared is', x * x)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
  import main
3
 
4
+ #x = st.slider('Select a value')
5
+ #st.write(x, 'squared is', x * x)
6
+ import torch
7
+ import torch.nn as nn
8
+ from torch import optim
9
+ from torch.utils.data import DataLoader
10
+ from NN import OffensiveLanguageClassifier, OffensiveLanguageDataset
11
+
12
+ # Set the device to use for training
13
+ from process_data import train
14
+
15
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
16
+
17
+
18
+ batch_size = 2
19
+ vocab_size = 23885
20
+ hidden_size = 128
21
+ output_size = 3
22
+ num_layers = 2
23
+ num_epochs = 2
24
+
25
+ # Create the model and move it to the device
26
+ model = OffensiveLanguageClassifier(vocab_size, hidden_size, output_size, num_layers, dropout = 0.3)
27
+ model.to(device)
28
+
29
+ # Define the loss function and the optimizer
30
+ loss_fn = nn.CrossEntropyLoss()
31
+ optimizer = optim.Adam(model.parameters())
32
+
33
+ # Create the DataLoader
34
+
35
+ train_dataset = OffensiveLanguageDataset(train[0], train["class"])
36
+ #print(train_dataset.shape)
37
+ #print(train_dataset.head(10))
38
+
39
+ dataloader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
40
+ print(type(dataloader))
41
+ # Train the model
42
+ for epoch in range(num_epochs):
43
+ #print(dataloader)
44
+ #train_features, train_labels = next(iter(dataloader)
45
+ for data , labels in dataloader:
46
+ #print(data)
47
+ #print(labels)
48
+ #data, labels = data.to(device), labels.to(device)
49
+
50
+ # Forward pass
51
+ #print(type(data[0]))
52
+ data = torch.stack(data)
53
+ logits = model(data)
54
+ loss = loss_fn(logits, labels)
55
+
56
+ # Backward pass and optimization
57
+ optimizer.zero_grad()
58
+ loss.backward()
59
+ optimizer.step()
60
+
61
+ # Print the loss and accuracy at the end of each epoch
62
+ st.write(f'Epoch {epoch+1}: loss = {loss:.4f}')