Zweck
Das Torch Deep Learning Add-In für JMP® Pro bietet eine codefreie Schnittstelle zur beliebten Torch-Bibliothek für prädiktive Modellierung mit tiefen neuronalen Netzwerken. Mit dem Add-In können Sie prädiktive Modelle trainieren und bereitstellen, die Bild-, Text- oder Tabellenfunktionen als Eingaben verwenden, um binäre, kontinuierliche oder nominale Ziele vorherzusagen.
Hauptmerkmale
- Zugriff auf eine Vielzahl vorab trainierter Modelle für Bild- und Textdaten, die feinabgestimmt oder von Grund auf trainiert werden können
- Durchführen einer Bild- oder Textklassifizierung oder Regression
- Möglichkeit zur Anpassung tiefer Netzwerke für tabellarische Daten sowie Optionen zum Entwerfen eigener angepasster Convolutional Neural Nets für Zeitreihen und Bilddaten
- Zahlreiche erweiterte Optionen erleichtern die Modellerstellung, Bewertung und den Vergleich
- Wiederholte k-fache Kreuzvalidierung mit Out-of-Fold-Vorhersagen sowie eine separate Routine zum Erstellen optimierter k-facher Validierungsspalten
- Möglichkeit, mehrere Y-Antworten mit unterschiedlichen Modellierungstypen in einem Modell unterzubringen
- Detaillierte und interaktive grafische und tabellarische Ausgaben
- Modellvergleichsschnittstelle
- Profilierung tabellarischer neuronaler Netze zur Unterstützung der Interpretierbarkeit
- Schnelle Berechnung auf einer NVIDIA GPU, sofern verfügbar, unter Windows
Installation
Sie müssen über eine autorisierte Version von JMP Pro 18 oder höher verfügen. Laden Sie TorchDeepLearning.jmpaddin über den Link in diesem Fenster oben rechts herunter. Starten Sie JMP Pro, öffnen Sie TorchDeepLearning.jmpaddin und klicken Sie zur Installation auf „Ja“ . Das installierte Add-In befindet sich dann im oberen Menü „ Add-Ins“ ( Add-Ins > Torch Deep Learning ).
Das Add-In basiert auf einer großen Sammlung vorkompilierter dynamischer Bibliotheken und vortrainierter Torch-Modelle, die nach der Erstinstallation nicht mehr im Add-In enthalten sind. Beim ersten Start der Haupt-Add-In-Plattform (durch Auswahl von Add-Ins > Torch Deep Learning > Torch Deep Learning ) wird eine weitere Reihe großer Dateien (insgesamt ca. 4 GB) heruntergeladen und entpackt. Die Downloads enthalten unter Windows CUDA-kompilierte Bibliotheken, und der gesamte Download und die Extraktion dieser Dateien können je nach Geschwindigkeit Ihrer Internetverbindung mehrere Minuten oder länger dauern. Bitte haben Sie Geduld und warten Sie, bis die Dateien zu 100 % heruntergeladen und vollständig entpackt sind. Alle heruntergeladenen und extrahierten Dateien werden im Stammverzeichnis des Add-Ins abgelegt (klicken Sie auf Ansicht > Add-Ins, wählen Sie TorchDeepLearning aus und klicken Sie dann auf den Link „Stammordner“ ).
System Anforderungen
Dieses Add-In funktioniert nur mit JMP® Pro Version 18. Für kleinere Datensätze sollten die Mindestanforderungen für JMP® Pro ausreichen. Für die Modellierung mittlerer bis großer Datensätze, einschließlich solcher mit einer großen Anzahl von Bildern oder unstrukturierten Texten, wird jedoch empfohlen, dass Sie über mindestens 32 GB CPU-RAM und eine schnelle Solid-State-Festplatte mit großzügigem Speicher (z. B. 1 TB) verfügen, um die Daten- und Parametermenge zu verarbeiten, die typischerweise für die Modellierung tiefer neuronaler Netze generiert wird.
Wenn Sie einen Windows-Computer mit einer NVIDA-GPU haben, finden Sie weitere Einzelheiten zum Konfigurieren der GPU-Verarbeitung in der Dokumentation zum Torch-Add-In ( Add-Ins > Torch Deep Learning > Hilfe ). Unter MacOS werden sowohl Intel x86_x64- als auch Apple Silicon arm64-Architekturen (M1 M2 und M3) unterstützt und sollten automatisch erkannt werden.
Wie man es benutzt
Nach der Installation des Add-Ins in JMP Pro:
- Öffnen Sie eine JMP-Tabelle mit der Zielvariable Y zur Vorhersage sowie Bild-, Text- oder Tabellenfunktionen zur Verwendung als Eingaben.
- Erstellen Sie eine oder mehrere Validierungsspalten, indem Sie auf „Add-Ins > Torch Deep Learning > K-Fold-Spalten erstellen“ klicken und „Y“ als Antwort- und Stratifizierungsvariable angeben (empfohlen).
- Klicken Sie auf Add-Ins > Torch Deep Learning > Torch Deep Learning, um die Plattform zu starten. Weisen Sie Variablen Rollen zu, wie im folgenden Beispiel:
Das Untermenü Add-Ins > Torch Deep Learning > Beispieldaten enthält mehrere Beispieldatensätze und eine JMP-Tabelle namens Torch_Storybook , die 40 Beispiele für verschiedene Arten von Szenarien enthält, in denen das Add-In hilfreich sein kann. Es enthält umfangreiche Metadaten zu jedem Beispiel und Links zum Herunterladen von JMP-Datentabellen mit eingebetteten Skripts, Beispielausgabe-JMP-Journalen und Referenzen.
Über das Untermenü „Add-Ins > Torch Deep Learning > Zusätzliche herunterladen“ können Sie mehrere weitere Bild- und Textmodelle herunterladen, die die Funktionen des Add-Ins noch weiter erweitern.
Klicken Sie im Menü auf „Hilfe“ , um die ausführliche Dokumentation zum Add-In zu öffnen, einschließlich schrittweiser Beispiele und Anleitungen für eine optimale Nutzung.
Beispiele

