GAN ist ein generatives ML-Modell, das in den Bereichen Werbung, Spiele, Unterhaltung, Medien, Pharmazeutik und anderen Branchen weit verbreitet ist. Sie können damit fiktive Charaktere und Szenen erstellen, die Gesichtsalterung simulieren, Bildstile ändern, chemische Formeln, synthetische Daten erstellen und vieles mehr.
Die folgenden Bilder zeigen beispielsweise die Wirkung von Bild-zu-Bild-Konvertierung.
Die folgenden Bilder zeigen die Wirkung von Synthese einer Szenerie basierend auf einem semantischen Layout.
Dieser Beitrag führt Sie durch die Erstellung Ihres ersten GAN-Modells mit Amazon Sage Maker. Dies ist eine Reise zum Erlernen von GAN aus der Perspektive praktischer technischer Erfahrungen sowie zur Eröffnung eines neuen KI/ML-Bereichs generativer Modelle.
Wir stellen auch einen Anwendungsfall einer der heißesten GAN-Anwendungen im Bereich der synthetischen Datengenerierung vor. Wir hoffen, dass Ihnen dies einen greifbaren Eindruck davon vermittelt, wie GAN in realen Szenarien eingesetzt wird.
Lösungsübersicht
Unter den folgenden beiden Bildern handgeschriebener Ziffern wird eines tatsächlich von einem GAN-Modell generiert. Können Sie sagen, welches?
Das Hauptthema dieses Artikels ist die Verwendung von ML-Techniken zur Generierung synthetischer handschriftlicher Ziffern. Um dieses Ziel zu erreichen, erleben Sie persönlich das Training eines GAN-Modells. Die Generierung synthetischer handschriftlicher Ziffern entspricht im Wesentlichen den Grundprinzipien und technischen Prozessen der Porträtgenerierung, unterscheidet sich jedoch in Bezug auf Daten, Algorithmenkomplexität und Genauigkeitsanforderungen.
Generative Adversarial Networks von Ian Goodfellow et al. ist eine tiefe neuronale Netzwerkarchitektur, die aus einem Generatornetzwerk und einem Diskriminatornetzwerk besteht. Der Generator synthetisiert Daten und versucht, den Diskriminator zu täuschen, während der Diskriminator die Daten authentifiziert und versucht, alle synthetisierten Daten korrekt zu identifizieren. Im Prozess der Trainingsiterationen entwickeln sich die beiden Netzwerke weiter und konfrontieren sich, bis sie einen erreichen Gleichgewichtszustand (Nash-Gleichgewicht). Der Diskriminator kann synthetisierte Daten nicht mehr erkennen, woraufhin der Trainingsprozess beendet ist.
Um ein GAN-Modell zu trainieren, müssen wir mit einigen Tools und Diensten beginnen, die effizient und für ML-Praktiken auf AWS notwendig sind. Als Arbeitsumgebung ist SageMaker ein vollständig verwalteter ML-Dienst. Es bietet alle gängigen ML-Frameworks als verwaltete Container-Images, wie Scikit-Learn, XGBoost, MXNet, TensorFlow, PyTorch und mehr. Der SageMaker-SDK ist ein Open-Source-Entwicklungskit für SageMaker, mit dem Sie SageMaker und andere AWS-Dienste verwenden können, um beispielsweise auf Daten in einem zuzugreifen Amazon Simple Storage-Service (Amazon S3)-Bucket oder Trainieren eines Modells mit einem verwalteten Amazon Elastic Compute-Cloud (Amazon EC2)-Instanz.
Mit der End-to-End-ML-Funktionalität von SageMaker können Sie sich auf die Modellerstellungsarbeit konzentrieren und problemlos eine Vielzahl von GAN-Modellen trainieren, ohne Mehraufwand bei der Infrastruktur- und Framework-Wartung.
Das folgende Diagramm zeigt unsere Architektur.
Die Trainingsdaten stammen aus dem S3-Speicher-Bucket und werden in den lokalen Speicher der Trainingsinstanz geladen. Die verwalteten Trainingsframeworks und verwalteten Algorithmen werden in Form von Containerbildern bereitgestellt Amazon Elastic Container-Registrierung (Amazon ECR), die beim Start des Trainingscontainers mit dem benutzerdefinierten Trainingscode kombiniert werden. Die Trainingsausgabe wird gesammelt und an einen angegebenen S3-Bucket gesendet. In den folgenden Abschnitten erfahren wir, wie Sie diese Ressourcen über das SageMaker SDK nutzen.
Wir nutzen AWS-Dienste wie Amazon SageMaker und Amazon S3, für die bestimmte Gebühren für die Nutzung von Cloud-Ressourcen anfallen.
Einrichten der Entwicklungsumgebung
SageMaker bietet eine verwaltete Jupyter-Notebook-Instanz für Modellerstellung, Schulung und mehr. Über Jupyter-Notebooks können Sie ML-Aktivitäten effektiv und einfach durchführen. Anweisungen zum Einrichten Ihrer Jupyter-Notebook-Arbeitsumgebung finden Sie unter Erste Schritte mit Amazon SageMaker Notebook-Instances.
Alternativ möchten Sie vielleicht mit zusammenarbeiten Amazon SageMaker-Studio. Anweisungen finden Sie unter Beginnen Sie mit Studio Notebooks.
Laden Sie den Quellcode herunter
Der Quellcode ist verfügbar in SageMaker-Beispiele GitHub-Repository.
- Auf dem Git Menü, wählen Sie Klonen Sie ein Repository.
- Geben Sie den Klon-URI des Repositorys ein (
https://github.com/aws/amazon-sagemaker-examples.git
). - Auswählen
Clone.
Wenn der Download abgeschlossen ist, durchsuchen Sie die Quellcodestruktur mit dem Dateibrowser.
- Öffnen Sie das Notizbuch
build_gan_with_pytorch.ipynb
, das sich unter dem Ordner befindet/amazon-sagemaker-examples/advanced_functionality/pytorch_bring_your_own_gan/
. - Im Wählen Sie Kernel Pop-up, wählen Sie conda_pytorch_latest_p36.
Wenn Sie eine Studio-Umgebung verwenden, wählen Sie die aus Python3 (PyTorch 1.6 Python 3.6 GPU-optimiert) Kernel stattdessen.
Der in diesem Beitrag verwendete Code und die Notebooks sind verfügbar unter GitHubund sind alle mit Python 3.6, PyTorch 1.5 und dem von SageMaker verwalteten JupyterLab verifiziert.
Deep Convolutional Generative Adversarial Network (DCGAN)
Im Jahr 2016 haben Alec Radford et al. veröffentlichte das Papier „Unüberwachtes Repräsentationslernen mit Deep Convolutional Generative Adversarial Networks“. Dies war der Vorreiter bei der Anwendung von Faltungs-Neuronalen Netzen auf GAN. Im Algorithmusdesign werden die vollständig verbundenen Schichten durch Faltungsschichten ersetzt, was die Stabilität des Trainings in den Bilderzeugungsszenarien verbessert.
Netzwerkstruktur
Das Generatornetzwerk verwendet schrittweise transponierte Faltungsschichten, um die Auflösung des Tensors zu verbessern. Die Eingabeform ist (batch_size
, 100) und die Ausgabeform ist (batch_size
, 64, 64, 3). Mit anderen Worten: Das Netzwerk akzeptiert einen 100-dimensionalen Gleichverteilungsvektor und durchläuft dann eine kontinuierliche Transformation, bis das endgültige Bild generiert ist.
Das Diskriminatornetzwerk empfängt Bilder im (64, 64, 3)-Format, verwendet 2D-Faltungsschichten zum Downsampling und übergibt sie schließlich zur Klassifizierung an die vollständig verbundene Schicht.
Der Trainingsprozess des DCGAN-Modells lässt sich grob in drei Teilprozesse unterteilen.
Erstens verwendet das Generatornetzwerk eine Zufallszahl als Eingabe, um ein synthetisches Bild zu erzeugen. Anschließend werden das authentische Bild und das synthetische Bild verwendet, um das Diskriminatornetzwerk zu trainieren und die Parameter zu aktualisieren. Schließlich werden die Netzwerkparameter des Generators aktualisiert.
Codestruktur
Die Dateistruktur des Projektverzeichnisses pytorch_bring_your_own_gan
ist wie folgt:
Die Datei train.py
enthält drei Klassen: das Generatornetzwerk Generator
, das Diskriminatornetzwerk Discriminator
und eine Wrapper-Klasse für einen einzelnen Batch-Trainingsprozess. Siehe den folgenden Code:
Das train.py
Die Datei enthält außerdem mehrere Funktionen, die das Training der Netzwerke von erleichtern Generator
und Discriminator
. Einige der Hauptfunktionen sind wie folgt:
Modellentwicklung
Während der Entwicklung können Sie Folgendes ausführen train.py
Skript direkt von der Linux-Befehlszeile aus. Sie können Eingabedatenkanäle, Modellhyperparameter und Trainingsausgabespeicher über Befehlszeilenargumente angeben (weitere Informationen finden Sie unter Verwenden Sie PyTorch mit dem SageMaker Python SDK):
Ein solches Design des Trainingsskriptparameters stellt nicht nur eine gute Debugging-Methode dar, sondern ist auch ein Protokoll und eine Voraussetzung für die Integration mit SageMaker-Containern. Dies berücksichtigt die Flexibilität der Modellentwicklung und die Portabilität der Trainingsumgebung.
Modellschulung und -validierung
Suchen und öffnen Sie die Notebook-Datei build_gan_with_pytorch.ipynb
, das den Trainingsprozess einleitet und durchführt. Ein Teil des Codes in diesem Abschnitt wurde weggelassen; Weitere Informationen finden Sie im Notizbuch.
Daten herunterladen
Im Internet sind viele öffentliche Datensätze verfügbar, die für die ML-Technik und die wissenschaftliche Forschung, wie etwa das Studium und die Bewertung von Algorithmen, sehr hilfreich sind. Wir verwenden den MNIST-Datensatz, bei dem es sich um einen handgeschriebenen Zifferndatensatz handelt, um ein DCGAN-Modell zu trainieren und schließlich einige synthetische handgeschriebene Ziffern zu generieren. Siehe den folgenden Code:
Bereiten Sie die Daten vor
Das PyTorch-Framework verfügt über eine torchvision.datasets
Paket, das Zugriff auf mehrere Datensätze bietet. Mit den folgenden Befehlen können Sie den vorab heruntergeladenen MNIST-Datensatz zur späteren Verwendung aus dem lokalen Speicher lesen:
Das SageMaker SDK erstellt einen Standard-S3-Bucket, damit Sie auf verschiedene Dateien und Daten zugreifen können, die Sie möglicherweise im ML-Engineering-Lebenszyklus benötigen. Den Namen dieses Buckets können wir durch ermitteln default_bucket
Methode der sagemaker.session.Session
Klasse im SageMaker SDK:
Das SageMaker SDK stellt Tools für den Betrieb von AWS-Services bereit. Zum Beispiel die S3Downloader
Die Klasse wird zum Herunterladen von Objekten in Amazon S3 verwendet S3Uploader
wird zum Hochladen lokaler Dateien auf Amazon S3 verwendet. Sie laden die Datensatzdateien für das Modelltraining auf Amazon S3 hoch. Während des Modelltrainings laden wir keine Daten aus dem Internet herunter, um Netzwerklatenz zu vermeiden, die durch das Abrufen von Daten aus dem Internet verursacht wird. Dadurch werden auch mögliche Sicherheitsrisiken durch den direkten Zugriff auf das Internet vermieden. Siehe den folgenden Code:
Trainiere das Modell
Über die sagemaker.get_execution_role()
Mit dieser Methode kann das Notebook die der Notebook-Instanz vorab zugewiesene Rolle erhalten. Diese Rolle wird zum Abrufen von Trainingsressourcen verwendet, z. B. zum Herunterladen von Trainings-Framework-Bildern, zum Zuweisen von EC2-Instanzen usw.
Die in der Modelltrainingsaufgabe verwendeten Hyperparameter können im Notebook so definiert werden, dass sie vom Algorithmus und Trainingscode getrennt sind. Die Hyperparameter werden beim Erstellen der Trainingsaufgabe übergeben und dynamisch mit der Trainingsaufgabe kombiniert. Siehe den folgenden Code:
Das PyTorch-Klasse von dem sagemaker.pytorch
Das Paket ist ein Schätzer für das PyTorch-Framework. Sie können damit Trainingsaufgaben erstellen und ausführen. In der Parameterliste instance_type
Gibt den Typ der Trainingsinstanz an, z. B. CPU- oder GPU-Instanzen. Das Verzeichnis, das das Trainingsskript und den Modellcode enthält, wird durch angegeben source_dir
, und der Name des Trainingsskripts muss eindeutig definiert sein entry_point
. Diese Parameter werden zusammen mit anderen Parametern an den Trainingsjob übergeben und bestimmen die Umgebungseinstellungen der Trainingsaufgabe. Siehe den folgenden Code:
Achten Sie besonders auf die use_spot_instances
Parameter. Der Wert von True
Hier bedeutet, dass Sie Spot-Instanzen zum Trainieren des Modells verwenden möchten. Da ML-Training normalerweise eine große Menge an Rechenressourcen erfordert, um über einen langen Zeitraum ausgeführt zu werden, Verwendung von Spot-Instanzen kann Ihnen helfen, Ihre Kosten zu kontrollieren. Spot-Instanzen können im Vergleich zu On-Demand-Instanzen bis zu 90 % Kosten einsparen. Je nach Instanztyp, Region und Zeit kann der tatsächliche Preis unterschiedlich sein.
Sie haben ein PyTorch-Objekt erstellt und können es verwenden, um vorab hochgeladene Trainingsdaten auf Amazon S3 anzupassen. Der folgende Befehl initiiert den Trainingsauftrag und die Trainingsdaten werden in Form eines benannten Eingabekanals in den lokalen Speicher der Trainingsinstanz geladen MNIST
. Wenn die Trainingsaufgabe startet, sind die Trainingsdaten bereits im lokalen Dateisystem der Trainingsinstanz und im Trainingsskript verfügbar train.py
Anschließend kann auf die Daten von der lokalen Festplatte zugegriffen werden.
Abhängig von der von Ihnen gewählten Trainingsinstanz kann der Trainingsprozess Dutzende Minuten bis hin zu Stunden dauern. Wir empfehlen die Einstellung wait
Parameter False
, wodurch das Notebook vom Trainingsjob getrennt wird. In Szenarien mit langer Trainingszeit und vielen Trainingsprotokollen kann verhindert werden, dass der Notebook-Kontext aufgrund einer Netzwerkunterbrechung oder einer Sitzungszeitüberschreitung verloren geht. Nachdem das Notebook von der Trainingsaufgabe getrennt wurde, ist die Ausgabe vorübergehend unsichtbar. Führen Sie den folgenden Code aus, damit das Notebook die vorherige Trainingssitzung abrufen und fortsetzen kann:
Da das Modell darauf ausgelegt ist, die GPU-Leistung zur Beschleunigung des Trainings zu nutzen, ist es auf GPU-Instanzen viel schneller als auf CPU-Instanzen. Beispielsweise dauert die g4dn.2xlarge-Instanz etwa 12 Minuten, während die c5.xlarge-Instanz mehr als 6 Stunden dauern kann. Das aktuelle Modell unterstützt kein Training mit mehreren Instanzen instance_count
Parameter mit einem Wert über 1 bringt keine zusätzlichen Vorteile bei der Optimierung der Trainingszeit.
Wenn der Trainingsauftrag abgeschlossen ist, wird das trainierte Modell gesammelt und auf Amazon S3 hochgeladen. Der Upload-Speicherort wird durch angegeben output_path
Parameter, der beim Erstellen bereitgestellt wird PyTorch
Objekt.
Testen Sie das Modell
Sie laden das trainierte Modell von Amazon S3 in das lokale Dateisystem der Notebook-Instanz herunter, auf der dieses Jupyter-Notebook ausgeführt wird. Der folgende Code lädt das Modell, führt es aus und generiert dann ein Bild handgeschriebener Ziffern aus einer Zufallszahl als Eingabe:
Anwendungsfall: Synthetische Daten zur Verbesserung der handschriftlichen Texterkennung
GAN und DCGAN wurden in einer bemerkenswerten Anzahl von Varianten abgeleitet, die unterschiedliche Probleme in ihren jeweiligen Domänen angehen. Schauen wir uns einen Anwendungsfall an, der darauf abzielt, den Aufwand und die Kosten bei der Datenerfassung und -annotation zu reduzieren sowie die Leistung eines Handschrift-Texterkennungssystems zu verbessern.
ScrabbleGAN (siehe auch die GitHub Repo), eingeführt von Wissenschaftlern von Amazon, ist ein halbüberwachter Ansatz zur Synthese handgeschriebener Textbilder, die sowohl im Stil als auch im Lexikon vielseitig sind. Es basiert auf einem neuartigen generativen Modell, das Bilder von Wörtern beliebiger Länge erzeugen kann. Der Generator kann den resultierenden Textstil manipulieren, beispielsweise ob der Text kursiv ist oder wie dünn der Stiftstrich ist.
Problem Definition
Optische Zeichenerkennung (OCR), insbesondere handschriftliche Texterkennungssysteme (HTR), haben im Deep-Learning-Zeitalter erhebliche Leistungsverbesserungen erfahren. Allerdings ist die auf Deep Learning basierende HTR durch die Anzahl der Trainingsbeispiele begrenzt. Mit anderen Worten: Die Datenerfassung und -kennzeichnung sind herausfordernde und kostspielige Aufgaben.
Um den Mangel an vielseitigem, kommentiertem handschriftlichem Text und die Schwierigkeit, ihn zu erhalten, anzugehen, führten Amazon-Wissenschaftler eine halbüberwachte Lernlösung ein, indem sie realistischen, synthetisierten Text erstellten, den Bedarf an Anmerkungen reduzierten und die Vielfalt der Trainingsdaten sowohl im Stil als auch im Lexikon bereicherten .
Netzwerkarchitektur
Im Gegensatz zur überwiegenden Mehrheit textbezogener Netzwerke, die auf wiederkehrenden neuronalen Netzwerken (RNNs) basieren, führt ScrabbleGAN eine neuartige, vollständig faltende handschriftliche Textgenerierungsarchitektur ein, die beliebig lange Ausgaben ermöglicht. Diese Architektur lernt Zeicheneinbettungen, ohne dass Anmerkungen auf Zeichenebene erforderlich sind.
Handschrift ist ein lokaler Prozess – jeder Buchstabe wird von seinem Vorgänger und Nachfolger beeinflusst. Die Aufmerksamkeit des Synthesizers ist auf die unmittelbaren Nachbarn des aktuellen Buchstabens gerichtet, und der Generator G ist darauf ausgelegt, diesen Prozess nachzuahmen. Anstatt das Bild aus einer gesamten Wortdarstellung zu generieren, erweitert jede Faltungs-Upsampling-Schicht das Empfangsfeld sowie die Überlappung zwischen zwei benachbarten Zeichen. Diese Überlappung ermöglicht die Interaktion benachbarter Charaktere und sorgt für einen reibungslosen Übergang. Der Stil jedes Bildes wird durch einen Rauschvektor z gesteuert, der als Eingabe in das Netzwerk gegeben wird. Um den gleichen Stil für das gesamte Wort oder den gesamten Satz zu erzeugen, wird dieser Rauschvektor während der gesamten Generierung aller Zeichen in der Eingabe konstant gehalten.
Der Zweck des Diskriminators D besteht darin, die von G erzeugten synthetischen Bilder von den realen Bildern zu unterscheiden. Es unterscheidet solche Bilder auch anhand des handschriftlichen Ausgabestils. Die Diskriminatorarchitektur muss die unterschiedliche Länge des erzeugten Bildes berücksichtigen, daher ist sie auf Faltung ausgelegt und im Wesentlichen eine Verkettung separater binärer Klassifikatoren mit überlappenden Empfangsfeldern. Da es nicht auf Annotationen auf Zeichenebene angewiesen ist, wird für jeden dieser Klassifikatoren keine Klassenüberwachung verwendet. Daher können unbeschriftete Bilder zum Trainieren von D verwendet werden. Eine Pooling-Schicht aggregiert die Ergebnisse aller Klassifikatoren in der endgültigen Diskriminatorausgabe.
Während der Diskriminator D real aussehende Bilder fördert, fördert der Erkenner R lesbaren Text, indem er im Wesentlichen zwischen Kauderwelsch und echtem Text unterscheidet. Erzeugte Bilder werden bestraft, indem der erkannte Text in der Ausgabe von R mit dem Text verglichen wird, der als Eingabe an G übergeben wurde. R wird nur an echten, beschrifteten, handgeschriebenen Mustern trainiert.
Die meisten Erkennungsnetzwerke verwenden ein wiederkehrendes Modul, das ein implizites Sprachmodell lernt, das ihm hilft, das richtige Zeichen zu identifizieren, auch wenn es nicht klar geschrieben ist. Obwohl diese Qualität in einem Handschrifterkennungsmodell normalerweise erwünscht ist, kann sie in diesem Fall synthetischer Daten dazu führen, dass das Netzwerk Zeichen korrekt liest, die vom Generator G nicht klar geschrieben wurden. Daher ist dies beim wiederkehrenden Kopf des Erkennungsnetzwerks nicht der Fall ausgeschlossen und nur das Faltungsrückgrat wird verwendet.
Zusammenfassung
Das PyTorch-Framework, eines der beliebtesten Deep-Learning-Frameworks, hat sich in den letzten Jahren rasant weiterentwickelt und ist weithin anerkannt und angewendet worden. Immer mehr neue Modelle wurden mit PyTorch erstellt und eine bemerkenswerte Anzahl vorhandener Modelle wird von anderen Frameworks nach PyTorch migriert. Es hat sich bereits zu einem der De-facto-Mainstream-Deep-Learning-Frameworks entwickelt.
SageMaker ist eng in eine Vielzahl von AWS-Diensten integriert, beispielsweise EC2-Instanzen verschiedener Typen, Amazon S3 und Amazon ECR. Es bietet eine durchgängige, konsistente ML-Erfahrung für ML-Praktiker aller Frameworks. SageMaker unterstützt weiterhin gängige ML-Frameworks, einschließlich PyTorch. Mit PyTorch entwickelte ML-Algorithmen und -Modelle können mithilfe des vollständig verwalteten Jupyter-Notebooks, Spot-Trainingsinstanzen, Amazon ECR, des SageMaker SDK und mehr problemlos in eine SageMaker-Umgebung übertragen werden. Dies senkt den Aufwand für ML-Engineering und Infrastrukturbetrieb, verbessert die Produktivität und Effizienz und senkt die Betriebs- und Wartungskosten.
Von GAN generierte synthetische Daten sind reichhaltig und vielseitig und können in erheblichen Mengen produziert werden. Daher können Sie damit die Leistung eines Modells verbessern, indem Sie den Trainingssatz anreichern. Darüber hinaus kann diese Technik den Aufwand und die Kosten bei der Datenerfassung und -kennzeichnung reduzieren.
DCGAN ist ein Meilenstein auf dem Gebiet generativer gegnerischer Netzwerke und heute der Grundstein vieler moderner komplexer generativer gegnerischer Netzwerke. In späteren Beiträgen untersuchen wir einige der neuesten und interessantesten Varianten von GANs. Die in diesem Beitrag besprochene Einführung und technische Vorgehensweise kann Ihnen dabei helfen, die Prinzipien und technischen Methoden für GAN im Allgemeinen zu verstehen. Probieren Sie Ihr erstes generatives Modell aus, verfügbar als ein Beispiel von SageMaker, viel Spaß und bis zum nächsten Mal.
Über den Autor
Laurence MIAO, Lösungsarchitekt bei AWS. Laurence ist auf KI/ML spezialisiert. Er hilft Kunden dabei, ihr Unternehmen mit KI/ML auf AWS zu stärken. Vor AWS war Laurence in verschiedenen Softwareprojekten und Organisationen tätig. Sein Technologiespektrum umfasst leistungsstarke Internetanwendungen, Integration von Unternehmensinformationssystemen, DevOps, Cloud Computing und maschinelles Lernen.
Quelle: https://aws.amazon.com/blogs/machine-learning/build-gan-with-pytorch-and-amazon-sagemaker/
- '
- "
- 100
- 2016
- 9
- Zugang
- Konto
- Aktivitäten
- Adresse
- Marketings
- Algorithmus
- Algorithmen
- Alle
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Anwendung
- Anwendungen
- Architektur
- Bereich
- Argumente
- Artikel
- Authentic
- AWS
- Stärkung
- Browser
- bauen
- Building
- Geschäft
- verursacht
- Übernehmen
- Kanäle
- Zeichenerkennung
- chemisch
- Einstufung
- Cloud
- Cloud Computing
- Code
- Sammlung
- Berechnen
- Computing
- Container
- Behälter
- fortsetzen
- weiter
- Kosten
- Erstellen
- Strom
- Kunden
- technische Daten
- tiefe Lernen
- tiefes neuronales Netzwerk
- Design
- Entwicklung
- Gerät
- DevOps
- Ziffern
- Domains
- bewirken
- Effizienz
- ermächtigen
- Entwicklung
- bereichernd
- Unternehmen
- Unterhaltung
- Arbeitsumfeld
- insbesondere
- Beispiel
- ERFAHRUNGEN
- Erfahrungen
- beschleunigt
- Eigenschaften
- Honorare
- Felder
- Endlich
- Vorname
- passen
- Flexibilität
- Setzen Sie mit Achtsamkeit
- unten stehende Formular
- Format
- Unser Ansatz
- Frei
- voller
- Spaß
- Funktionen
- Games
- GANs
- Allgemeines
- erzeugen
- generative kontradiktorische Netzwerke
- generatives Modell
- GitHub
- gut
- GPU
- ganzer
- hier
- Ultraschall
- Hilfe
- HTTPS
- identifizieren
- Image
- Bilderzeugung
- Einschließlich
- Branchen
- Information
- Infrastruktur
- Integration
- Internet
- IT
- Job
- Jupyter Notizbuch
- Ausrüstung
- Beschriftung
- Sprache
- grosse
- führen
- LERNEN
- lernen
- Limitiert
- Line
- linux
- Liste
- aus einer regionalen
- Standorte
- Lang
- Maschinelles Lernen
- Mainstream
- Dur
- Mehrheit
- Medien
- ML
- ML-Algorithmen
- Modell
- Am beliebtesten
- Nachbarschaft
- Netzwerk
- Netzwerke
- Neural
- neuronale Netzwerk
- Neuronale Netze
- Lärm
- Laptops
- OCR
- Angebote
- XNUMXh geöffnet
- die
- Auftrag
- Organisationen
- Andere
- Papier
- Leistung
- Perspektive
- Pharma
- ein Bild
- Beliebt
- BLOG-POSTS
- Werkzeuge
- Preis
- Produziert
- PRODUKTIVITÄT
- Projekt
- Projekte
- bietet
- Öffentlichkeit
- Python
- Pytorch
- Qualität
- realistisch
- Veteran
- Voraussetzungen:
- Forschungsprojekte
- Ressourcen
- Downloads
- Führen Sie
- Laufen
- sagemaker
- Einsparung
- Wissenschaftliche Forschung
- Wissenschaftler
- Sdk
- Sicherheitdienst
- Samen
- Sinn
- Lösungen
- kompensieren
- Einstellung
- Einfacher
- So
- Software
- Lösungen
- Spot
- Stabilität
- Anfang
- begonnen
- Bundesstaat
- Lagerung
- Schritt
- Studie
- Support
- synthetische Daten
- System
- Systeme und Techniken
- Tech
- Techniken
- Tensorfluss
- Texterzeugung
- Die Quelle
- Durch
- Zeit
- Werkzeuge
- Fackel
- Ausbildung
- Transformation
- Aktualisierung
- Updates
- URI
- Wert
- weit
- Wikipedia
- ohne
- Worte
- Arbeiten
- Jahr