data augmentation - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۲۳۱ نفر آنلاین
۵۰ عضو و ۱۸۱ مهمان در سایت حاضرند

data augmentation

0 امتیاز
سلام. وقتی از data augmentation استفاده میکنیم مثلا من ۴ تا تابع shift  و flip  و ... دارم احتمال اینکه تصویر بدون تغییر بمونه با احتمال اینکه مثلا flip بشه برابره؟ چطوریه؟ اگه منبع جوابتونم بگید که بسیار ممنون میشم
سوال شده تیر 4, 1399  بوسیله ی شبنم (امتیاز 25)   4 5
دوباره تگ گذاری شد تیر 4, 1399

1 پاسخ

0 امتیاز
احتمال بدون تغییر باقی ماندن یک تصویر در طول تقویت داده ها به تکنیک های خاص تقویت داده های مورد استفاده و پارامترهایی که برای آن تکنیک ها تنظیم شده اند بستگی دارد. هنگام استفاده از افزایش داده ها، شما بر احتمال اعمال هر تبدیل روی یک تصویر کنترل دارید، بنابراین می توانید احتمالات را به دلخواه تنظیم کنید.
 
به عنوان مثال، اگر چهار تکنیک افزایش داده (مانند flipping، جابجایی، مقیاس‌بندی و چرخش) دارید، می‌توانید احتمال اعمال هر تکنیک را روی یک تصویر تنظیم کنید. اگر احتمالflipping را روی 50% تنظیم کنید، نیمی از تصاویر تبدیل شده flip می شوند و نیمی دیگر بدون تغییر باقی می مانند. اگر احتمال سه تکنیک دیگر را روی هر کدام 25% تنظیم کنید، یک چهارم تصاویر تبدیل شده جابجا می شوند، یک چهارم مقیاس می شوند و یک چهارم می چرخند.
 
روش خاصی که احتمالات تنظیم می‌شود و تکنیک‌های تقویت داده‌ها پیاده‌سازی می‌شوند به چارچوب یادگیری عمیق یا کتابخانه‌ای که استفاده می‌کنید بستگی دارد. برای اطلاعات بیشتر در مورد نحوه تنظیم احتمالات برای هر تکنیک افزایش داده می توانید به مستندات یا کد منبع چارچوب مراجعه کنید.
 
برای مثال، در کتابخانه Keras در پایتون، می‌توانید از کلاس ImageDataGenerator برای تعریف مجموعه‌ای از تکنیک‌های افزایش داده و احتمالات آنها استفاده کنید. کلاس ImageDataGenerator چندین تکنیک داخلی برای تقویت داده ها، مانند چرخش، جابجایی و چرخش را ارائه می دهد و شما می توانید با استفاده از آرگومان augmentation_params، احتمالات را برای هر تکنیک تنظیم کنید.
 
در اینجا مثالی از نحوه استفاده از کلاس ImageDataGenerator برای اعمال چرخاندن و تغییر روی یک تصویر با احتمال 50٪ آورده شده است:
from keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
    rotation_range=0,
    width_shift_range=0.1,
    height_shift_range=0.1,
    horizontal_flip=True
)

در این مثال horizontal_flip روی True تنظیم شده است که به این معنی است که تصاویر با احتمال 50% برگردانده می شوند. سایر تکنیک‌های افزایش داده (rotation، width_shift و height_shift) دارای محدوده 0 هستند، به این معنی که آنها اعمال نمی‌شوند.

 

پاسخ داده شده بهمن 21, 1401 بوسیله ی toopak (امتیاز 2,458)   16 48 66
ویرایش شده بهمن 21, 1401 بوسیله ی toopak
...