Informazioni di riferimento: Data Science Virtual Machine Ubuntu (Linux)

Questo documento presenta un elenco degli strumenti disponibili nella DSVM (Data Science Virtual Machine) ubuntu.

Librerie di Deep Learning

PyTorch

PyTorch è un framework di calcolo scientifico diffuso, con ampio supporto per gli algoritmi di Machine Learning. Se il computer ha una GPU predefinita, può usare tale GPU per accelerare l'apprendimento avanzato. PyTorch è disponibile nell'ambiente py38_pytorch .

H2O

H2O è una piattaforma rapida, in memoria e distribuita di analisi predittiva e Machine Learning. Un pacchetto Python è installato negli ambienti root e py35 Anaconda. Viene installato anche un pacchetto R.

Per aprire H2O dalla riga di comando, eseguire java -jar /dsvm/tools/h2o/current/h2o.jar. È possibile configurare varie opzioni della riga di comando disponibili. Passare all'interfaccia utente Web di Flow per http://localhost:54321 iniziare. JupyterHub offre notebook di esempio.

TensorFlow

TensorFlow è la libreria di Deep Learning di Google. Si tratta di una libreria software open source per calcoli numerici con grafici del flusso di dati. Se il computer ha una GPU incorporata, può usare tale GPU per accelerare l'apprendimento avanzato. TensorFlow è disponibile nell'ambiente py38_tensorflow conda.

Python

La Data Science Virtual Machine (DSVM) include più ambienti Python preinstallati, con Python versione 3.8 o Python versione 3.6. Eseguire conda env list in una finestra del terminale per visualizzare l'elenco completo degli ambienti installati.

Jupyter

La DSVM include anche Jupyter, un ambiente di condivisione del codice e analisi del codice. Jupyter è installato nella DSVM in queste versioni:

  • Jupyter Lab
  • Notebook di Jupyter
  • Jupyter Hub

Per avviare Jupyter Lab, aprire Jupyter dal menu dell'applicazione o selezionare l'icona del desktop. È anche possibile eseguire jupyter lab da una riga di comando per aprire Jupyter Lab.

Per aprire jupyter notebook, aprire una riga di comando ed eseguire jupyter notebook.

Per aprire Jupyter Hub, aprire https://< VM NOME DNS o indirizzo> IP:8000/ in un browser. È necessario specificare il nome utente e la password linux locali.

Nota

È possibile ignorare tutti gli avvisi del certificato.

Nota

Per le immagini Ubuntu, la porta del firewall 8000 viene aperta per impostazione predefinita quando viene effettuato il provisioning della macchina virtuale.

Apache Spark autonomo

Un'istanza autonoma di Apache Spark è preinstallata nella DSVM Linux per facilitare lo sviluppo di applicazioni Spark in locale prima di testare e distribuire tali applicazioni in cluster di grandi dimensioni.

È possibile eseguire programmi PySpark attraverso il kernel Jupyter. Quando Jupyter viene avviato, selezionare il pulsante Nuovo . Dovrebbe essere visibile un elenco di kernel disponibili. È possibile compilare applicazioni Spark con il linguaggio Python se si sceglie il kernel Spark - Python . È anche possibile usare un IDE Python, ad esempio Visual Studio. Codice o PyCharm: per compilare il programma Spark.

In questa istanza autonoma, lo stack di Spark viene eseguito all'interno del programma client chiamante. Questa funzionalità semplifica la risoluzione dei problemi rispetto allo sviluppo in un cluster Spark.

IDE ed editor

È possibile scegliere tra diversi editor di codice, tra cui Visual Studio. Codice, PyCharm, IntelliJ, vi/Vim o Emacs.

VS. Il codice, PyCharm e IntelliJ sono editor grafici. Per usarli, è necessario aver eseguito l'accesso a un desktop con interfaccia grafica. Per aprirli, usare i collegamenti del desktop e del menu dell'applicazione.

VIM e Emacs sono editor basati su testo. In Emacs il pacchetto del componente aggiuntivo ESS semplifica l'uso di R nell'editor Emacs. Per altre informazioni, visitare il sito Web ESS.

Database

Client SQL grafico

SQuirrel SQL, un client SQL grafico, può connettersi a vari database, ad esempio Microsoft SQL Server o MySQL, ed eseguire query SQL. Il modo più rapido per aprire SQuirrel SQL consiste nell'usare il menu applicazione da una sessione desktop grafica (ad esempio tramite il client X2Go)

Prima dell'uso iniziale, configurare i driver e gli alias del database. I driver JDBC sono disponibili in /usr/share/java/jdbcdrivers.

Per altre informazioni, vedere la risorsa SQL SQuirrel.

Strumenti da riga di comando per l'accesso a Microsoft SQL Server

Il pacchetto driver ODBC per SQL Server include anche due strumenti da riga di comando:

  • bcp: lo strumento bcp copia in blocco i dati tra un'istanza di Microsoft SQL Server e un file di dati, in un formato specificato dall'utente. È possibile usarlo per importare un numero elevato di nuove righe nelle tabelle di SQL Server o per esportare dati delle tabelle in file di dati. Per importare dati in una tabella, è necessario usare un file in un formato creato per tale tabella. È necessario comprendere la struttura della tabella e i tipi di dati validi per le relative colonne.

