Scopo
Il componente aggiuntivo Torch Deep Learning per JMP® Pro fornisce un'interfaccia senza codice alla popolare libreria Torch per la modellazione predittiva con reti neurali profonde. Il componente aggiuntivo consente di addestrare e distribuire modelli predittivi che utilizzano funzionalità di immagini, testo o tabelle come input per prevedere obiettivi binari, continui o nominali.
Caratteristiche principali
- Accesso a un'ampia varietà di modelli preaddestrati per dati di immagini e testo che possono essere ottimizzati o addestrati da zero
- Eseguire la classificazione o la regressione di immagini o testo
- Possibilità di personalizzare reti profonde per dati tabulari, nonché opzioni per progettare le proprie reti neurali convoluzionali personalizzate sia per serie temporali che per dati di immagine
- Un gran numero di opzioni avanzate per facilitare la creazione, la valutazione e il confronto dei modelli
- Convalida incrociata k-fold ripetuta con previsioni out-of-fold, oltre a una routine separata per creare colonne di convalida k-fold ottimizzate
- Capacità di adattare più risposte Y con diversi tipi di modellazione in un unico modello
- Output grafici e tabellari dettagliati e interattivi
- Interfaccia di confronto dei modelli
- Profilazione delle reti neurali tabulari, favorendo l'interpretabilità
- Calcolo veloce su una GPU NVIDIA, se disponibile, su Windows
Installazione
È necessario disporre di una versione autorizzata di JMP Pro 18 o successiva. Scarica TorchDeepLearning.jmpaddin dal collegamento in questa finestra in alto a destra. Avvia JMP Pro, apri TorchDeepLearning.jmpaddin e fai clic su Sì per installare. Il componente aggiuntivo installato si trova quindi nel menu principale Componenti aggiuntivi ( Componenti aggiuntivi > Torch Deep Learning ).
Il componente aggiuntivo si basa su un'ampia raccolta di librerie dinamiche precompilate e modelli Torch preaddestrati che non sono inclusi nel componente aggiuntivo dopo l'installazione iniziale. Al primo avvio della piattaforma di componenti aggiuntivi principale (selezionando Componenti aggiuntivi > Torch Deep Learning > Torch Deep Learning ) verrà scaricata e decompressa una serie aggiuntiva di file di grandi dimensioni (circa 4 GB in totale). I download includono librerie compilate da CUDA se utilizzi Windows e il download totale e l'estrazione di questi file potrebbero richiedere diversi minuti o più a seconda della velocità della tua connessione web. Sii paziente e lascia che questi vengano scaricati al 100% e decompressi completamente. Tutti i file scaricati ed estratti vengono posizionati nella directory home del componente aggiuntivo (fai clic su Visualizza > Componenti aggiuntivi, seleziona TorchDeepLearning, quindi fai clic sul collegamento Cartella Home ).
Requisiti di sistema
Questo componente aggiuntivo funziona solo con JMP® Pro versione 18. Per set di dati più piccoli, i requisiti minimi per JMP® Pro dovrebbero essere sufficienti; tuttavia, per la modellazione di set di dati di dimensioni medio-grandi, compresi quelli con un numero elevato di immagini o testi non strutturati, è consigliabile disporre di almeno 32 GB di RAM della CPU e di un disco rigido a stato solido veloce e con ampio spazio di archiviazione ( ad esempio 1 TB) per gestire la quantità di dati e parametri generalmente generati per la modellazione della rete neurale profonda.
Se disponi di una macchina Windows con una GPU NVIDA, maggiori dettagli sulla configurazione dell'elaborazione GPU sono forniti nella documentazione del componente aggiuntivo Torch ( Componenti aggiuntivi > Torch Deep Learning > Guida ). Su MacOS, sono supportate sia le architetture Intel x86_x64 che Apple Silicon arm64 (M1, M2 e M3) e dovrebbero essere rilevate automaticamente.
Come usarlo
Dopo aver installato il componente aggiuntivo in JMP Pro:
- Aprire una tabella JMP contenente una variabile di destinazione Y da prevedere insieme a immagini, testo o elementi tabulari da utilizzare come input.
- Crea una o più colonne di convalida facendo clic su Componenti aggiuntivi > Torch Deep Learning > Crea colonne K-Fold . specificando Y come variabile Risposta e Stratificazione (consigliato).
- Fare clic su Componenti aggiuntivi > Torch Deep Learning > Torch Deep Learning per avviare la piattaforma. Assegnare variabili ai ruoli come nell'esempio seguente:
Il sottomenu Componenti aggiuntivi > Torch Deep Learning > Dati di esempio contiene diversi set di dati di esempio e una tabella JMP denominata Torch_Storybook , che contiene 40 esempi di diversi tipi di scenari in cui il componente aggiuntivo può essere utile. Include ricchi metadati su ciascun esempio e collegamenti per scaricare tabelle di dati JMP con script incorporati, journal JMP di output di esempio e riferimenti.
Il sottomenu Componenti aggiuntivi > Torch Deep Learning > Scarica aggiuntivi fornisce un modo per scaricare numerosi altri modelli di immagini e testo che espandono ulteriormente le funzionalità del componente aggiuntivo.
Fare clic su Guida dal menu per aprire la documentazione dettagliata sul componente aggiuntivo, inclusi esempi passo passo e indicazioni per un utilizzo più efficace.
Esempi

