J'ai cherché pendant des heures sur l'internet pour trouver une bonne solution à mon problème. Voici quelques informations générales pertinentes pour vous aider à répondre à ma question.
C'est mon tout premier projet d'apprentissage profond et je n'ai aucune idée de ce que je fais. Je connais la théorie mais pas les éléments pratiques.
Les données que j'utilise peuvent être trouvées sur kaggle à ce lien : ( https://www.kaggle.com/alxmamaev/flowers-recognition )
Je cherche à classifier les fleurs à partir des images fournies dans le jeu de données en utilisant un CNN.
Voici quelques exemples de code que j'ai essayé d'utiliser pour charger des données jusqu'à présent, c'est ma meilleure tentative, mais comme je l'ai mentionné, je suis désemparé et la documentation de Pytorch n'a pas offert beaucoup d'aide que je pouvais comprendre à mon niveau. ( https://pastebin.com/fNLVW1UW )
# Loads the images for use with the CNN.
def load_images(image_size=32, batch_size=64, root="../images"):
transform = transforms.Compose([
transforms.Resize(32),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
train_set = datasets.ImageFolder(root=root, train=True, transform=transform)
train_loader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, shuffle=True, num_workers=2)
return train_loader
# Defining variables for use with the CNN.
classes = ('daisy', 'dandelion', 'rose', 'sunflower', 'tulip')
train_loader_data = load_images()
# Training samples.
n_training_samples = 3394
train_sampler = SubsetRandomSampler(np.arange(n_training_samples, dtype=np.int64))
# Validation samples.
n_val_samples = 424
val_sampler = SubsetRandomSampler(np.arange(n_training_samples, n_training_samples + n_val_samples, dtype=np.int64))
# Test samples.
n_test_samples = 424
test_sampler = SubsetRandomSampler(np.arange(n_test_samples, dtype=np.int64))
Voici mes questions directes auxquelles j'ai besoin de réponses :
-
Comment puis-je modifier mon code pour charger l'ensemble de données dans une répartition 80/10/10 pour la formation/test/validation ?
-
Comment puis-je créer les étiquettes/classes requises pour ces images qui sont déjà divisées par dossiers dans /images ?