リファレンス: Ubuntu (Linux) Data Science Virtual Machine

このドキュメントでは、Ubuntu Data Science Virtual Machine (DSVM) で使用できるツールの一覧を示します。

ディープ ラーニング ライブラリ

PyTorch

PyTorch は、機械学習アルゴリズムを幅広くサポートする、一般的な科学コンピューティング フレームワークです。 マシンに GPU が組み込まれている場合は、その GPU を使用してディープ ラーニングを高速化できます。PyTorch は環境で py38_pytorch 使用できます。

H2O

H2O は、高速でインメモリの分散型機械学習と予測分析のプラットフォームです。 Python パッケージは、ルートと py35 両方の Anaconda 環境にインストールされます。 また、R パッケージもインストールされます。

コマンド ラインから H2O を起動するには、java -jar /dsvm/tools/h2o/current/h2o.jar を実行します。 使用可能なさまざまなコマンド ライン オプションを構成できます。 開始するには、Flow Web UI を http://localhost:54321 参照します。 JupyterHub には、サンプル ノートブックが用意されています。

TensorFlow

TensorFlow は Google ディープ ラーニング ライブラリです。 データ フロー グラフを使用した数値計算用のオープンソース ソフトウェア ライブラリです。 マシンに GPU が組み込まれている場合は、その GPU を使用してディープ ラーニングを高速化できます。 TensorFlow は py38_tensorflow conda 環境内で使用できます。

Python

Data Science Virtual Machine (DSVM) には、Python バージョン 3.8 または Python バージョン 3.6 がインストールされた複数の Python 環境がプレインストールされています。 ターミナル ウィンドウで実行 conda env list すると、インストールされている環境の完全な一覧が表示されます。

Jupyter

DSVM には、コード共有とコード分析環境である Jupyter も付属しています。 Jupyter は DSVM に次のフレーバーでインストールされます。

  • Jupyter Lab
  • Jupyter Notebook
  • Jupyter Hub

Jupyter Lab を起動するには、アプリケーション メニューから Jupyter を開くか、デスクトップ アイコンを選択します。 コマンド ラインから実行 jupyter lab して Jupyter Lab を開くこともできます。

Jupyter Notebook を開くには、コマンド ラインを開いて、jupyter notebook を実行します。

Jupyter Hub を開くには、ブラウザー https://< VM DNS 名または IP アドレス>:8000/ を開きます。 ローカルの Linux ユーザー名とパスワードを指定する必要があります。

Note

証明書の警告は無視できます。

Note

Ubuntu イメージの場合、VM のプロビジョニング時にファイアウォール ポート 8000 が既定で開かれます。

Apache Spark スタンドアロン

Apache Spark のスタンドアロン インスタンスは Linux DSVM にプレインストールされており、これらのアプリケーションをテストして大規模なクラスターにデプロイする前に、Spark アプリケーションをローカルで開発するのに役立ちます。

Jupyter カーネルを使用して PySpark プログラムを実行できます。 Jupyter が起動したら、[新規] ボタンを選択します。 使用可能なカーネルの一覧が表示されます。 Spark - Python カーネルを選択した場合は、Python 言語で Spark アプリケーションをビルドできます。 PYTHON IDE (VS など) を使用することもできます。Code または PyCharm - Spark プログラムをビルドします。

このスタンドアロン インスタンスでは、Spark スタックは呼び出し元のクライアント プログラム内で実行されます。 この機能を使用すると、Spark クラスターでの開発と比較して、問題のトラブルシューティングを迅速かつ簡単に行うことができます。

IDE とエディター

VS を含む複数のコード エディターを選択できます。Code、PyCharm、IntelliJ、vi/Vim、または Emacs。

VS.Code、PyCharm、IntelliJ はグラフィカル エディターです。 使用するには、グラフィカル デスクトップにサインインする必要があります。 これらを起動するには、デスクトップとアプリケーションのメニューのショートカットを使用します。

Vim と Emacs はテキストベースのエディターです。 Emacs では、ESS アドオン パッケージを使用すると、Emacs エディター内で R を簡単に操作できます。 詳細については、ESS の Web サイトを 参照してください

データベース

グラフィカル SQL クライアント

グラフィカル SQL クライアントである SQuirrel SQL は、さまざまなデータベース (Microsoft SQL Server や MySQL など) に接続し、SQL クエリを実行できます。 最も簡単に SQuirrel SQL を開くには、(たとえば、X2Go クライアントを使用して) グラフィカル デスクトップ セッションからアプリケーション メニューを使用します

最初に使用する前に、ドライバーとデータベースエイリアスを設定します。 JDBC ドライバーは 、/usr/share/java/jdbcdrivers にあります

詳細については、SQuirrel SQL リソースを参照してください。

Microsoft SQL Server にアクセスするためのコマンド ライン ツール