Background: come chimico è necessario prevedere la composizione di campioni sconosciuti confrontandoli con la spettroscopia NMR di un esperimento su una miscela in cui tre componenti sono alterati nel rapporto.
La sfida: gli spettri NMR di output per gli esperimenti sulle miscele sono ampi, con un numero limitato di esecuzioni sperimentali, ma migliaia di colonne con caratteristiche uniche. La modellazione predittiva standard non è accurata e si adatta eccessivamente e la codifica del processo richiede molto tempo.
Processo: prendi singoli spettri e trasformali in immagini con Graph Builder, utilizzandoli per addestrare un modello di classificazione delle immagini (rete neurale convoluzionale) per capire come appaiono gli spettri in diversi rapporti dei 3 componenti.
Risultato: è possibile applicare campioni sconosciuti e identificare con precisione la composizione/rapporto dei 3 componenti.


Background: i difetti dei wafer nella produzione dei semiconduttori possono verificarsi su tutto il wafer in diverse aree. Le immagini dei wafer o le mappe dei wafer possono catturare l'area dei difetti in diversi lotti. Identificare il/i tipo/i di difetto e la causa principale è essenziale per suggerire soluzioni adeguate.
La sfida: hai più di 30.000 immagini di mappe wafer, alcune con numerosi tipi di difetti che devono essere tutti identificati con precisione.
Processo: utilizzare immagini di mappe wafer con difetti noti dei wafer per addestrare reti neurali convoluzionali profonde.
Risultato: creare e implementare un modello di deep learning per prevedere con precisione le classi di difetti più probabili e la probabilità di difetti sulle nuove immagini di wafer.

Background: le recensioni dei prodotti online forniscono una grande quantità di dati di testo che possono essere analizzati per comprendere il sentimento dei clienti nei confronti del prodotto per prendere decisioni chiave sul miglioramento del prodotto, sull'assistenza clienti e sulle strategie di marketing.
La sfida: le revisioni dei testi non sono strutturate, hanno un volume elevato ed è difficile determinare il sentiment e identificare i temi, richiedendo un'analisi sofisticata.
Processo: prevedere il sentimento di acquisto utilizzando reti neurali con linguaggio profondo basate sui punteggi delle recensioni dei prodotti per identificare risultati chiave come la probabilità di riacquisto.
Risultato: identificare il sentimento chiave nei confronti del prodotto (ad esempio, probabilità di acquistare di nuovo, problemi del prodotto) come feedback critico per le decisioni sul prodotto.
Tutorial video
Background completo e panoramica con esempi
Dati tabulari e inferenza causale
Classificazione delle immagini
Se desideri vedere un tutorial video su un aspetto particolare del componente aggiuntivo o su un argomento, pubblicalo nei commenti.
Feedback
Accogliamo con favore il tuo feedback e ti invitiamo a pubblicare commenti qui in questa pagina. Tieni presente che sebbene i componenti aggiuntivi, in generale, non siano ufficialmente supportati dal nostro team di supporto tecnico JMP, questo componente aggiuntivo è stato scritto ed è attivamente sviluppato dal reparto di ricerca e sviluppo di JMP Life Sciences.
Puoi anche inviare feedback, problemi, domande e suggerimenti direttamente a russ.wolfinger@jmp.com . Se si segnala un potenziale bug o arresto anomalo, inviare quante più informazioni possibili per riprodurlo e diagnosticarlo, inclusi dati e configurazione del modello, schermate, finestre di errore, messaggi di registro, sistema operativo e versione di JMP Pro in uso.
Riconoscimenti e avvisi sul copyright
Ringraziamo gentilmente il team PyTorch per aver sviluppato funzionalità così eccezionali con un'interfaccia C++ ben progettata. Consulta il documento della Guida per un elenco completo delle persone e degli avvisi sul copyright, nonché questi avvisi online della PyTorch Foundation .
Apprezziamo e ringraziamo molto anche Mark Lalonde e Francis Charette-MIgneault per il loro eccellente contributo a LibTorch:
https://medium.com/crim/contributing-to-libtorch-recent-architectures-and-vanilla-training-pipeline-3789c7bf6959
https://github.com/crim-ca/crim-libtorch-extensions
Sto leggendo bene? Nella documentazione per il caricamento dei modelli in pytorch si dice.
In Python, devi ricreare esattamente gli stessi componenti dell'architettura utilizzando PyTorch e quindi caricare questi file a turno.
Quindi, praticamente, non importa cosa, abbiamo ancora bisogno di qualcuno che conosca Python e sia in grado di tradurre ciò che ha fatto in JMP in Python. Corretto? Ad esempio, devono sapere come creare i set di dati, nn e qualsiasi convalida eseguita dall'utente JMP?
@vince_faller Grazie per il tuo commento. Questa parte del documento si riferisce alla distribuzione in Python, nel qual caso queste cose devono effettivamente essere fatte in un modo o nell'altro. La distribuzione in JSL è più semplice. Al documento viene aggiunto quanto segue:
Il codice di distribuzione Python di esempio è disponibile nei file notebook Jupyter iPython nella cartella home del componente aggiuntivo. Fare clic su Visualizza > Componenti aggiuntivi , selezionare TorchDeepLearning , fare clic sul collegamento Cartella Home , quindi accedere alla sottocartella dei notebook per visualizzare questo codice.
Questo esempio di codice di distribuzione Python è ancora grezzo in diversi punti e stiamo lavorando per perfezionarlo e semplificarlo. Prenderemo il tuo post come un voto per una generazione di codice Python più automatizzata, come è disponibile con gli adattamenti del modello XGBoost. Sia il componente aggiuntivo Torch che l'integrazione nativa di Python di JMP sono completamente nuovi per la versione 18 e non abbiamo ancora implementato le connessioni tra i due (il componente aggiuntivo Torch è scritto in C++ senza Python).