افزودن تابع دلخواه به image data generator - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

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


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

افزودن تابع دلخواه به image data generator

+1 امتیاز
من در پردازش تصویر از image data generator کراس استفاده میکنم. از shift  و flip . الان لازم دارم یک تابع دیگه که خودم تعریف کردم رو به این ۲ تا اضافه کنم ولی بر روی همه تصاویر اعمال نشه. یعنی یا flip  یا shift یا تابع من روی تصویر اعمال بشه . پس از preprocessing function نمیشه استفاده کرد! روشی سراغ دارین؟
سوال شده خرداد 28, 1399  بوسیله ی شبنم (امتیاز 25)   4 5

1 پاسخ

+3 امتیاز
 
بهترین پاسخ

کلاس ImageDataGenerator پارامتری داره که preprocessing_function را از شما می گیره برای حل مسٔله شما می تونید تابع preprocessing خودتون را تعریف کنید و تو آن با توجه به شرایط تصمیم بگیرید.

 

def my_preprocessor(image):
    # perform augmentations here



image_generator = ImageDataGenerator(..., preprocessing_function=my_preprocessor)

 

پاسخ داده شده خرداد 28, 1399 بوسیله ی عباس مولایی (امتیاز 2,754)   1 5 13
انتخاب شد شهریور 8, 1402 بوسیله ی farnoosh
اگه به متن سوالم خوب دقت کنید نوشتم که نمیشه از preprocessing function استفاده کنم. چون اون تابع روی تمام داده ها اعمال میشه. من میخوام اگه تابع من اجرا شد دیگه flip  و shift اعمال نشه رو تصویرم.
بله من هم با توجه به متن سوال پاسخ دادم شما تو تابع my_preprocessor می تونید تصمیم بگیرید یا flip  یا shift یا تابع شما روی تصویر اعمال بشه مثلا یک متغیر تصادفی در تولید کنید که نشان دهنده نوع عملیات پیش پردازش باشه تو این مثال بین ۰ تا ۲ مثلا ۰ برای flip و ۱ برای shift و ۲ برای تابع دلخواه شما . با دیدن هر حالت تابع موردنظر را اعمال کنید.
اهان بله این یه روش خوبه. مرسی
...