Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
No Result
View All Result
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
No Result
View All Result
Home Intelligence artificielle

Le guide ultime sur la classification d’images multiclasses à l’aide de Pytorch

14 juin 2020
in Intelligence artificielle
Reading Time: 7 mins read
Le guide ultime sur la classification d’images multiclasses à l’aide de Pytorch

Table des matières

ArticlesA lire

Normalisation – Vitrine – Programmation

Normalisation – Vitrine – Programmation

Effet du traitement dans l’étude observationnelle

Effet du traitement dans l’étude observationnelle

Quelles sont les techniques pour détecter les anomalies

Quelles sont les techniques pour détecter les anomalies

Réseaux adverses génératifs – Vers la science des données

Réseaux adverses génératifs – Vers la science des données

Le guide ultime sur la classification d’images multiclasses à l’aide de Pytorch

Se transforme:

1. Prétraitement Imagenet

Afin d’utiliser nos images avec un réseau formé sur le jeu de données Imagenet, nous devons prétraiter nos images de la même manière que le réseau Imagenet. Pour cela, nous devons redimensionner les images à 224 × 224 et les normaliser selon les normes Imagenet. Nous pouvons utiliser la torche transforms bibliothèque pour le faire. Ici, nous prenons un CenterCrop de 224 × 224 et normaliser selon les normes Imagenet. Les opérations définies ci-dessous se déroulent séquentiellement. Vous pouvez trouver une liste de toutes les transformations fournies par PyTorch ici.

transforms.Compose([
transforms.CenterCrop(size=224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])
])

2. Augmentations de données

Nous pouvons faire beaucoup plus de prétraitement pour les augmentations de données. Les réseaux de neurones fonctionnent mieux avec beaucoup de données. Augmentation des données est une stratégie que nous utilisons au moment de la formation pour augmenter la quantité de données dont nous disposons.

Par exemple, nous pouvons retourner l’image d’un bateau horizontalement, et ce sera toujours un bateau. Ou nous pouvons recadrer des images au hasard ou ajouter des tremblements de couleur. Voici le dictionnaire de transformations d’images que j’ai utilisé qui s’applique à la fois au prétraitement Imagenet et aux augmentations. Ce dictionnaire contient les différentes transformations que nous avons pour les données de train, de test et de validation utilisées dans ce grand article. Comme vous vous en doutez, nous n’appliquons pas les retournements horizontaux ou autres transformations d’augmentation de données aux données de test et aux données de validation, car nous ne voulons pas obtenir de prédictions sur une image augmentée.

# Image transformations
image_transforms = {
# Train uses data augmentation
'train':
transforms.Compose([
transforms.RandomResizedCrop(size=256, scale=(0.8, 1.0)),
transforms.RandomRotation(degrees=15),
transforms.ColorJitter(),
transforms.RandomHorizontalFlip(),
transforms.CenterCrop(size=224), # Image net standards
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225]) # Imagenet standards
]),
# Validation does not use augmentation
'valid':
transforms.Compose([
transforms.Resize(size=256),
transforms.CenterCrop(size=224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),

# Test does not use augmentation
'test':
transforms.Compose([
transforms.Resize(size=256),
transforms.CenterCrop(size=224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}

Voici un exemple des transformations de train appliquées à une image dans le jeu de données de formation. Non seulement nous obtenons beaucoup d’images différentes à partir d’une seule image, mais cela aide également notre réseau à devenir invariant à l’orientation de l’objet.

ex_img = Image.open('/home/rahul/projects/compvisblog/data/train/cruise ship/cruise-ship-oasis-of-the-seas-boat-water-482183.jpg')t = image_transforms['train']
plt.figure(figsize=(24, 24))
for i in range(16):
ax = plt.subplot(4, 4, i + 1)
_ = imshow_tensor(t(ex_img), ax=ax)
plt.tight_layout()

DataLoaders

L’étape suivante consiste à fournir la formation, la validation et les emplacements des jeux de données de test à PyTorch. Nous pouvons le faire en utilisant le PyTorch datasets et DataLoader classe. Cette partie du code restera essentiellement la même si nous avons nos données dans les structures de répertoires requises.

# Datasets from folderstraindir = "data/train"
validdir = "data/val"
testdir = "data/test"
data = {
'train':
datasets.ImageFolder(root=traindir, transform=image_transforms['train']),
'valid':
datasets.ImageFolder(root=validdir, transform=image_transforms['valid']),
'test':
datasets.ImageFolder(root=testdir, transform=image_transforms['test'])
}
# Dataloader iterators, make sure to shuffle
dataloaders = {
'train': DataLoader(data['train'], batch_size=batch_size, shuffle=True,num_workers=10),
'val': DataLoader(data['valid'], batch_size=batch_size, shuffle=True,num_workers=10),
'test': DataLoader(data['test'], batch_size=batch_size, shuffle=True,num_workers=10)
}

Ces chargeurs de données nous aident à parcourir le jeu de données. Par exemple, nous utiliserons le chargeur de données ci-dessous dans notre formation sur le modèle. La variable de données contiendra des données sous la forme (batch_size, color_channels, height, width) tandis que la cible est en forme (batch_size) et tenez les informations d’étiquette.

train_loader = dataloaders['train']
for ii, (data, target) in enumerate(train_loader):
ShareTweetPin

Related Posts

Normalisation – Vitrine – Programmation
Intelligence artificielle

Normalisation – Vitrine – Programmation

Normalisation - Vitrine - Programmation SCIENCE DES DONNÉES - COVID-19 - VISUALISATION - PROGRAMMATION Combien de personnes infectées vivent encore...

Effet du traitement dans l’étude observationnelle
Intelligence artificielle

Effet du traitement dans l’étude observationnelle

Effet du traitement dans l'étude observationnelle En inférence causale observationnelle à l'aide des dossiers de santé électroniques Inférence causale pour...

Quelles sont les techniques pour détecter les anomalies
Intelligence artificielle

Quelles sont les techniques pour détecter les anomalies

Quelles sont les techniques pour détecter les anomalies photo par Ali Hajian sur UnsplashDétection d'une anomalie est l'identification d'éléments, d'événements...

Réseaux adverses génératifs – Vers la science des données
Intelligence artificielle

Réseaux adverses génératifs – Vers la science des données

Réseaux adverses génératifs - Vers la science des données GAN dans le Deep Learning Une plongée dans le monde magique...

Next Post
Design : Un cheatsheet pour évaluer la conception de l’interface utilisateur

Design : Un cheatsheet pour évaluer la conception de l'interface utilisateur

Révolutionner l’idée de micro-basculement de contenu – Coil Shaken Hands avec Hacker Noon

Révolutionner l'idée de micro-basculement de contenu - Coil Shaken Hands avec Hacker Noon

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  • Accueil
  • Questions & Réponses
  • Science
  • Astuces
  • Business
  • Cryptomonnaie
  • Design
  • Marketing
  • Programmation
  • Politique de confidentialité
  • A propos
  • Contact

© 2018-2020 SupportIVY - Premium Magazine.

No Result
View All Result
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt