Maison >Périphériques technologiques >IA >Dix bibliothèques Python pour l'augmentation des données
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.
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 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 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)
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.")
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 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")
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 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 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 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)
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!