Spaces:
Sleeping
Sleeping
File size: 28,332 Bytes
d48d4f3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
دادههای ام نیست و میدونه اینا ۱ و ۲ فلانن گول بخوره و فکر کنه اون دویی که شما ساختید اینجا ساخته میشه بدون اینکه کسی با قلم نوشته باشه چی فرض کنه که این هم دوئه خب اولش که لود کردن در واقع دیتا ست و ایناست و اینکه یه عکس نمونه بهم نشون بده و همون کارهای قدیمیه شما کلاً چند تا چیز اینجا نیاز دارید عرض به حضور شما یکی تابع بل جنریتور یا همون جنریتور خودمونه هادی باشه جنریتور خودمونه که اول گفته یه نویز شیپ ۱۰۰ تایی بردار با صد تا عدد رندوم نرمالستربیوشننی مثلاً از گوسین صد تا عدد میکشه بیرون و با این ۱۰۰ تا میخواد بره در نهایت چیکار کنه یه عکس ۲۸ در ۲۸ در یک تولید کنه خب برای اینکه این کار بکنه دیدید دیگه یه در واقع چیز شبکه داره میسازه لایه اولش دنسه و ریشهپش میکنه به ۱۲۸ تایی بچمالیزیشن میزنه کار خوبیه توصیه کردن تو پیپرهای اصلی گن که نرمالیزیشن استفاده کنید موفق میشید بعد کاندو دی ترانسپوز میزنه که بزرگش کنه درسته و میره جلو تهش انقدر امکان دودی آخری که میزنه با پدینگ و اینای مناسبی که هست محاسبه باید بکنید که عکس خروجیش ۲۸ در ۲۸ در بیاد این شد چی جنریتور من که قراره چی بشه بعداً پارامترهاش تیون بشن یه چیزی ساختم به نام مود مساوی با تی اف crs مدله اینپوتش نویزه اوت چیه لایه آخر شبکه نگاه بکنید که دو دی ترنسپوز که اون سبب میشه ۲۸ در ۲۸ در بیاد جان نه ده در یک نه بالا نگاه کن نویزش چیز بود ۱۰ ۱۰۰ ببخشید ۱۰۰ ۱۰۰ بود بخونش دیگه آره فرض کن که یه همچین کاری کردی فرض کن اگه ۱۱۰ در دش کردی آره مثلا ده در کردی ۲۸ در ۲۸ با آپشن یا ترانسپ تنظیم نیست خب یه دونه دارم یه چیز عادی شبکه عادی خودمه یه ۲۸ ۲۸ میگیره بهتون میگه که ریله یا فیک و عرض به حضور شما چند تا کانو دودی عادی زدهلو زده کان دو دی اینجوری تهش هم چی زده آخرینش که نوشته ولیدیتی مساوی و فلان لایه آخرشه ولیتی شود تابع فعال سازیش چیه سیگ یکی یا صفر بهم میده یا فیک یا ریل و تهش گفته که یه شبکه بساز که اینپوتش آی ام جی باشه ایمیج من باشه اوت پوتش چی باشه ولیدیتی باشه اینم برید برای خودتون بخونید جای سخت ماجرا تابع ترینه چجوری این چیز رو ترین کنید شبکه گ کلا دور هم ترین کنید که همون اول دیسکریمتور بعد جنریتور الی آخر تابع یک ایکس ترین ورودی میگیرد نامبرپاکس رو میگیره فلان فلان بعد چیکار میکنه هفت بچ میکنه نصف میکنه مثلاً اگه بخواید بچههای ده تایی بهش بدید میگه پنج تا برو ریل بردار پنج تا از فیکای من بردار خب تو هر بچش نصف واقعی میده نصف چیز میده خروجی جنریتور میده که اگه آخرش چیز بخوره گول بخوره خوبه دیگه یعنی نتونه اینا رو از همدیگه تمیز بده خوب نوشته که برای دیسکتور ترین کنید که اول خب دیسکتور وضعش خرابه بزار حداقل چیزای خودشو ترین های خودشو بتونه پیدا بکنه و اینا شما چیز میکنید عرض به حضور شما که اولا از ایکس ترین که واقعی ها بوده چند تا رندوم سلکت کرده از جنریتور هم گفته چند تا برام تو بساز خب نویز ورودی بهش داده گفته چند تا تو بساز درسته و بعد گفته که چیز کن عرض به حضور شما اینا رو کان زده تنگ هم شافلم کرده که ترینا و چیزا فیکا قاطی بشن و این زده تنگم گفته که آی رو بزار صفر دیسکریمنیتور ترینبل و ترو کن یعنی اجازه داشته باشه ترین بشه وایل آی کوچکتر از ۲۰ فیت کن یعنی چیزش کن شروع کردنش عرض به حضور شما پنج ایپاک برو برو اکیوریسی شو بخون اگر اکیوریسی بالای ۹۰ درصد بود بنویس یکس و بیا بیرون از این وایله اگه نبود یه یکی بهش اضافه کن دوباره تو آی بمون تا کجا تا آی ۲۰ نهایتا این کاملا چی باید بازی کنید باشه ها خوب دیسکتور یه پله وضعش خوب میشه میریم پایین جنریتور برای جنریتور دوباره اینپوت نویز رو میاریم نویز تعریف میکنیم بعد ولید وای رو تعریف میکنم این دفعه یک ولید وای یعنی چی یعنی میخوام بگم نویز های که من میدم به جنریتور بعد تو دادی ۱ خب لیبلش یک شد الان قبلا لیبلش چند بود صفر بود دیگه نویز قبلا جنریتور بازه لیبل یکه باید خروجی جی دی بشه یک لیبل یک بهش میدم بعد بهش گفتم که برو از جنریتور ایمیج بساز دیسکتور و فال کن اینجا مهمه ها خب بعد چیز کن بعد برو شبکه کانباین مدل رو بزن که اینپوتش نویزه اوت پوتش ولیدیتیه ولیدیتی چی بود خروجی دی جی بود نه خود جی یعنی جی رو باز میدادی به دی که دی جی تولید بشه و اونو با یک مقایسه کنید و عرض به حضور شما که مدلتون رو فیت میکنید دوباره اینجا نوشتیم مادامی که آی کوچکتر از نمیدونم فلان است ای بابا ببخشید مادامی که آی کوچکتر از بیسته بیا برام این کارو بکن اگر اکیوریسیت رسید به بالای ۹۰ درصد دیگه بیا بیرون وگرنه آی تو بیشتر کن و ۲۰ بار تو این حلقه وایله بچرخ و تو این حلقه جیتو قوی کن خب این کارم گفتیم بکنه و بعدش که این کارو کرد تهش دیگه چی عرض به حضور شما که گفته که حالا یه سری چیزا رو برام پلاک کن که ببینم که الان خروجیش هم میبینید دیگه میره تو کد اصلی خب دیگه حالا میگه داده نیست و لود کن ایکس ترین و اینا رو برام بساز و فلان فلان عرض به حضور شما اینجا ته ته باکس شماره چندمه ننوشته دستور تابع ترین رو صدا میزنه نوشته ترین ایکس ترین لیبل فلان این مهمترین جای کد که طولانی تر اینه بعد فقط گفته که یه خط بالاترش گفته که چی ایکس لیبل یک چنده ایکس فقط ترین بردار که اونم وقتی میخواد فیکشو بسازه بره فقط هشت برات بسازه خب بچهها ما دادیم نگاه اولش این نویزه رو داده خب این ران میشه هیچ مشکلی نداره کد بزنید ران میشه اولش نویزه رو داده بعدش رفته اینو تولید کرده خب دارید میبینید دیگه نه بعد رفته اینو تولید کرده داره میره جلو حالا هی داره میره جلو عرض به حضور شما بعد به اینجا رسیده اینجا مثلاً حالا کم کم دیگه یه هشتی داره ظاهر میشه ولی هنوز قوی نیست اونقدر و با این تعداد ایپاک های که ما گفتیم رفته جلو رفته جلو مثلا حالا برای اینکه هشت تولید کنه میخوام جنریتور عملکردشو بهتون نشون بدم این دیگه نگاه از اینجا دیگه یه جورایی هشت هست دیگه خب حالا از دید ما کم کم که میگم انسان باید ببینه مهم ها شما باید ببینید ببینید که اعمال چیز شدن ارضا شدن خروجی اصلاً قابل قبوله قابل بحثه یا نه چقدر داره یکی تولید میکنه یعنی یه چالشی که مثلاً یه هشت همیشه یک ۸ تا رفته پیدا کرده همیشه اونو فقط بسازتش خب مثلاً اینا بایاس نشه به یه چیزی ببین الان نگاه کنید وقتی رفته جلو داره هشت تاش بهتر میشه و البته اینا باید میگم باید باز بیشتر و بیشتر بحث بشه که آیا چیز آیا این که تولید میکنه خوبه یا هنوز ادامه بدم هنوز کمه و اینجا دیگه خوبه واقعاً چیزایی نوشته که شبیه هشت آدمه یعنی نیست دیگه واقعا هشتش همینه یه همچین هشت اینم جالبه این فیک ها یعنی اصلا کسی ننوشته با خودکار اینو خب و این تونست تولید کنه و موفق شدیم بالاخره یه داده فیک بسازیم و میتونید به اینا فکر کنید این باز هشت خیلی خوبیه تولید کرده این خیلی هشت خوبیه که تولید کرده و این شبکهتونو میتونید بردارید باهاش اگرچه خوب چیزه دیگه گفتم شیپشو بهمون بده مثلاً ۲۸ در ۲۸ در یکه که ۵۸۵۱ مثلا الان دارد خب من عرضم تمام الان این کدم باز در اختیارتون قرار میدیم آقای بابایی زحمت بکشید تشریف بیارید در مورد سایکل برامون صحبت کنن دیتا ست حدودی میگم خدمتتون چیه که دیگه توضیحات کد نویسیش با ایشونه ایشون دو نوع عکس داره یه نوع عکس اومده با دست یه سری چیزا رو گرفته مثلاً موبایل لیوان اینا یعنی دست دست یکی توشه یکی از عکسهاست که دست هیچکی توش نیست فقط از اون آبجکت است ولی ممکن هم چیز نباشن ها معادل نباشن یعنی اون موبایله اینجوری نباشه یه بار با دست یه بار بی دست ممکنه یه با این موبایل باید دست با یه موبایل دیگه بی دست عکس باشه حالا سوال اینه که شبکه بسازه که عکس دست دار رو بهش بدی بی دستشو بهت بده تحویل یا بی دستش یه دستی بزار اونجا موبایل لیوانه رو بگیره حالا ایشون برای هدف خودش لپ تاپ خودتونو دارید شیر میکنم تو گوگل کلوپ که دیگه همین جا بچهها ضبطشون ادامه پیدا بکنه حالا کد میشه کاستوم مثلا چون که اسم نذاشتیم برای تعریف شده حالا میشه مثلا خودتون شروع بفرمایید توضیح بده و چیز جنرال خدا لازم چشم به نام خدا این شبکه رو من استراکچ ساختارش اینجوری زدم که دقیقا مشابه همون ساختار مقاله مقاله چون اینا خیلی میشه با ساختارش ور رفت یعنی چه ساختارهای جنراتور باشه چه ساختار باشه یا حالا بخشهای دیگش اینم باید فانتوم بشه که دقیقا بفهمیم که پارامترها مثلا چجوری باشن بخاطر همون چون ما اونقدر مثلا دسترسی نداریم به کامپیوتر که خودمون اونقدر مثلا ترین کنیم که پارامترهای مناسب پیدا کنیم میشه پارامترهای مناسب که حالا بقیه استفاده کردن مثلا استفاده میکنیم بخاطر همین من حالا اونا توی یعنی خود کاری که کرده بودم توی مقاله اصلی پایتون زده بودن من این کد زدم بعدش اول که به گوگل درایو وصل میشیم چون که ما دیتا ست های که داریم توی درایو گذاشتیم بعد این ست اینستنت نورمالیزیشن رو ما اینجا اد میکنیم چرا چون که این چیزی که مقاله اصلی برای نورزیشن استفاده شده حالا چیزهایی که اینجا ایمپورت شدن همه چیزایی که قبلا استفاده جدیدی نیستش یعنی شبکه که میسازیم دقیقا با همون چیزایی میسازیم که قبلا استفاده کردیم یعنی ترانسپوز زیروس نمیدونم لیکلو همین اکتیویشن اینا یعنی چیز جدیدی اینجا نداره خب اولتور تعریف میکنیم یه چیزی که من بگم که دیسکاوری که ما اینجا داریم یه مقدار متفاوت هستش که حالا قبلا تعریف شده و اینا چرا چون ما فرضا یه تصویر داریم ۲۵۶ ۲۵۶ ما به جای اینکه بیایم این تصویر رو مثلا تشخیص بدیم که ریل یا فیک یعنی کل تصویری یک یا صفر بدیم اومده کاری که کرده اینه که تصویر رو به یه پت تقسیم کرده اینجا خودمون میتونیم سایز پچ رو بدیم بالا مثلا پ ۱۶ در ۱۶ یعنی ۲۵ ۱۶ کرده این تصویر ۱۶ قسمت بعدش اومده وقتی قضاوت میکنه این تصویرو میاد هر بخش کوچک از پیکسل رو تعیین میکنه که این بخش ریل یا فیکه یعنی به کل ایمیج یه عدد نمیده خروجی که ما داریم اینجا پچ اوت اینجا یه در واقع ماتریسیه به اندازه در پچ یعنی اینه که یک صفر تعیین میکنه که هر قسمت از تصویر ریل یا فیکه بعد قسمت های وسطیش هم که مشخصه کان تو مثلا چهار در چهار بعد ۶۴ تا فیلتر اسلاید دوره مثلا پش سه بعد یعنی تا اینجاش این بوده برای دیسک حالا نسبتا سر روالیه حالا بعدش میریم جنراتور دیفاین میکنیم تعریف کنیم توی تعریف جنراتور من اینو داریم که ما اول میایم دکتر قبل این تعریف کردن این بود که از هیچی میومد یه عدد تولید میکرد ما یه نویزی بهش میدادیم میکرد عکس حالا نکته اینه که ما اینجا نویز نمیدیم ما اینجا یه عکس میدیم و خروجی عکس انتظار داریم پس اول عکس رو میگیره با این کانولوشن های که میزنه میاد به اینجا یعنی میاد دقیقا کانولوشن میزنیم میایم فیچر عکس در میاریم بعد اینجا یه چند تا بلاک رزنت داریم دلیل اینم که این بلاک میزدیم بخاطر اینه که خب ما میخوایم یه عکس رو از یه دوم ببریم یا حالا ممکنه عکس نباشه یعنی اینم ادامه میگم یا یه چیزی رو میخویم از یه دومین ببریم به دومین دیگه اصلا میخوایم آهنگ از یه صدا صدای نکته اینه که اینجا یه کامپلکسیتی زیادی داره اینجا پیچیدگی زیادی داره و برای اینکه ما بتونیم این پیچیدگی رو از این به باید این وسط بزرگ نباشه نمیتونه خوب فیت کنه همون اینجا یه چند تا بلاک هم گذاشته که این رزیدنت پلاکها براش ما اومدیم اینور یه دونه جداگانه دیفاین کردیم یه دونه در واقع فانکشن که ما میایم اول عکس رو میگیریم عکس که گرفتیم یه تعداد کانولوشنش اعمال میکنیم بعد خروجی این کانولوشن ها رو با خود عکس ورودی کانتکت نت میکنیم این میشه در واقع خروجی شبکه رضایت ما شبیه خودش هم رد شده است بعدش بعد از شبکه های رزنت حالا نکته اینه که ما اول قبل از اومدیم در واقع شبکه حالا باید آب دوباره بزرگ عکس ها رو دوباره بزرگ کنیم اینجا هم این دوتا رو متقارن کردیم تا ورودی و خروجی هر اتفاقی که بالا میفته پایین بیفته و این باعث میشه که مثلا ورودی خروجی مون شیپش یکی باشه بعدش این توی اینجا این اتفاق میفته که خروجی که ما داریم یه اوت ایمیج میشه که توی عمل باید حالا از یک دوم دیگه داده ما رو ببره مدلی هم که داریم یه دونه ورودی میگیره یه خروجی میده دیگه به همین خوب نکته حالا کار از اینجا به بعد شروع میشه یعنی کار سایکل از اینجا بعد شروع میشه تا اینجاش اوکی بود روال بود توی سایکل ما در واقع چهار مدل لاس داریم یه لاس مون که همون لاس خود مثل لاس گنه یعنیسه نکته اینه که ما یه تصویری که داخل کد میگم ولی الان ولی توی ادامه ما توی سایک آتیلاس داریم که این آیدنتیلاس اینجوریه ما میگیم که ما میگیم که ما یه تصویری داریم این حالا ما یه ژنراتور داریم که این جنراتور از دومین در واقع بی میبره به دومین ای از دومین بی میبره به دوم اگر ما به این تصویر ای بدیم این خروجی به ما باید همون تصویر ای بده چون این ورودی که میگیره حالا لزوما بی نکته اینه که ببره دیگه این باعث میشه که مثلا رنگ مثلا تصویر خروجی رنگشو زیاد آسیب نزنه بعد یه دونه فوروارد لاس داریم که همون چیزی که دکتر گفتن یعنی ما یه تصویری از دومین بی از دوباره یعنی اینکه ما وقتی مثلا ای میدیم و از شبکه میبره به بی حالا بی رو دوباره نکته ای میدیم رو داریم حالا کاری که ما میخویم بکنیم اینه ما میگیم ای که تولید شده را بیا پیکسل وای با این ای که ما داریم و میدونیم درسته این دوتا با هم مقایسه کن و این اختلاف یعنی این شبکه ها خوب دونه دونه باید کنیم اصلی نیست ما در نهایت خروجی کل این کارمون اینه چهار تا شبکه یک شبکه میگیریم که جنراتور یعنی اگر دومین بی بهش بده یه شبکه میگیریم که ای یعنی اگر دوم ای بدیم دومین بی بهمون میده یه شبکه میگیریم که دیسک میکنه یعنی تشخیص میده عکس های که از یه عکس از بهش قیفه که یه شبکه از دومین ای بهش تصویر میدیم این فیک ما این چهار تا خب دوتاش اینا دو باید همزمان کنیم بعد یکی اینه خب یعنی یکی ما که این داستان فرق داریم این دو تای آخر کلا بی میشه مقایسه حالا نکته اینه ما میدونیم که به این شبکه ورودی ای بدیم بی بمونه حالا اگه ما به این شبکه ورودی بی بدیم چه اتفاقی میفته یعنی به این شبکه ورودی بی بدیم نکته اینه که این شبکه وظیفه اش این نیست که مثلا یعنی یه لات همین پیکس با این مقایسه کنید یعنی این دوتا با هم بایدشن خروجی این باید خودش باشه چرا چرا ساده تر یه نگاهش داشته از این فضا اگر ما اونو بهش بدیم اون بردارش توی فضای سی ما عکس داشتیم خب یه اصل بهش میدادیم همون ما اینه فقط اون چیزی که میخوایم تغییر مثلاً خب یعنی توی عکس فقط دنبال اسبا میگرده دنبال پرتقال میگرده پرت میکنه خب حالا من یک تصویری بهش بدیم که توش اسب نباشه خب پیدا باید خروجی همون تصویر خروجی حالا نکته اینه اگه ما این کار نکنیم خروجی باز بهمون چیز خوبی میده خروجی اوکی میده ولی نکته اینه که رنگا رو دیگه قاطی خوب نمیده یعنی مثلا شما وقتی این کاری که این تصویر خیلی زیادی رنگ ها داره الان مقاله اصلی رو وا کنیم یا نگاه کنید اینجا نشون میده یعنی با جفتش مقایسه کرده با ای و بدون یعنی ولی اهمیت نباشه این مسئله وقتی ورودی میگیره آره حالا جور دیگه از سوال بپرس جواب خوب نکته اینه که ما حالا فشن تعریف میکنیم به اسم فشن کامپوزیت مدل خب نکته اینه که ما شبکه جنریتور که داشتیم هم داشتیم حالا ما میخوایم اینا رو ترین کنیم برای ترین در واقع از جنریتور ما نمیتونیم مستقل ترین کنیم باید این شبکه رو تعریف کنیم داخل این شبکه چون باید دونه دونه وارد کنیم داخل این شبکه میگیم آقا مثلا اینجا ما ورودی جن یک رو میگیریم جنریتور دو رو میگیریم یه دیستتور میگیریم و ایمیج شی ما میایم میگیم جنریتور یک رو میخویم ترین کنیم پس با جن با دیسمیتور و دو کاری نداریم اینا ترینبل نیستند بعد میایم میگیم که ما این شبکه مون در نهایت قراره دو تا ورودی بگیره یه دونه این مثلا این دومین بی از دومین دو این از دومین یکه یه عکس از دومین دو میگه یه عکس دومین یک خب اینجا مثلا با یک و دو میدیم اینجا میاد میگه که یه اینپوت تعریف میکنه میاد میگه که ما این اینپوت رو میدیم به جنراتور یک خب یعنی این اینپوت حالا چیه داریم تصویری که از نوع دوئه نوع دو رو میدیم جنراتور ما به ما خروجی چی میده اوت پوت جنراتور یک رو میده که از نوع در واقع یکه بعد ما میایم یه دیسکور داریم که اینم وارد کردیم این همون یکه خب این دیسکتور یک میاد به ما میگه که این خروجی که ما گرفتیم رییل یا فیک خب یعنی یک یا یک یعنی همون پچ رو به ما میده خروجی خب این میشه نکته اینه که ما توی مدل نهایی مون در نهایت ما یه دونه هم یه چیزی که داریم اینو ریلش داریم یعنی ما میدونیم که این تصویری که دادیم در واقع ریل یا فیکه یعنی ما را داریم بعد میایم این اوت که در واقع داریم ما میدونیم که این عکس که به این دادیم ریل مثلا خب میایم یه دونه ماتریس یک* یک رو میایم با این خروجی که از این داریم یعنی اون پی یک تشخیص داده که هیچ اومد صفر تشخیص داده میایم از اینا مین اسکرش میگیریم میگیم که ما میایم حالا از نوع یک خب از نوع یک میایم میدیم به شبکه در واقع یک جنریتور مدل یک میدیم از نوع یک خروجیش باید چی باشه باید همون اوت پوت آیدی باشه که همون یک باشه حالا نکته اینه که اوت آییدی رو ما میایم با همین ورودی یعنی با همین این مقایسه میکنیم که باید در واقع با هم یکی باشن دیگه باید ارور ش می کنیم و حالا توی فوروارد مییم چیکار میکنیم ما این خروجی که داشتیم از یک این بود ما دو دادیم این شبکه خروجی به ما یک داد خب حالا نکته اینه اگه ما این یک رو دوباره بیایم به مدل دو بدیم باید خروجی دو بده حالا این مدل این دو باید با ورودی که به این یک دادیم یکی باشه این ورودی که به این دادیم این بود دیگه یعنی این بعد با هادی با این یکی باشه این دوتا که اینجا ما اینم به عنوان ورودی داریم اینو به عنوان ورودی داریم اینم که به عنوان خروجی حساب کردیم ما با در واقع مقایسه این دوتا دوباره میشه بعد یه بارم میایم میگیم حالا ما میایم این نوع یکو میدیم به مدل جن دو جنریتور دو ما همون نوع دو تغییر حالا نوع دو رو میدیم به یک بهمون نوع یک تحویل میده این نوع یک که به ما تحویل داده با این یک اصلی که ما بهش دادیم باید مینیمم بشه ارورش این میشه چهار تا در واقع لاستر لاس ما این قسمت اصلی کد اینه اینجا متوجه بشین حالا بقیش خیلی مشابه حالا قرار میدیم روی این قسمت سوالی هست چون اینجاش خیلی اصلیش همین اوکی که ما اینجا داریم از اینجا برداشتیم خب که با ترتیب اعمال میشه دو تا ورودی چهار خروجی این بعد این چهار تا خروجی با چهار تا خروجی لیبل های که ما داریم این چ اصلی داریم یعنی چهار تا خروجی که از کد میگیریم این چهار تا خروجی اصلی خودمون داریم میدونیم که مثلا چی مثلا اینجا این اوت دی رو ما خودمون داریم میدونیم که اگه مثلا بی دادیم این میشه ماتری ۱۶ در ۱۶ یک همش یک یا اگه فکر ۱۶ همش صفر بعد مییم خروجی که از این کد گرفتیم اینشو با اونی که |