Pembesaran data ialah teknologi utama dalam bidang kecerdasan buatan dan pembelajaran mesin. Ia melibatkan mencipta variasi pada set data sedia ada untuk meningkatkan prestasi model dan generalisasi. Python ialah bahasa AI dan ML yang popular yang menyediakan beberapa perpustakaan pembesaran data yang berkuasa. Dalam artikel ini, kami akan memperkenalkan sepuluh perpustakaan Python untuk penambahan data dan menyediakan coretan kod serta penjelasan untuk setiap perpustakaan.
Augmentor ialah perpustakaan Python tujuan umum untuk peningkatan imej. Ia membolehkan anda menggunakan pelbagai operasi dengan mudah pada imej anda, seperti putaran, flipping dan manipulasi warna. Berikut ialah contoh mudah cara menggunakan Augmentor untuk peningkatan imej:
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 menyokong pelbagai fungsi peningkatan seperti putaran rawak, flipping dan pelarasan kecerahan. Dia ialah salah satu perpustakaan peningkatan yang paling biasa saya gunakan
import albumentations as A transform = A.Compose([A.RandomRotate90(),A.HorizontalFlip(),A.RandomBrightnessContrast(), ]) augmented_image = transform(image=image)["image"]
Imgaug ialah perpustakaan yang digunakan untuk mempertingkatkan imej dan video. Ia menyediakan pelbagai peningkatan, termasuk transformasi geometri dan pengubahsuaian ruang warna. Berikut ialah contoh menggunakan 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 ialah perpustakaan yang direka khusus untuk penambahan data teks. Ia menyediakan pelbagai teknik untuk menjana variasi teks, seperti penggantian sinonim dan penggantian peringkat aksara.
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 ialah perpustakaan ringan yang memfokuskan pada peningkatan imej. Ia mudah digunakan dan menawarkan operasi seperti putaran, flipping dan pelarasan warna.
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 ialah perpustakaan Python untuk meningkatkan dan menyerang model pemprosesan bahasa semula jadi (NLP). Ia menyediakan pelbagai transformasi untuk menjana contoh lawan bagi tugasan NLP. Begini cara untuk menggunakannya:
from textattack.augmentation import WordNetAugmenter augmenter = WordNetAugmenter() augmented_text = augmenter.augment("The quick brown fox")
Perpustakaan Pembesaran Teks dan Contoh Adversarial (TAAE) ialah alat lain untuk peningkatan teks. Ia termasuk teknik seperti penggantian sinonim dan kocok ayat.
from taae import SynonymAugmenter augmenter = SynonymAugmenter() augmented_text = augmenter.augment("This is a test sentence.")
Audiomentations memfokuskan pada peningkatan data audio. Ia adalah perpustakaan penting untuk tugas yang melibatkan pemprosesan bunyi.
import audiomentations as A augmenter = A.Compose([A.PitchShift(),A.TimeStretch(),A.AddBackgroundNoise(), ]) augmented_audio = augmenter(samples=audio_data, sample_rate=sample_rate)
ImageDataAugmentor direka untuk penambahan data imej dan berfungsi dengan baik dengan rangka kerja pembelajaran mendalam yang popular. Begini cara menggunakannya dengan 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 menyediakan kelas ImageDataGenerator, yang merupakan penyelesaian terbina dalam untuk peningkatan imej apabila menggunakan Keras dan 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)
Perpustakaan ini merangkumi pelbagai teknik penambahan data untuk data imej dan teks, saya harap ia akan membantu anda.
Atas ialah kandungan terperinci Sepuluh perpustakaan Python untuk penambahan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!