سفر مدرن کردن TorchVision - خاطرات یک توسعه دهنده TorchVision - 3 هوش داده PlatoBlockchain. جستجوی عمودی Ai.

سفر مدرن کردن TorchVision - خاطرات یک توسعه دهنده TorchVision - 3

سفر مدرن کردن TorchVision - خاطرات یک توسعه دهنده TorchVision - 3

از آخرین باری که مطلب جدیدی در خاطرات TorchVision ارسال کردم مدتی می گذرد سلسله. فکر کردم، من قبلاً اخباری را در وبلاگ رسمی PyTorch به اشتراک گذاشته ام توییتر، فکر کردم ایده خوبی است که بیشتر در مورد آنچه در آخرین نسخه TorchVision (نسخه 0.12) اتفاق افتاد، آنچه در نسخه بعدی (نسخه 0.13) منتشر می شود و برنامه های ما برای H2022 2 صحبت کنیم. هدف من فراتر از ارائه یک نمای کلی از ویژگی های جدید است و به جای ارائه بینشی در مورد جایی که می خواهیم پروژه را در ماه های بعد ببریم.

TorchVision نسخه 0.12 نسخه قابل توجهی با تمرکز دوگانه بود: الف) خط‌مشی‌های کمک‌رسانی مدل و منسوخ را به‌روزرسانی کنیم تا شفافیت را بهبود بخشیم و مشارکت‌کنندگان بیشتری را جذب کنیم و ب) تلاش‌های مدرن‌سازی خود را با افزودن معماری‌های مدل جدید محبوب، مجموعه‌های داده و تکنیک‌های ML کاهش دهیم.

در حال به روز رسانی خط مشی های ما

کلید یک پروژه منبع باز موفق، حفظ یک جامعه سالم و فعال است که به آن کمک می کند و آن را به جلو می برد. بنابراین، یک هدف مهم برای تیم ما افزایش تعداد مشارکت‌های جامعه است، با چشم‌انداز بلندمدت که جامعه را قادر می‌سازد ویژگی‌های بزرگ (مدل‌های جدید، تکنیک‌های ML، و غیره) را در کنار پیشرفت‌های افزایشی معمول (رفع اشکالات/دک) مشارکت دهد. ، ویژگی های کوچک و غیره).

از نظر تاریخی، حتی اگر جامعه بود مشتاق برای کمک به چنین ویژگی هایی، تیم ما در پذیرش آنها تردید داشت. مانع کلیدی فقدان مشارکت مدل مشخص و خط مشی استهلاک بود. برای رسیدگی به این موضوع، ژائو گومز با جامعه کار کرد تا اولین پیش‌نویس و منتشر شود دستورالعمل های مشارکت مدل که شفافیتی را در مورد فرآیند مشارکت در معماری های جدید، وزن های از پیش آموزش دیده و ویژگی هایی که نیاز به آموزش مدل دارند، فراهم می کند. علاوه بر این، Nicolas Hug با توسعه دهندگان هسته PyTorch برای فرموله کردن و اتخاذ یک بتن کار کرد سیاست استهلاک.

تغییرات فوق الذکر اثرات مثبت فوری بر پروژه داشت. خط مشی مشارکت جدید به ما کمک کرد تا مشارکت‌های اجتماعی متعددی را برای ویژگی‌های بزرگ دریافت کنیم (جزئیات بیشتر در زیر) و خط‌مشی منسوخ شدن واضح ما را قادر می‌سازد تا پایه کد خود را تمیز کنیم و در عین حال اطمینان حاصل کنیم که TorchVision تضمین‌های سازگار با عقب قوی ارائه می‌دهد. تیم ما انگیزه زیادی برای ادامه همکاری با توسعه دهندگان منبع باز، تیم های تحقیقاتی و سازندگان کتابخانه های پایین دستی برای حفظ مرتبط و تازه بودن TorchVision دارد. اگر بازخورد، نظر یا درخواست ویژگی دارید، لطفاً رسیدن به به ما.

مدرن کردن TorchVision

این راز نیست که برای چند نسخه اخیر ما هدف این بود که به TorchVision تمام افزایش‌ها، تلفات، لایه‌ها، ابزارهای آموزشی و معماری‌های جدید را به TorchVision اضافه کنیم تا کاربران ما بتوانند به راحتی نتایج SOTA را با استفاده از PyTorch بازتولید کنند. TorchVision نسخه 0.12 به همین مسیر ادامه داد:

  • مشارکت کنندگان انجمن راک استار ما، هو یی و ژیچیانگ وانگ، در این امر مشارکت داشته اند FCOS معماری که یک مدل تشخیص شی یک مرحله ای است.

  • Nicolas Hug پشتیبانی از جریان نوری را در TorchVision با اضافه کردن آن اضافه کرده است رافت معماری.

  • Yiwen Song پشتیبانی اضافه کرده است ویژن ترانسفورماتور (ViT) و من آن را اضافه کرده ام ConvNeXt معماری همراه با وزنه های از پیش تمرین شده بهبود یافته است.

  • در نهایت با کمک جامعه خود را اضافه کرده ایم 14 طبقه بندی جدید و 5 جریان نوری جدید مجموعه داده ها

  • طبق معمول، نسخه با پیشرفت‌های کوچک‌تر متعدد، رفع اشکال‌ها و بهبود اسناد ارائه شد. برای دیدن همه ویژگی‌های جدید و فهرست مشارکت‌کنندگان ما، لطفاً این قسمت را بررسی کنید نسخه 0.12 یادداشت های انتشار.

TorchVision نسخه 0.13 نزدیک به گوشه است و انتظار می رود در اوایل ژوئن منتشر شود. این یک نسخه بسیار بزرگ با تعداد قابل توجهی از ویژگی های جدید و پیشرفت های بزرگ API است.