SQL Server 用 ODBC ドライバー パッケージには、次の 2 つのコマンド ライン ツールも含まれています。

  • bcp: bcp ツールは、Microsoft SQL Server のインスタンスとデータ ファイルの間で、ユーザー指定の形式でデータを一括コピーします。 bcp ツールを使用して、SQL Server テーブルに多数の新しい行をインポートしたり、テーブルからデータ ファイルにデータをエクスポートしたりできます。 テーブルにデータをインポートするには、そのテーブル用に作成されたフォーマット ファイルを使用する必要があります。 テーブルの構造と、その列に対して有効なデータの型を理解する必要があります。

詳細については、「bcp を使用した接続」を参照してください

  • sqlcmd: sqlcmd ツールを使用して Transact-SQL ステートメントを入力できます。 または、コマンド プロンプトからシステム プロシージャやスクリプト ファイルを入力することもできます。 このツールは ODBC を使用して、Transact-SQL バッチを実行します。

    詳細については、「sqlcmd を使用した接続」を参照してください

    Note

    このツールの Linux と Windows プラットフォームのバージョンには、いくつかの違いがあります。 詳細については、ドキュメントを確認してください。

データベース アクセス ライブラリ

R および Python ライブラリは、データベース アクセスに使用できます。

  • R では、RODBC dplyr パッケージを使用して、データベース サーバーで SQL ステートメントのクエリまたは実行を行うことができます。
  • Python では、pyodbc ライブラリは、基になるレイヤーとして ODBC を使用してデータベース アクセスを提供します。

Azure ツール

次の Azure ツールが VM にインストールされます。

  • Azure CLI:Azure のコマンド ライン インターフェイスから、シェル コマンドを通じて Azure リソースを作成したり管理したりできます。 Azure のツールを開くには、「azure help」と入力します。 詳細については、Azure CLI のドキュメント ページ参照してください。

  • Azure Storage エクスプローラー: Azure Storage エクスプローラー は、Azure ストレージ アカウントに格納されているオブジェクトを参照したり、Azure BLOB との間でデータをアップロードおよびダウンロードしたりするために使用できるグラフィカル ツールです。 ストレージ エクスプローラーには、デスクトップのショートカット アイコンからアクセスできます。 Storageエクスプローラー と入力した場合は、シェル プロンプトから開くこともできます。 X2Go クライアントからサインインしているか、X11 転送を設定済みである必要があります。

  • Azure ライブラリ: プレインストールされているライブラリの一部を次に示します。

    • Python: Python には、Azureazuremlpydocumentdb、pyodbc Azure 関連のライブラリが用意されています。 最初の 3 つのライブラリを使用すると、Azure Storage サービス、Azure Machine Learning、Azure Cosmos DB (Azure の NoSQL データベース) にアクセスできます。 4 番目のライブラリ pyodbc (SQL Server 用 Microsoft ODBC ドライバーと共に) では、ODBC インターフェイスを介して Python から SQL Server、Azure SQL Database、および Azure Synapse Analytics にアクセスできます。 pip リストを入力して、一覧表示されているすべてのライブラリを表示します。 このコマンドは、必ず Python 2.7 および 3.5 環境で実行してください。
    • R: Azure Machine ラーニング と RODBC は、R の Azure 関連ライブラリです。
    • Java: ディレクトリ /dsvm/sdk/AzureSDKJava には、VM 上の /dsvm/sdk/AzureSDKJava ディレクトリにある Azure Java ライブラリの一覧があります。 主要なライブラリは、Azure Storage と管理 API、Azure Cosmos DB、SQL Server の JDBC ドライバーです。

Azure Machine Learning

フル マネージドの Azure Machine ラーニング クラウド サービスを使用すると、予測分析ソリューションを構築、デプロイ、共有できます。 Azure Machine Learning スタジオで実験とモデルを構築できます。 Microsoft Azure Machine ラーニングにアクセスして、データ サイエンス仮想マシン上の Web ブラウザーからアクセスします。

Azure Machine Learning Studio にサインインしたら、実験キャンバスを使用して機械学習アルゴリズムの論理フローを作成することができます。 また、Azure Machine ラーニングでホストされている Jupyter ノートブックにもアクセスできます。 このノートブックは、Azure Machine Learning スタジオの実験とシームレスに連携できます。

構築した機械学習モデルを運用可能にするには、それらを Web サービス インターフェイスでラップします。 機械学習モデルの運用化により、任意の言語で記述されたクライアントは、それらのモデルから予測を呼び出すことができます。 詳細については、Machine ラーニング のドキュメントを参照してください。

VM で R または Python を使ってモデルを作成し、Azure Machine Learning の運用環境にデプロイすることもできます。 この機能を有効にするために、R (AzureML) と Python (azureml) にライブラリをインストールしました。

Note

データ サイエンス仮想マシンの Windows バージョンについては、次の手順を記述しました。 ただし、この手順では、Linux VM への Azure Machine ラーニング モデルのデプロイについて説明します。

機械学習ツール