Hintergrund: Als Chemiker müssen Sie die Zusammensetzung unbekannter Proben durch Vergleich mit der NMR-Spektroskopie eines Mischungsexperiments vorhersagen, bei dem das Verhältnis dreier Komponenten verändert wird.
Herausforderung: Die Ausgabe-NMR-Spektren für Mischungsexperimente sind breit, mit einer kleinen Anzahl von Versuchsdurchläufen, aber Tausenden von Spalten mit einzigartigen Merkmalen. Standardmäßige prädiktive Modelle sind nicht genau und überangepasst, und das Codieren des Prozesses ist zeitaufwändig.
Vorgang: Nehmen Sie einzelne Spektren und wandeln Sie sie mit Graph Builder in Bilder um. Verwenden Sie diese zum Trainieren eines Bildklassifizierungsmodells (Convolutional Neural Net), um zu verstehen, wie die Spektren bei unterschiedlichen Verhältnissen der drei Komponenten aussehen.
Ergebnis: Kann unbekannte Proben anwenden und die Zusammensetzung/das Verhältnis der 3 Komponenten genau bestimmen.


Hintergrund: Bei der Halbleiterherstellung können Waferdefekte in verschiedenen Bereichen des Wafers auftreten. Bilder der Wafer oder Waferkarten können den Bereich der Defekte in verschiedenen Chargen erfassen. Die Identifizierung der Defektart(en) und der Grundursache ist wichtig, um geeignete Lösungen vorschlagen zu können.
Herausforderung: Sie haben >30.000 Wafermap-Bilder, einige mit zahlreichen Defekttypen, die alle genau identifiziert werden müssen.
Prozess: Verwenden Sie Wafermap-Bilder mit bekannten Waferdefekten, um tiefe Convolutional Neural Nets zu trainieren.
Ergebnis: Erstellen und implementieren Sie ein Deep-Learning-Modell, um die wahrscheinlichsten Defektklassen und die Wahrscheinlichkeit von Defekten auf neuen Waferbildern genau vorherzusagen.