Per altre informazioni, visitare Connessione ing con bcp.

  • sqlcmd: è possibile immettere istruzioni Transact-SQL con lo strumento sqlcmd. È anche possibile immettere procedure di sistema e file di script al prompt dei comandi. Questo strumento usa ODBC per eseguire batch Transact-SQL.

    Per altre informazioni, vedere Connessione ing con sqlcmd.

    Nota

    Esistono alcune differenze in questo strumento tra le versioni della piattaforma Linux e Windows. Per informazioni dettagliate, vedere la documentazione.

Librerie di accesso al database

Le librerie R e Python sono disponibili per l'accesso al database:

  • In R è possibile usare i pacchetti dplyr RODBC per eseguire query o eseguire istruzioni SQL nel server di database
  • In Python, la libreria pyodbc fornisce l'accesso al database con ODBC come livello sottostante

Strumenti di Azure

Questi strumenti di Azure vengono installati nella macchina virtuale:

  • Interfaccia della riga di comando di Azure: è possibile usare l'interfaccia della riga di comando in Azure per creare e gestire le risorse di Azure tramite i comandi della shell. Per aprire gli strumenti di Azure, immettere Azure help. Per altre informazioni, vedere la pagina della documentazione dell'interfaccia della riga di comando di Azure.

  • Archiviazione di Azure Explorer: Archiviazione di Azure Explorer è uno strumento grafico che è possibile usare per esplorare gli oggetti archiviati nell'account di archiviazione di Azure e per caricare e scaricare i dati da e verso i BLOB di Azure. È possibile accedere a Esplora archivi dall'icona del collegamento sul desktop. È anche possibile aprirlo da un prompt della shell se si immette Archiviazione Explorer. È necessario essere connessi da un client X2Go o avere configurato X11 Forwarding.

  • Librerie di Azure: ecco alcune delle librerie preinstallate:

    • Python: Python offre azure, azureml, pydocumentdb e librerie correlate ad Azure pyodbc. Le prime tre librerie consentono di accedere ai servizi di archiviazione di Azure, Azure Machine Learning e Azure Cosmos DB, ovvero un database NoSQL in Azure. La quarta libreria, pyodbc (insieme al driver ODBC Microsoft per SQL Server), consente l'accesso a SQL Server, database SQL di Azure e Azure Synapse Analytics da Python tramite un'interfaccia ODBC. Immettere pip list per visualizzare tutte le librerie elencate. Assicurarsi di eseguire questo comando negli ambienti Python 2.7 e 3.5.
    • R: Azure Machine Learning e RODBC sono le librerie correlate ad Azure in R.
    • Java: directory /dsvm/sdk/AzureSDKJava include l'elenco delle librerie Java di Azure disponibile nella directory /dsvm/sdk/AzureSDKJava nella macchina virtuale. Le librerie principali sono le API di archiviazione e gestione di Azure, Azure Cosmos DB e i driver JDBC per SQL Server.

Azure Machine Learning

Il servizio cloud di Azure Machine Learning completamente gestito consente di creare, distribuire e condividere soluzioni di analisi predittiva. È possibile creare esperimenti e modelli in studio di Azure Machine Learning. Visitare Microsoft Azure Machine Learning per accedervi da un Web browser nella Data Science Virtual Machine.

Dopo aver eseguito l'accesso a studio di Azure Machine Learning, è possibile usare un canvas di sperimentazione per creare un flusso logico per gli algoritmi di Machine Learning. È anche possibile accedere a un notebook jupyter ospitato in Azure Machine Learning. Questo notebook può funzionare senza problemi con gli esperimenti in studio di Azure Machine Learning.

Per rendere operativi i modelli di Machine Learning creati, eseguirne il wrapping in un'interfaccia del servizio Web. L'operazionalizzazione del modello di Machine Learning consente ai client scritti in qualsiasi linguaggio di richiamare stime da tali modelli. Per altre informazioni, vedere la documentazione di Machine Learning.

È anche possibile creare modelli personalizzati in R o Python nella VM e quindi distribuirli nell'ambiente di produzione in Azure Machine Learning. Sono installate librerie in R (AzureML) e Python (azureml) per abilitare questa funzionalità.

Nota

Queste istruzioni sono state scritte per la versione di Windows di Data Science Virtual Machine. Tuttavia, le istruzioni illustrano le distribuzioni dei modelli di Azure Machine Learning nella macchina virtuale Linux.

Strumenti di Machine Learning

La macchina virtuale include strumenti e algoritmi di Machine Learning precompilati, tutti preinstallati in locale. tra cui:

  • Vowpal Wabbit: algoritmo di apprendimento online rapido

  • xgboost: questo strumento fornisce algoritmi di albero ottimizzati e con boosting

  • Rattle: strumento grafico basato su R per semplificare l'esplorazione e la modellazione dei dati

  • Python: Anaconda Python integra algoritmi Machine Learning con librerie come Scikit-learn. È possibile installare altre librerie con il pip install comando

  • LightGBM: un framework di boosting a gradienti rapido, distribuito e ad alte prestazioni basato su algoritmi di albero delle decisioni

  • R: è disponibile una libreria completa di funzioni di Machine Learning per R. Le librerie preinstallate includono lm, glm, randomForest e rpart. È possibile installare altre librerie con questo comando:

    install.packages(<lib name>)
    