VM にはプリコンパイル済みの機械学習ツールとアルゴリズムが付属しており、すべてがローカルにプレインストールされています。 次のようなものが含まれます。

  • Vowpal Wabbit: 高速オンライン学習アルゴリズム

  • xgboost: このツールは、最適化されたブースト ツリー アルゴリズムを提供します

  • Rattle: データの探索とモデリングを容易にするための R ベースのグラフィカル ツール

  • Python: Anaconda Python には、Scikit-learn などのライブラリと機械学習アルゴリズムがバンドルされています。 コマンドを使用して他のライブラリを pip install インストールできます。

  • LightGBM: デシジョン ツリー アルゴリズムに基づく高速で分散型の高パフォーマンス勾配ブースティング フレームワーク

  • R: R には、機械学習関数の豊富なライブラリが用意されています。プレインストールされているライブラリには、lm、glm、randomForest、rpart があります。 次のコマンドを使用して、他のライブラリをインストールできます。

    install.packages(<lib name>)
    

一覧の最初の 3 つの機械学習ツールの詳細を次に示します。

Vowpal Wabbit

Vowpal Wabbit は機械学習システムで使用されます

  • active
  • allreduce
  • ハッシュ
  • 対話型学習
  • learning2search
  • オンライン
  • 削減

技術。

次のコマンドを使用して、基本的な例でツールを実行します。

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

そのディレクトリには、他の大規模なデモが用意されています。 Vowpal Wabbit の詳細については 、GitHub のこのセクションと Vowpal Wabbit Wiki を参照してください。

xgboost

xgboost は、ブースト (ツリー) アルゴリズム向けに設計および最適化されたライブラリです。 xgboost ライブラリは、マシンの計算制限を、正確で移植可能でスケーラブルな大規模なツリー ブーストに必要な限界まで押し上げます。

xgboost ライブラリは、コマンド ライン リソースと R ライブラリの両方として提供されます。 R でこのライブラリを使用するには、シェルに「R」と入力して対話型の R セッションを開始し、ライブラリを読み込みます。

この簡単な例は、R プロンプトで xgboost を実行することを示しています。

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)

xgboost コマンド ラインを実行するには、シェルで次のコマンドを実行します。

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

xgboost の詳細については、xgboost のドキュメント ページとその GitHub リポジトリを参照してください。

Rattle

Rattle (RAnalytical Tool To Learn Easily) では、GUI ベースのデータ探索とモデリングを使用します。 It

  • データの統計的および視覚的な概要を示します
  • は、簡単にモデル化できるデータを変換します。
  • は、監視されていないモデルと監視対象モデルの両方をデータから構築します
  • モデルのパフォーマンスをグラフィカルに表示します。
  • 新しいデータ セットのスコア付け

また、UI で Rattle 操作をレプリケートする R コードも生成されます。 そのコードは R で直接実行することも、さらに分析するための開始点として使用することもできます。

Rattle を実行するには、グラフィカル デスクトップ サインイン セッションで操作する必要があります。 ターミナルで「R」と入力して、R 環境を開きます。 R プロンプトで、次のコマンドを入力します。

library(rattle)
rattle()

一連のタブを含むグラフィカル インターフェイスが開きます。 Rattle のこれらのクイック スタート手順では、サンプルの気象データ セットを使用してモデルを構築します。 一部の手順では、システムにまだ存在しない特定の必要な R パッケージを自動的にインストールして読み込むよう求められます。

Note

システム ディレクトリ (既定) にパッケージをインストールするためのアクセス許可がない場合は、R コンソール ウィンドウで個人用ライブラリにパッケージをインストールするように求めるメッセージが表示されることがあります。 これらのプロンプトが表示された場合は、y と答えてください。

  1. [実行] を選択します
  2. この例の気象データ セットを使用するかどうかを確認するダイアログ ボックスが表示されます。 [はい] を選択して例を読み込みます
  3. [モデル] タブを選択する
  4. [実行] を選択してデシジョン ツリーを作成する
  5. [描画] を選択してデシジョン ツリーを表示する
  6. [フォレスト] オプションを選択し、[実行] を選択してランダム フォレストを構築します
  7. [評価] タブを選択する
  8. [リスク] オプションを選択し、[実行] を選択して 2 つのリスク (累積) パフォーマンス プロットを表示します
  9. [ログ] タブを選択して、上記の操作で生成された R コードを表示します
    • Rattle の現在のリリースのバグのため、ログのテキストにこのログをエクスポートする前に文字を挿入#する必要があります
  10. [エクスポート] ボタンを選択して、weather_scriptという名前の R スクリプト ファイルを保存します。R をホーム フォルダーに移動する

Rattle と R を終了できます。これで、生成された R スクリプトに変更を加えることができます。 スクリプトをそのまま使用し、いつでも実行して Rattle UI 内で行われたすべての操作を繰り返すこともできます。 特に R の初心者の場合、これは簡単なグラフィカル インターフェイスでの迅速な分析と機械学習に役立ち、変更または学習のために R でコードを自動的に生成します。

次のステップ

その他の質問については、サポート チケットの作成を 検討してください