Maison  >  Article  >  Périphériques technologiques  >  Dix bibliothèques Python pour l'augmentation des données

Dix bibliothèques Python pour l'augmentation des données

WBOY
WBOYavant
2023-10-07 16:57:031084parcourir

L'augmentation des données est une technologie clé dans le domaine de l'intelligence artificielle et de l'apprentissage automatique. Cela implique de créer des variations sur des ensembles de données existants pour améliorer les performances et la généralisation du modèle. Python est un langage d'IA et de ML populaire qui fournit plusieurs bibliothèques puissantes d'augmentation des données. Dans cet article, nous présenterons dix bibliothèques Python pour l'augmentation des données et fournirons des extraits de code et des explications pour chaque bibliothèque.

Dix bibliothèques Python pour laugmentation des données

Augmentor

Augmentor est une bibliothèque Python à usage général pour l'amélioration des images. Il vous permet d'appliquer facilement une gamme d'opérations à vos images, telles que la rotation, le retournement et la manipulation des couleurs. Voici un exemple simple d'utilisation d'Augmentor pour l'amélioration d'image :

import Augmentor  p = Augmentor.Pipeline("path/to/your/images") p.rotate(probability=0.7, max_left_rotatinotallow=25, max_right_rotatinotallow=25) p.flip_left_right(probability=0.5) p.sample(100)

Albumentations

Albumentations Master prend en charge diverses fonctions d'amélioration telles que la rotation aléatoire, le retournement et le réglage de la luminosité. C'est l'une de mes bibliothèques d'amélioration les plus couramment utilisées

import albumentations as A  transform = A.Compose([A.RandomRotate90(),A.HorizontalFlip(),A.RandomBrightnessContrast(), ]) augmented_image = transform(image=image)["image"]

Imgaug

Imgaug est une bibliothèque utilisée pour améliorer des images et des vidéos. Il offre un large éventail d'améliorations, notamment des transformations géométriques et des modifications de l'espace colorimétrique. Voici un exemple utilisant Imgaug :

import imgaug.augmenters as iaa  augmenter = iaa.Sequential([iaa.Fliplr(0.5),iaa.Sometimes(0.5, iaa.GaussianBlur(sigma=(0, 2.0))),iaa.ContrastNormalization((0.5, 2.0)), ]) augmented_image = augmenter.augment_image(image)

nlpaug

nlpaaug est une bibliothèque spécialement conçue pour l'augmentation des données textuelles. Il fournit diverses techniques pour générer des variations de texte, telles que la substitution de synonymes et la substitution au niveau des caractères.

import nlpaug.augmenter.word as naw  aug = naw.ContextualWordEmbsAug(model_path='bert-base-uncased', actinotallow="insert") augmented_text = aug.augment("This is a sample text.")

imgaugment

imgauge est une bibliothèque légère axée sur l'amélioration de l'image. Il est facile à utiliser et propose des opérations telles que la rotation, le retournement et le réglage des couleurs.

from imgaug import augmenters as iaa  seq = iaa.Sequential([iaa.Fliplr(0.5),iaa.Sometimes(0.5, iaa.GaussianBlur(sigma=(0, 2.0))),iaa.ContrastNormalization((0.5, 2.0)), ]) augmented_image = seq(image=image)

TextAttack

TextAttack est une bibliothèque Python permettant d'améliorer et d'attaquer les modèles de traitement du langage naturel (NLP). Il fournit diverses transformations pour générer des exemples contradictoires pour les tâches PNL. Voici comment l'utiliser :

from textattack.augmentation import WordNetAugmenter  augmenter = WordNetAugmenter() augmented_text = augmenter.augment("The quick brown fox")

TAAE

La bibliothèque d'augmentation de texte et d'exemples contradictoires (TAAE) est un autre outil d'amélioration de texte. Il comprend des techniques telles que la substitution de synonymes et le mélange de phrases.

from taae import SynonymAugmenter  augmenter = SynonymAugmenter() augmented_text = augmenter.augment("This is a test sentence.")

Audiomentations

Audiomentations se concentre sur l'amélioration des données audio. C'est une bibliothèque essentielle pour les tâches impliquant le traitement du son.

import audiomentations as A  augmenter = A.Compose([A.PitchShift(),A.TimeStretch(),A.AddBackgroundNoise(), ]) augmented_audio = augmenter(samples=audio_data, sample_rate=sample_rate)

ImageDataAugmentor

ImageDataAugmentor est conçu pour l'augmentation des données d'image et fonctionne bien avec les frameworks d'apprentissage en profondeur populaires. Voici comment l'utiliser avec TensorFlow :

from ImageDataAugmentor.image_data_augmentor import * import tensorflow as tf  datagen = ImageDataAugmentor(augment=augmentor,preprocess_input=None, ) train_generator = datagen.flow_from_directory("data/train", batch_size=32, class_mode="binary")

Keras ImageDataGenerator

Keras fournit la classe ImageDataGenerator, qui est une solution intégrée pour l'amélioration d'image lors de l'utilisation de Keras et TensorFlow.

from tensorflow.keras.preprocessing.image import ImageDataGenerator  datagen = ImageDataGenerator(rotation_range=40,width_shift_range=0.2,height_shift_range=0.2,shear_range=0.2,zoom_range=0.2,horizontal_flip=True,fill_mode="nearest", ) augmented_images = datagen.flow_from_directory("data/train", batch_size=32)

Résumé

Ces bibliothèques couvrent un large éventail de techniques d'augmentation de données pour les données d'image et de texte, j'espère que cela vous sera utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer