diff --git a/bird_cnn/__pycache__/bird_cnn.cpython-312.pyc b/bird_cnn/__pycache__/bird_cnn.cpython-312.pyc new file mode 100644 index 0000000..802ce04 Binary files /dev/null and b/bird_cnn/__pycache__/bird_cnn.cpython-312.pyc differ diff --git a/bird_cnn/House_Crow1.jpg b/bird_cnn/testimages/House_Crow1.jpg similarity index 100% rename from bird_cnn/House_Crow1.jpg rename to bird_cnn/testimages/House_Crow1.jpg diff --git a/bird_cnn/House_Crow1_resized.jpg b/bird_cnn/testimages/House_Crow1_resized.jpg similarity index 100% rename from bird_cnn/House_Crow1_resized.jpg rename to bird_cnn/testimages/House_Crow1_resized.jpg diff --git a/bird_cnn/House_Crow2.jpg b/bird_cnn/testimages/House_Crow2.jpg similarity index 100% rename from bird_cnn/House_Crow2.jpg rename to bird_cnn/testimages/House_Crow2.jpg diff --git a/bird_cnn/test.jpg b/bird_cnn/testimages/test.jpg similarity index 100% rename from bird_cnn/test.jpg rename to bird_cnn/testimages/test.jpg diff --git a/bird_cnn/test1.jpg b/bird_cnn/testimages/test1.jpg similarity index 100% rename from bird_cnn/test1.jpg rename to bird_cnn/testimages/test1.jpg diff --git a/bird_cnn/wide_image.jpg b/bird_cnn/testimages/wide_image.jpg similarity index 100% rename from bird_cnn/wide_image.jpg rename to bird_cnn/testimages/wide_image.jpg diff --git a/bird_cnn/train_cifar.py b/bird_cnn/train_cifar.py new file mode 100644 index 0000000..0ee2acb --- /dev/null +++ b/bird_cnn/train_cifar.py @@ -0,0 +1,41 @@ +import torch +import torch.nn as nn +from torchvision import datasets, transforms +from torch.utils.data import DataLoader, random_split + +from bird_cnn import Bird_CNN, sample, trainCNN + +SAVE_PATH = "./saved_models" + +transform = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize((0.5, 0.5, 0.5), + (0.5, 0.5, 0.5)) +]) + +train_dataset = datasets.CIFAR10( + root="./data/cifar10", + train=True, + download=True, + transform=transform +) + +val_dataset = datasets.CIFAR10( + root="./data/cifar10", + train=False, + download=True, + transform=transform +) + +train_loader = DataLoader(train_dataset, batch_size=4, shuffle=True) +val_loader = DataLoader(val_dataset, batch_size=4, shuffle=False) + +device = torch.device("cpu") if not torch.cuda.is_available() else torch.device("cuda:0") +print("Using device", device) + +model = Bird_CNN(c_in=3, c_hidden=16, c_out=10) +model.to(device) +optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e-4) +loss_module = nn.CrossEntropyLoss() + +trainCNN(model, optimizer, loss_module, train_loader, val_loader, device, 50, SAVE_PATH=SAVE_PATH, save=False) \ No newline at end of file diff --git a/bird_cnn/train_mnist.py b/bird_cnn/train_mnist.py new file mode 100644 index 0000000..63c5813 --- /dev/null +++ b/bird_cnn/train_mnist.py @@ -0,0 +1,41 @@ +import torch +import torch.nn as nn +from torchvision import datasets, transforms +from torch.utils.data import DataLoader, random_split + +from bird_cnn import Bird_CNN, sample, trainCNN + +SAVE_PATH = "./saved_models" + +transform = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize((0.5), + (0.5)) +]) + +train_dataset = datasets.MNIST( + root="./data/mnist", + train=True, + download=True, + transform=transform +) + +val_dataset = datasets.MNIST( + root="./data/mnist", + train=False, + download=True, + transform=transform +) + +train_loader = DataLoader(train_dataset, batch_size=4, shuffle=True) +val_loader = DataLoader(val_dataset, batch_size=4, shuffle=False) + +device = torch.device("cpu") if not torch.cuda.is_available() else torch.device("cuda:0") +print("Using device", device) + +model = Bird_CNN(c_in=1, c_hidden=8, c_out=10) +model.to(device) +optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e-4) +loss_module = nn.CrossEntropyLoss() + +trainCNN(model, optimizer, loss_module, train_loader, val_loader, device, 50, SAVE_PATH=SAVE_PATH, save=False) \ No newline at end of file