Pour pouvoir accéder à la page de l’évènement, vous créez votre compte sur:
https://www.nvidia.com/en-us/training/
Puis, vous accédez à la page de l’évènement à partir de ce lien :
https://learn.nvidia.com/dli-event
En rencontrant cette page, vous allez saisir le code suivant:
AGEOS_FDL_AMBASSADOR_DE25
Dans cette page, vous trouverez seulement les cellules où on vous demande d’écrire du code à la place de #FIXME.
Cellule 1
from torchvision.models import vgg16
from torchvision.models import VGG16_Weights
weights = VGG16_Weights.DEFAULT #IMAGENET1K_V1 # FIXME
vgg_model = vgg16(weights=weights)
Cellule 2
# Freeze base model
vgg_model.requires_grad_(False) #FIXME
next(iter(vgg_model.parameters())).requires_grad
Cellule 3
N_CLASSES = 6 #FIXME
my_model = nn.Sequential(
vgg_model.features,
vgg_model.avgpool,
nn.Flatten(),
vgg_model.classifier[0:3],
nn.Linear(4096, 500),
nn.ReLU(),
nn.Linear(500, N_CLASSES)
)
my_model
Cellule 4
loss_function = nn.CrossEntropyLoss() #FIXME
optimizer = Adam(my_model.parameters())
my_model = torch.compile(my_model.to(device))
Cellule 5
IMG_WIDTH, IMG_HEIGHT = 224, 224
random_trans = transforms.Compose([
# --- Geometric Augmentations ---
transforms.RandomRotation(20), # slightly larger range
transforms.RandomHorizontalFlip(p=0.1),
transforms.RandomVerticalFlip(p=0.1), # optional, helps if orientation varies
# --- Color & Lighting ---
transforms.ColorJitter(
brightness=0.3,
contrast=0.3,
saturation=0.3,
hue=0.1
),
])
Cellule 6
n = 32 #FIXME
train_path = "data/fruits/train/"
train_data = MyDataset(train_path)
train_loader = DataLoader(train_data, batch_size=n, shuffle=True)#FIXME
train_N = len(train_loader.dataset)
valid_path = "data/fruits/valid/"
valid_data = MyDataset(valid_path)
valid_loader = DataLoader(valid_data, batch_size=n, shuffle=False)#FIXME
valid_N = len(valid_loader.dataset)