⇨ الجزء 1
⇨ الجزء 2
حسنا ، استراح وهذا يكفي. اهلا بعودتك
في السلسلة السابقة ، قمت أنت وأنا بجمع البيانات وتدريب نموذجنا الأول.
ثم ، مرعوبين بالنتائج ، دربوا أكثر من عشرة.
حان الوقت لاظهار خلقنا للعالم!
نموذج التصدير
بادئ ذي بدء ، سنقوم بإعادة حفظ طراز المولد بتنسيق مناسب حتى لا نضطر إلى سحب إعلانات الفئة إلى الاستضافة.
قم بإنشاء ملف صغير بملحق * .py وانسخ الكود من أسفل المفسد أدناه فيه.
فليكن jit.py:
يتم نسخ الكود بدون تفكير عن طريق استبدال المسار ، output_path بطريقتك الخاصة استبدال المتغيرات الخاصة بك:
- المسار - المسار إلى نموذج التكرار الذي تريده.
نحن بحاجة إلى ملف * G_A.pth - مولد الصور -> الكتاب الهزلي. - output_path - اسم ملف النموذج الذي تم تصديره ، يمكن أن يكون أي شيء بالامتداد *. جيت ، الشيء الرئيسي هو عدم نسيان المكان الذي حفظناه فيه.
ليس من الضروري تصدير المولد من الحقبة الأخيرة من التدريب ، خذ الذي ترغب في تحقيق نتائج أكثر.
بعد ذلك ، انتقل إلى وحدة التحكم ، انتقل إلى المجلد مع ملفنا والكتابة:
python jit.py
فويلا! النموذج جاهز للتعرف على العالم الخارجي.
مزيد من المعلومات حول الشعلة جيتالوثائق: https://pytorch.org/docs/stable/jit.html
باختصار ، يتيح لك التصدير إلى jit إجراء تسلسل للنموذج وعدم السحب على طول بيئة الثعبان ، وجميع التبعيات والوحدات الخارجية التي يمكنه استخدامها. باستثناء الشعلة ، بالطبع.
على الرغم من أننا سنستضيفها في بيئة بيثون ، إلا أنه يمكن استخدام نماذج jit في التطبيقات المستقلة.
اختيار استضافة
سأكون صريحا للغاية وأعترف على الفور: لقد توفي عشاق التعلم الداخلي العميق في مكان ما في الساعة الثانية من استكشاف إمكانيات الاستضافة بدعم GPU. فإذا أخبرني شخص ما باستضافة خادم GPU غير مكلفة ، فسأكون أكثر من ممتن.
لم أخطط للدفع مقابل خادم متكامل لتجاربي ، لذلك كنت أبحث فقط عن حلول بدون خادم.
بعد اقتحام الزحف على خطط التعريفة المتعددة الصفحات الخاصة بـ Google و Amazon ، وقع اختياري على algorithmia.com
هناك عدة أسباب:
يعد IDE Web مثاليًا للدمى ، وإن كان بطيئًا للغاية ، لأنه يتعين عليك الانتظار حتى يكتمل الإنشاء للتحقق. خارج هذا البرنامج التعليمي ، أوصي باختبار كل شيء محليًا ، حيث تحدث معظم الأخطاء في مرحلة تنزيل الملفات وحفظها.
الحد الأدنى لعدد الخيارات - من الصعب أن تموت من الشيخوخة المبكرة ، دون قراءة قائمة الخيارات حتى النهاية.
حسنًا ، الحجة الأخيرة - لنحو نصف عام من التجارب ، ما زلت لم أنفق رصيدًا مجانيًا.
رغم أنه الآن عند تسجيل حساب شخصي يقدمونه أقل من الصيف الماضي ، إلا أن هذا يجب أن يكون كافياً لفترة من الوقت ، وبالتأكيد لجميع تجاربنا. في نهاية الشهر ، يتم سكب المزيد من القروض ، مما أنقذني أكثر من مرة من الخراب المحتمل.
من السلبيات ، تجدر الإشارة إلى أن بطاقات الفيديو هناك فقط تسلا K80 القديمة مع 12 جيجابايت من ذاكرة الوصول العشوائي ، والذي يفرض قيود المقابلة. في أي حال ، حتى نصل إلى الإنتاج ، سوف نفهم بالفعل ما نحتاجه من الخادم.
نشر النماذج
حسنا ، إلى المعركة!
تسجيل
نذهب إلى https://algorithmia.com/signup والتسجيل. لست متأكدًا من وجود اختلاف في نوع المهنة \ نوع الحساب الذي يجب اختياره ، ولكن إذا وجدت مجموعة ذهبية توفر الحد الأقصى للائتمانات ، فتأكد من إخباري في التعليقات!
تحميل نموذج
بعد التسجيل ، سنكون في ملفك الشخصي.
نحتاج إلى إنشاء مجلدات للنموذج والصور التي سيقوم بإنشائها.
للقيام بذلك ، حدد Data Sources في القائمة على اليسار.
انقر فوق مصدر بيانات جديد -> مجموعة البيانات المستضافة
دعنا اسم المجلد "بلدي النماذج".
نتيجة لذلك ، يجب نقلنا إلى صفحة تحتوي على قائمة المجلدات الخاصة بنا.
إنشاء مجلد آخر: مجموعة جديدة -> "photo2comics_out"
حان الوقت لتنزيل نموذجنا المُصدر حديثًا!
انتقل إلى مجلد My Models واسحب ملف الطراز إلى المستعرض ، أو حدد تحميل الملفات من القائمة.
الآن قم بنسخ الرابط إلى نموذجنا ، وسيكون من المفيد لنا أدناه. للقيام بذلك ، انقر فوق علامة القطع الموجودة على يمين اسم الملف.
انتهت البيانات ، انتقل إلى الخوارزمية نفسها.
خوارزمية
نعود إلى الملف الشخصي من خلال النقر على الصفحة الرئيسية في القائمة على اليسار.
بعد ذلك ، انقر فوق إنشاء جديد -> خوارزمية وحدد اسم الخوارزمية الخاصة بنا. نملأ الخيارات المتبقية كما في الصورة أدناه.
انقر فوق إنشاء خوارزمية جديدة وحدد WebIDE في النافذة التي تظهر.
إذا قمت بإغلاق الإطار المنبثق عن طريق الخطأ ، فيمكنك فتح التعليمات البرمجية المصدر بالنقر فوق "شفرة المصدر" في قائمة الخوارزمية الخاصة بنا.
نزيل شفرة القالب ونضيف رمزنا:
بعض التعليمات البرمجية لنسخ أكثر طائش import Algorithmia import torch import torchvision import torchvision.transforms as transforms import cv2 from torch import * import uuid import gc import requests import numpy as np client = Algorithmia.client()
لا تنسَ إدراج رابط للطراز الذي تم تنزيله. قمنا بنسخه في القسم السابق عند تحميل النموذج.
أثناء وجودك في WebIDE ، انقر فوق DEPENDENCIES في الجزء العلوي الأيمن واستبدل النص بقائمة من تبعياتنا:
algorithmia>=1.0.0,<2.0 opencv-python six torch==1.3.0 torchvision numpy
يجب أن تكون نسخة المشعل هي نفسها أو الأحدث من النسخة التي حفظنا بها النموذج. خلاف ذلك ، قد تكون هناك أخطاء عند استيراد نموذج jit.
انقر فوق "حفظ" و "إنشاء" وانتظر حتى يكتمل الإنشاء. بمجرد ظهور رسالة حول إنشاء ناجح في وحدة التحكم أدناه ، يمكننا التحقق من أداء الطراز عن طريق إرسال طلب اختبار إلى وحدة التحكم:
{"in":"https://cdn3.sportngin.com/attachments/photo/9226/3971/JABC-9u_medium.JPG", "out":"data://username/photo2comics_out/test.jpg", "size":512}
حيث {اسم المستخدم} هو اسم المستخدم الخاص بك. إذا سارت الأمور على ما يرام ، فسيظهر "Success" في وحدة التحكم ، وستظهر الصورة التي تم إنشاؤها في المجلد الذي حددناه (في هذه الحالة photo2comics_out).
النتائج
مبروك ، نحن بتأجيل وبثمن غاضب نموذجنا المتواضع!
في العدد التالي ، سنكون صداقات مع نموذج telegram bot ، وفي النهاية ، سنصدر كل هذه الأشياء.
إذا كنت لا تستطيع الانتظار لتجربة النموذج ، يمكنك دائمًا قراءة الوثائق الرسمية: https://algorithmia.com/developers/api/
حسنًا ، من أجل قضاء الوقت حتى المقالة التالية ، يمكنك وضع بعض الروبوتات ، النماذج التي نشرتها على الخوارزمية:
@ selfie2animebot - يتحول selfie إلى أنيمي
pimpmyresbot - زيادة دقة x2 (بحد أقصى 1400 × 1400)
photozoombot - يقوم بإنشاء فيديو تكبير ثلاثي الأبعاد من صورة واحدة
@ photo2comicsbot - في الواقع ، بطل هذه المناسبة
لا تنسى مشاركة النتائج والأفكار والمشاكل التي صودفت في التعليقات.
هذا كل شيء لهذا اليوم. اراك قريبا!