Ecco altre informazioni sui primi tre strumenti di Machine Learning nell'elenco.

Vowpal Wabbit

Vowpal Wabbit è un sistema di Machine Learning che usa

  • active
  • allreduce
  • hashing
  • apprendimento interattivo
  • learning2search
  • online
  • Riduzioni

Tecniche.

Usare questi comandi per eseguire lo strumento in un esempio di base:

cp -r /dsvm/tools/VowpalWabbit/demo vwdemo
cd vwdemo
vw house_dataset

Questa directory offre altre demo più grandi. Per altre informazioni su Vowpal Wabbit, visitare questa sezione di GitHub e il wiki di Vowpal Wabbit.

xgboost

La libreria XGBoost è progettata e ottimizzata per gli algoritmi di albero con boosting. La libreria xgboost inserisce i limiti di calcolo delle macchine agli estremi necessari per aumentare l'accuratezza, la portabilità e la scalabilità degli alberi su larga scala.

La libreria xgboost viene fornita sia come risorsa della riga di comando che come libreria R. Per usare questa libreria in R, è possibile immettere R nella shell per avviare una sessione R interattiva e caricare la libreria.

Questo semplice esempio mostra l'esecuzione di xgboost in un prompt R:

library(xgboost)

data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
train <- agaricus.train
test <- agaricus.test
bst <- xgboost(data = train$data, label = train$label, max.depth = 2,
                eta = 1, nthread = 2, nround = 2, objective = "binary:logistic")
pred <- predict(bst, test$data)

Per eseguire la riga di comando xgboost, eseguire questi comandi nella shell:

cp -r /dsvm/tools/xgboost/demo/binary_classification/ xgboostdemo
cd xgboostdemo
xgboost mushroom.conf

Per altre informazioni su xgboost, visitare la pagina della documentazione di xgboost e il relativo repository GitHub.

Rattle

Rattle (RAnalytical Tool To Learn Easily) usa la funzionalità di esplorazione e modellazione dei dati basate su GUI. Esso

  • presenta riepiloghi statistici e visivi dei dati
  • trasforma i dati che possono essere modellati facilmente
  • crea modelli non supervisionati e supervisionati dai dati
  • presenta le prestazioni dei modelli graficamente
  • assegna punteggi a nuovi set di dati

Genera anche codice R, che replica le operazioni Rattle nell'interfaccia utente. È possibile eseguire il codice direttamente in R o usarlo come punto di partenza per un'ulteriore analisi.

Per eseguire Rattle, è necessario operare in una sessione di accesso desktop con interfaccia grafica. In un terminale immettere R per aprire l'ambiente R. Al prompt di R immettere questo comando:

library(rattle)
rattle()

Un'interfaccia grafica, con un set di schede, quindi si apre. Questi passaggi di avvio rapido in Rattle usano un set di dati meteo di esempio per creare un modello. In alcuni passaggi si ricevono richieste di installazione e caricamento automatico di pacchetti R specifici che non sono già presenti nel sistema.

Nota

Se non si dispone delle autorizzazioni di accesso per installare il pacchetto nella directory di sistema (impostazione predefinita), si potrebbe notare un prompt nella finestra della console R per installare i pacchetti nella libreria personale. Rispondere a y se vengono visualizzate queste richieste.

  1. Selezionare Esegui
  2. Viene visualizzata una finestra di dialogo in cui viene chiesto se si vuole usare il set di dati meteo di esempio. Selezionare per caricare l'esempio
  3. Selezionare la scheda Modello
  4. Selezionare Esegui per compilare un albero delle decisioni
  5. Selezionare Disegno per visualizzare l'albero delle decisioni
  6. Selezionare l'opzione Foresta e selezionare Esegui per compilare una foresta casuale
  7. Selezionare la scheda Valuta
  8. Selezionare l'opzione Rischio e selezionare Esegui per visualizzare due tracciati delle prestazioni rischio (cumulativi)
  9. Selezionare la scheda Log per visualizzare il codice R generato per le operazioni precedenti
    • A causa di un bug nella versione corrente di Rattle, è necessario inserire un # carattere davanti a Esporta questo log nel testo del log
  10. Selezionare il pulsante Esporta per salvare il file di script R, denominato weather_script. R, nella home cartella

È possibile uscire da Rattle e R. A questo punto è possibile modificare lo script R generato. È anche possibile usare lo script così com'è ed eseguirlo in qualsiasi momento per ripetere tutto ciò che è stato fatto all'interno dell'interfaccia utente rattle. Per i principianti in R in particolare, questo si presta ad analisi rapida e machine learning in una semplice interfaccia grafica, generando automaticamente codice in R per la modifica o l'apprendimento.

Passaggi successivi

Per altre domande, valutare la possibilità di creare un ticket di supporto