Datenerweiterung ist eine Schlüsseltechnologie im Bereich der künstlichen Intelligenz und des maschinellen Lernens. Dabei werden Variationen bestehender Datensätze erstellt, um die Modellleistung und Generalisierung zu verbessern. Python ist eine beliebte KI- und ML-Sprache, die mehrere leistungsstarke Bibliotheken zur Datenerweiterung bereitstellt. In diesem Artikel stellen wir zehn Python-Bibliotheken zur Datenerweiterung vor und stellen Codeausschnitte und Erklärungen für jede Bibliothek bereit.
Augmentor ist eine universelle Python-Bibliothek zur Bildverbesserung. Damit können Sie ganz einfach eine Reihe von Vorgängen auf Ihre Bilder anwenden, z. B. Drehen, Spiegeln und Farbmanipulation. Hier ist ein einfaches Beispiel für die Verwendung von Augmentor zur Bildverbesserung:
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 unterstützt verschiedene Verbesserungsfunktionen wie zufällige Drehung, Spiegelung und Helligkeitsanpassung. Er ist eine meiner am häufigsten verwendeten Verbesserungsbibliotheken
import albumentations as A transform = A.Compose([A.RandomRotate90(),A.HorizontalFlip(),A.RandomBrightnessContrast(), ]) augmented_image = transform(image=image)["image"]
Imgaug ist eine Bibliothek zur Verbesserung von Bildern und Videos. Es bietet eine Vielzahl von Verbesserungen, einschließlich geometrischer Transformationen und Farbraummodifikationen. Hier ist ein Beispiel für die Verwendung von 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 ist eine Bibliothek, die speziell für die Erweiterung von Textdaten entwickelt wurde. Es bietet verschiedene Techniken zum Generieren von Textvariationen, wie z. B. die Substitution von Synonymen und die Substitution auf Zeichenebene.
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 ist eine leichtgewichtige Bibliothek mit Schwerpunkt auf Bildverbesserung. Es ist einfach zu bedienen und bietet Funktionen wie Drehen, Spiegeln und Farbanpassung.
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 ist eine Python-Bibliothek zur Verbesserung und zum Angriff auf NLP-Modelle (Natural Language Processing). Es bietet verschiedene Transformationen, um kontradiktorische Beispiele für NLP-Aufgaben zu generieren. So verwenden Sie es:
from textattack.augmentation import WordNetAugmenter augmenter = WordNetAugmenter() augmented_text = augmenter.augment("The quick brown fox")
Die Text Augmentation and Adversarial Examples (TAAE)-Bibliothek ist ein weiteres Tool zur Textverbesserung. Es umfasst Techniken wie die Synonymersetzung und das Mischen von Sätzen.
from taae import SynonymAugmenter augmenter = SynonymAugmenter() augmented_text = augmenter.augment("This is a test sentence.")
Audiomentations konzentriert sich auf die Verbesserung von Audiodaten. Es handelt sich um eine unverzichtbare Bibliothek für Aufgaben im Zusammenhang mit der Klangverarbeitung.
import audiomentations as A augmenter = A.Compose([A.PitchShift(),A.TimeStretch(),A.AddBackgroundNoise(), ]) augmented_audio = augmenter(samples=audio_data, sample_rate=sample_rate)
ImageDataAugmentor wurde für die Bilddatenerweiterung entwickelt und funktioniert gut mit gängigen Deep-Learning-Frameworks. So verwenden Sie es mit 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 stellt die ImageDataGenerator-Klasse bereit, eine integrierte Lösung zur Bildverbesserung bei Verwendung von Keras und 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)
Diese Bibliotheken decken ein breites Spektrum an Datenerweiterungstechniken für Bild- und Textdaten ab. Ich hoffe, dass sie Ihnen hilfreich sein werden.
Das obige ist der detaillierte Inhalt vonZehn Python-Bibliotheken zur Datenerweiterung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!