Update vit_model_training.py
Browse files- vit_model_training.py +6 -6
vit_model_training.py
CHANGED
|
@@ -8,7 +8,7 @@ import torch.optim as optim
|
|
| 8 |
import os
|
| 9 |
import pandas as pd
|
| 10 |
from sklearn.model_selection import train_test_split
|
| 11 |
-
## working 18.
|
| 12 |
|
| 13 |
|
| 14 |
def labeling(path_real, path_fake):
|
|
@@ -36,13 +36,13 @@ class CustomDataset(Dataset):
|
|
| 36 |
return len(self.dataframe)
|
| 37 |
|
| 38 |
def __getitem__(self, idx):
|
| 39 |
-
image_path = self.dataframe.iloc[idx, 0]
|
| 40 |
image = Image.open(image_path).convert('RGB') # Convert to RGB format
|
| 41 |
|
| 42 |
if self.transform:
|
| 43 |
image = self.transform(image)
|
| 44 |
|
| 45 |
-
label = self.dataframe.iloc[idx, 1]
|
| 46 |
return image, label
|
| 47 |
|
| 48 |
|
|
@@ -62,21 +62,21 @@ if __name__ == "__main__":
|
|
| 62 |
# Check for GPU availability
|
| 63 |
device = torch.device('cuda')
|
| 64 |
|
| 65 |
-
# Load the pre-trained ViT model
|
| 66 |
model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224').to(device)
|
| 67 |
|
| 68 |
# Freeze pre-trained layers
|
| 69 |
for param in model.parameters():
|
| 70 |
param.requires_grad = False
|
| 71 |
|
| 72 |
-
# Define a new classifier
|
| 73 |
model.classifier = nn.Linear(model.config.hidden_size, 2).to(device) # Two output classes: 'REAL' and 'FAKE'
|
| 74 |
|
| 75 |
print(model)
|
| 76 |
# Define the optimizer
|
| 77 |
optimizer = optim.Adam(model.parameters(), lr=0.001)
|
| 78 |
|
| 79 |
-
#
|
| 80 |
preprocess = transforms.Compose([
|
| 81 |
transforms.Resize((224, 224)),
|
| 82 |
transforms.ToTensor()
|
|
|
|
| 8 |
import os
|
| 9 |
import pandas as pd
|
| 10 |
from sklearn.model_selection import train_test_split
|
| 11 |
+
## working 18.9.24
|
| 12 |
|
| 13 |
|
| 14 |
def labeling(path_real, path_fake):
|
|
|
|
| 36 |
return len(self.dataframe)
|
| 37 |
|
| 38 |
def __getitem__(self, idx):
|
| 39 |
+
image_path = self.dataframe.iloc[idx, 0]
|
| 40 |
image = Image.open(image_path).convert('RGB') # Convert to RGB format
|
| 41 |
|
| 42 |
if self.transform:
|
| 43 |
image = self.transform(image)
|
| 44 |
|
| 45 |
+
label = self.dataframe.iloc[idx, 1]
|
| 46 |
return image, label
|
| 47 |
|
| 48 |
|
|
|
|
| 62 |
# Check for GPU availability
|
| 63 |
device = torch.device('cuda')
|
| 64 |
|
| 65 |
+
# Load the pre-trained ViT model
|
| 66 |
model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224').to(device)
|
| 67 |
|
| 68 |
# Freeze pre-trained layers
|
| 69 |
for param in model.parameters():
|
| 70 |
param.requires_grad = False
|
| 71 |
|
| 72 |
+
# Define a new classifier
|
| 73 |
model.classifier = nn.Linear(model.config.hidden_size, 2).to(device) # Two output classes: 'REAL' and 'FAKE'
|
| 74 |
|
| 75 |
print(model)
|
| 76 |
# Define the optimizer
|
| 77 |
optimizer = optim.Adam(model.parameters(), lr=0.001)
|
| 78 |
|
| 79 |
+
# Resize image and make it a tensor (add dimension)
|
| 80 |
preprocess = transforms.Compose([
|
| 81 |
transforms.Resize((224, 224)),
|
| 82 |
transforms.ToTensor()
|