⇨ Teil 1
⇨ Teil 2
Gut ausgeruht und das ist genug. Willkommen zurück!
In der vorherigen Serie haben Sie und ich Daten gesammelt und unser erstes Modell trainiert.
Dann trainierten sie, entsetzt über die Ergebnisse, ein Dutzend mehr.
Es ist Zeit, der Welt unsere Schöpfung zu zeigen!
Modell exportieren
Zunächst speichern wir das Generatormodell in einem geeigneten Format, damit wir keine Klassendeklarationen auf das Hosting ziehen müssen.
Erstellen Sie eine kleine Datei mit der Erweiterung * .py und kopieren Sie den Code unter dem Spoiler darunter hinein.
Lass es jit.py sein:
Der Code, der gedankenlos durch Ersetzen von path, output_path durch Ihren eigenen Code kopiert werden soll Ersetzen Sie die Variablen durch Ihre eigenen:
- Pfad - Der Pfad zur gewünschten Modelliteration.
Wir brauchen eine Datei * G_A.pth - Foto Generator -> Comic. - output_path - der Dateiname für das exportierte Modell, es kann alles mit der Endung * .jit sein, die Hauptsache ist, nicht zu vergessen, wo wir es gespeichert haben.
Es ist nicht notwendig, den Generator aus der letzten Ära des Trainings zu exportieren. Nehmen Sie den Generator, dessen Ergebnisse Ihnen am besten gefallen.
Als nächstes gehe zur Konsole, gehe in den Ordner mit unserer Datei und schreibe:
python jit.py
Voila! Das Modell ist bereit, die Außenwelt kennenzulernen.
Weitere Informationen zu Fackel JitDokumentation: https://pytorch.org/docs/stable/jit.html
Kurz gesagt, beim Exportieren nach JIT können Sie das Modell serialisieren und nicht die Python-Umgebung, alle Abhängigkeiten und externen Module, die verwendet werden könnten, mitziehen. Außer Fackel natürlich.
Obwohl wir es in einer Python-Umgebung hosten werden, können JIT-Modelle in eigenständigen Anwendungen verwendet werden.
Hosting-Wahl
Ich werde sehr offen sein und sofort zugeben: Mein interner Deep-Learning-Enthusiast starb irgendwann in der zweiten Stunde, als er die Möglichkeiten des Hostings mit GPU-Unterstützung erkundete. Wenn mir jemand sagt, dass ich ein kostengünstiges GPU-Hosting ohne Server habe, bin ich mehr als dankbar.
Ich hatte nicht vor, für meine Experimente einen vollwertigen Server zu bezahlen, deshalb suchte ich nur nach serverlosen Lösungen.
Nachdem ich mich in den mehrseitigen Tarifplänen von Google und Amazon qualvoll eingeschlichen hatte, fiel meine Wahl auf algorithmia.com
Dafür gibt es mehrere Gründe:
Die Web-IDE ist ideal für Dummies, wenn auch fürchterlich langsam, da Sie warten müssen, bis der Build für die Überprüfung abgeschlossen ist. Außerhalb dieses Tutorials würde ich empfehlen, alles lokal zu testen, da die meisten Fehler beim Herunterladen und Speichern von Dateien auftreten.
Die minimale Anzahl von Optionen - es ist schwierig, an vorzeitigem Alter zu sterben, ohne die Liste der Optionen bis zum Ende durchgelesen zu haben.
Nun, das letzte Argument - seit fast einem halben Jahr habe ich immer noch kein freies Startguthaben ausgegeben.
Obwohl sie jetzt bei der Registrierung eines persönlichen Kontos weniger geben als im letzten Sommer, sollte dies für eine Weile und mit Sicherheit für alle unsere Experimente ausreichen. Ende des Monats werden immer mehr Kredite vergeben, was mich mehr als einmal vor einem möglichen Ruin bewahrt hat.
Von den Minuspunkten ist anzumerken, dass es sich bei den Grafikkarten nur um das alte Tesla K80 mit 12 GB RAM handelt, was entsprechende Einschränkungen auferlegt. In jedem Fall werden wir bis zur Serienreife bereits verstehen, was wir vom Server benötigen.
Modelle bereitstellen
Nun zum Kampf!
Registrierung
Wir gehen zu https://algorithmia.com/signup und registrieren uns. Ich bin mir nicht sicher, ob es einen Unterschied macht, welchen Beruf / Konto-Typ ich auswähle. Wenn Sie jedoch eine Gold-Kombination finden, die maximale Credits bietet, lassen Sie es mich in den Kommentaren wissen!
Modell herunterladen
Nach der Registrierung werden wir in Ihrem Profil sein.
Wir müssen Ordner für das Modell und die Bilder erstellen, die es erzeugen wird.
Wählen Sie dazu im Menü links Datenquellen.
Klicken Sie auf Neue Datenquelle -> Gehostete Datenerfassung
Nennen wir den Ordner „My Models“.
Aus diesem Grund sollten wir auf eine Seite mit einer Liste unserer Ordner weitergeleitet werden.
Erstellen Sie einen anderen Ordner: Neue Sammlung -> "photo2comics_out"
Es ist Zeit, unser frisch exportiertes Modell herunterzuladen!
Gehen Sie zum Ordner Meine Modelle und ziehen Sie die Modelldatei in den Browser oder wählen Sie im Menü die Option Dateien hochladen.
Kopieren Sie nun den Link zu unserem Modell, er wird uns weiter unten nützlich sein. Klicken Sie dazu auf die Auslassungspunkte rechts neben dem Dateinamen.
Die Daten sind vorbei, gehen Sie zum Algorithmus selbst.
Algorithmus
Wir kehren zum Profil zurück, indem wir links im Menü auf Home klicken.
Klicken Sie anschließend auf Neu erstellen -> Algorithmus und wählen Sie den Namen unseres Algorithmus aus. Wir füllen die restlichen Optionen wie im Bild unten aus.
Klicken Sie auf Neuen Algorithmus erstellen und wählen Sie im angezeigten Fenster WebIDE aus.
Wenn Sie das Popup versehentlich geschlossen haben, können Sie den Quellcode öffnen, indem Sie im Menü unseres Algorithmus auf Quellcode klicken.
Wir entfernen den Vorlagencode und fügen unseren ein:
Noch mehr Code für noch gedankenloses Kopieren 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()
Vergessen Sie nicht, einen Link zum heruntergeladenen Modell einzufügen. Wir haben es im vorherigen Abschnitt beim Laden des Modells kopiert.
Klicken Sie in WebIDE oben rechts auf DEPENDENCIES und ersetzen Sie den Text durch eine Liste unserer Abhängigkeiten:
algorithmia>=1.0.0,<2.0 opencv-python six torch==1.3.0 torchvision numpy
Die Brennerversion muss dieselbe oder eine neuere sein als die, auf der wir das Modell gespeichert haben. Andernfalls kann es beim Import von JIT-Modellen zu Fehlern kommen.
Klicken Sie auf SPEICHERN, ERSTELLEN und warten Sie, bis der Build abgeschlossen ist. Sobald in der folgenden Konsole eine Meldung über einen erfolgreichen Build angezeigt wird, können Sie die Leistung des Modells überprüfen, indem Sie eine Testanforderung an die Konsole senden:
{"in":"https://cdn3.sportngin.com/attachments/photo/9226/3971/JABC-9u_medium.JPG", "out":"data://username/photo2comics_out/test.jpg", "size":512}
Wobei {username} Ihr Benutzername ist. Wenn alles geklappt hat, wird in der Konsole "Erfolgreich" und das generierte Bild in dem von uns angegebenen Ordner angezeigt (in diesem Fall photo2comics_out).
Zusammenfassung
Herzlichen Glückwunsch, wir haben unser bescheidenes Modell billig und verärgert verschoben!
In der nächsten Ausgabe werden wir uns mit dem Telegramm-Bot-Modell anfreunden und schließlich all dieses Zeug veröffentlichen.
Wenn Sie es kaum erwarten können, das Modell auszuprobieren, können Sie jederzeit die offizielle Dokumentation lesen: https://algorithmia.com/developers/api/
Nun, um die Zeit bis zum nächsten Artikel zu vertreiben, können Sie einige Bots stöbern, Modelle, für die ich auf dem Algorithmus gepostet habe:
@ selfie2animebot - Verwandelt ein Selfie in einen Anime
@pimpmyresbot - Erhöht die x2-Auflösung (maximal auf 1400x1400)
@photozoombot - Erstellt ein 3D- Zoomvideo aus einem Foto
@ photo2comicsbot - Eigentlich der Held der Gelegenheit
Vergessen Sie nicht, die in den Kommentaren festgestellten Ergebnisse, Ideen und Probleme mitzuteilen.
Das ist alles für heute. Bis bald