Hintergrund: Online-Produktbewertungen liefern große Mengen an Textdaten, die analysiert werden können, um die Einstellung der Kunden gegenüber dem Produkt zu verstehen und wichtige Entscheidungen zur Produktverbesserung, zum Kundensupport und zu Marketingstrategien zu treffen.
Herausforderung: Textbewertungen sind unstrukturiert und erfordern ein hohes Volumen. Es ist schwierig, die Stimmung zu bestimmen und Themen zu identifizieren, sodass eine anspruchsvolle Analyse erforderlich ist.
Prozess: Vorhersage der Kaufstimmung mithilfe von Deep Language Neural Nets auf Grundlage von Produktbewertungsergebnissen, um wichtige Ergebnisse wie die Wahrscheinlichkeit eines Wiederkaufs zu ermitteln.
Ergebnis: Identifizieren Sie wichtige Stimmungen gegenüber dem Produkt (z. B. Wahrscheinlichkeit eines erneuten Kaufs, Produktprobleme) als entscheidendes Feedback für Produktentscheidungen.
Videoanleitungen
Umfassender Hintergrund und Überblick mit Beispielen
Tabellarische Daten und kausale Inferenz
Bildklassifizierung
Wenn Sie zu einem bestimmten Aspekt des Add-Ins oder Thema ein Video-Tutorial sehen möchten, posten Sie es bitte in den Kommentaren.
Rückmeldung
Wir freuen uns über Ihr Feedback und ermutigen Sie, Kommentare hier auf dieser Seite zu posten. Beachten Sie, dass Add-Ins im Allgemeinen nicht offiziell von unserem JMP-Supportteam unterstützt werden, dieses Add-In jedoch von JMP Life Sciences R&D geschrieben wurde und dort aktiv weiterentwickelt wird.
Sie können Feedback, Probleme, Fragen und Vorschläge auch direkt an russ.wolfinger@jmp.com senden . Wenn Sie einen potenziellen Fehler oder Absturz melden, senden Sie bitte so viele Informationen wie möglich, um ihn reproduzieren und diagnostizieren zu können, einschließlich Daten- und Modellkonfiguration, Screenshots, Fehlerfenster, Protokollnachrichten sowie das Betriebssystem und die Version von JMP Pro, die Sie verwenden.
Danksagungen und Copyright-Hinweise
Wir danken dem PyTorch-Team herzlich für die Entwicklung solch großartiger Funktionen mit einer gut gestalteten C++-Schnittstelle. Eine vollständige Liste der Personen und Copyright-Hinweise sowie diese Online-Hinweise der PyTorch Foundation finden Sie im Hilfedokument.
Wir danken außerdem Mark Lalonde und Francis Charette-MIgneault für ihre hervorragenden Beiträge zu LibTorch:
https://medium.com/crim/contributing-to-libtorch-recent-architectures-and-vanilla-training-pipeline-3789c7bf6959
https://github.com/crim-ca/crim-libtorch-extensions
Lese ich das richtig? In der Dokumentation zum Laden von Modellen in PyTorch steht:
In Python müssen Sie mit PyTorch genau dieselben Architekturkomponenten neu erstellen und diese Dateien dann nacheinander laden.
Also brauchen wir auf jeden Fall jemanden, der sich mit PyTorch auskennt und in der Lage ist, das, was er in JMP gemacht hat, in Python zu übersetzen. Richtig? Sie müssen wissen, wie man die Datensätze erstellt, und die NN und alle Validierungen, die der JMP-Benutzer durchgeführt hat?
@vince_faller Danke für Ihren Kommentar. Dieser Teil des Dokuments bezieht sich auf die Bereitstellung in Python, in diesem Fall müssen diese Dinge tatsächlich auf die eine oder andere Weise erledigt werden. Die Bereitstellung in JSL ist einfacher. Folgendes wird dem Dokument hinzugefügt:
Beispielcode für die Python-Bereitstellung ist in den Jupyter iPython-Notebookdateien im Stammordner des Add-Ins verfügbar. Klicken Sie auf Ansicht > Add-Ins , wählen Sie TorchDeepLearning aus, klicken Sie auf den Link Stammordner und navigieren Sie dann in den Unterordner „Notebooks“ , um diesen Code anzuzeigen.
Dieser Beispielcode für die Python-Bereitstellung ist an mehreren Stellen noch grob und wir arbeiten daran, ihn zu verfeinern und zu optimieren. Wir werten Ihren Beitrag als Votum für eine stärker automatisierte Python-Codegenerierung, wie sie mit XGBoost-Modellanpassungen verfügbar ist. Sowohl das Torch-Add-In als auch die native Python-Integration von JMP sind brandneu für Version 18 und wir haben noch keine Verbindungen zwischen beiden implementiert (das Torch-Add-In ist in C++ ohne Python geschrieben).