به پایان رساندن مدرنیزاسیون ها و بستن فاصله از SOTA

ما به کار خود ادامه می دهیم سفر نوسازی کتابخانه با افزودن اولیه‌های لازم، معماری‌های مدل و ابزارهای دستوری برای تولید نتایج SOTA برای وظایف کلیدی Computer Vision:

  • با کمک ویکتور فومین، تکنیک‌های مهمی مانند افزایش داده‌های گمشده را اضافه کرده‌ام AugMix, جیتر در مقیاس بزرگ و غیره. این تکنیک ها ما را قادر ساختند که فاصله SOTA را ببندیم و وزنه های بهتری تولید کنیم (به زیر مراجعه کنید).

  • با کمک Aditya Oke، Hu Ye، Yassine Alouini و Abhijit Deo، بلوک های ساختمانی مشترک مهمی مانند DropBlock لایه، MLP بلوک، cIoU & انجام دهید ضرر و غیره. در نهایت من با شن لی کار کردم تا یک مشکل طولانی مدت در PyTorch را برطرف کنم SyncBatchNorm لایه ای که بر مدل های تشخیص تاثیر می گذارد.

  • Hu Ye با حمایت Joao Gomes اضافه شد ترانسفورماتور سویین همراه با بهبود وزنه های از قبل تمرین شده. من اضافه کردم EfficientNetV2 معماری و چندین بهینه سازی معماری پست کاغذی در پیاده سازی RetinaNet، FasterRCNN و MaskRCNN.

  • همانطور که قبلاً در وبلاگ PyTorch بحث کردم، ما تلاش زیادی برای بهبود وزنه های از پیش تمرین شده خود با ایجاد یک وزن بهبود یافته انجام داده ایم. دستور آموزشی. این به ما امکان داد تا دقت خود را افزایش دهیم مدل های طبقه بندی با 3 امتیاز دقت، دستیابی به SOTA جدید برای معماری های مختلف. تلاش مشابهی برای تشخیص و تقسیم بندی، که در آن ما دقت مدل ها را به طور متوسط ​​بیش از 8.1 mAP بهبود دادیم. سرانجام یوسوآ مایکل ام با لورا گوستافسون، مانات سینگاند و آرون ادکاک کار کرد تا پشتیبانی از کوله پشتی، مجموعه ای از وزنه های از قبل آموزش داده شده بسیار دقیق جدید برای ViT و RegNets.

API پشتیبانی چند وزنی جدید

همانطور که من قبلاً بحث شده در وبلاگ PyTorch، TorchVision مکانیسم سازنده مدل موجود خود را برای پشتیبانی از چندین وزن از پیش آموزش دیده گسترش داده است. API جدید کاملاً با عقب سازگار است، امکان نمونه‌سازی مدل‌هایی با وزن‌های مختلف را فراهم می‌کند و مکانیسم‌هایی را برای دریافت متا داده‌های مفید (مانند دسته‌ها، تعداد پارامترها، معیارها و غیره) و تبدیل‌های استنتاج پیش‌پردازش مدل ارائه می‌دهد. یک بازخورد اختصاصی وجود دارد مشکل در Github تا به ما کمک کند لبه های زبر خود را اتو کنیم.

اسناد بازسازی شده

نیکلاس هوگ تلاش‌های بازسازی را رهبری کرد مستندات مدل TorchVision. ساختار جدید می تواند از ویژگی های به دست آمده از API پشتیبانی چند وزنی برای ارائه مستندات بهتر برای وزن های از پیش آموزش دیده و استفاده از آنها در کتابخانه استفاده کند. فریاد عظیم به اعضای جامعه ما برای به ما کمک می کند تمام معماری ها را به موقع ثبت کنید.

با توجه به اینکه نقشه راه دقیق ما برای نیمه دوم سال 2022 هنوز نهایی نشده است، در اینجا چند پروژه کلیدی وجود دارد که در حال حاضر قصد داریم روی آنها کار کنیم:

  • ما از نزدیک با Haoqi Fan و Christoph Feichtenhofer کار می کنیم ویدیوی PyTorch، برای اضافه کردن ترانسفورماتور بینایی چند مقیاسی بهبود یافته معماری (MViTv2) به TorchVision.

  • فیلیپ مایر و نیکلاس هوگ در حال کار بر روی یک نسخه بهبود یافته از آن هستند API مجموعه داده ها (v2) که استفاده می کند TorchData و لوله های داده. فیلیپ مایر، ویکتور فومین و من نیز در حال کار بر روی گسترش خود هستیم API را تغییر می دهد (v2) برای پشتیبانی نه تنها از تصاویر، بلکه از جعبه های محدود، ماسک های تقسیم بندی و غیره.

  • در نهایت جامعه با افزودن معماری ها و تکنیک های محبوب به ما کمک می کند تا TorchVision را تازه و مرتبط نگه داریم. لزوون کاستلینو در حال حاضر با ویکتور فومین برای اضافه کردن آن کار می کند SimpleCopyPaste افزایش Hu Ye در حال حاضر در حال کار برای اضافه کردن است معماری DeTR.

اگر مایل به مشارکت در پروژه هستید، لطفاً به ما سر بزنید اولین مسائل خوب و کمک خواسته لیست ها اگر شما یک کهنه سرباز باتجربه PyTorch/Computer Vision هستید و مایل به مشارکت هستید، ما چندین پروژه نامزد برای جدید داریم. اپراتور, تلفات, تقویت و مدل.

امیدوارم مقاله برای شما جالب بوده باشد. اگه میخوای باهام تماس بگیری به من زنگ بزن لینک or توییتر.

تمبر زمان:

بیشتر از Datumbox