|

Rescale のインタラクティブ ニューラル ネットワーク設計

の最近のリリースで 深層学習クラウドをリスケールするここでは、新しいインタラクティブ ノートブック機能を利用してディープ ニューラル ネットワークを開発する例を紹介します。 この機能により、インタラクティブなデータの前処理と分析、およびニューラル ネットワークのバッチ トレーニングを交互に行う反復的なワークフローが可能になります。
mark3
この記事では、画像分類データ セット (CIFAR10)、インタラクティブ ノートブックでいくつかの異なるニューラル ネットワーク設計を試してから、バッチ トレーニング クラスターを起動して、そのネットワークをさらにエポックにわたってトレーニングします。

Jupyter Notebook の開始
始めるには、まず NVIDIA K80 GPU を搭載した Rescale Linux デスクトップを起動する必要があります。

デスクトップスタート

ここでは、単一の NVIDIA K80 GPU を備えたデスクトップ構成を選択しました。 ノートブックの起動が完了するまで待機している間に、CIFAR10 イメージ データセットと実行するノートブック コードを保持するジョブのクローンを作成して保存できます。 このリンクをクリックして、作成したジョブを保存します (実行するためにジョブを送信する必要はありません。ジョブを使用してノートブックとデータセットの入力ファイルをステージングするだけです)。 CIFAR10 TensorFlow ノートブック.

デスクトップの起動が完了したら、TensorFlow ソフトウェアとジョブをノートブック コードにアタッチします。

デスクトップ接続1
デスクトップ接続2
ソフトウェアとジョブがアタッチされたら、ノートブックの URL を開き、プロンプトが表示されたらパスワードを入力します。
注意

次に、`attach_jobs` ディレクトリに移動し、次に添付したジョブのディレクトリに移動し、次に .ipynb ファイルに移動します。

メモ添付ジョブ
このノートブックのコードは、
TensorFlow CIFAR10 トレーニングの例.

この例にはすでに別の推論関数を追加しています。 inference_3conv、3番目の畳み込み層を備えています。 すべてのセルをそのまま実行して、2 畳み込み層ネットワークのトレーニングを試すことができます。 3 変換層バージョンを実行するには、呼び出しを次のように置き換えます。 inference_2conv   inference_3conv、カーネル (ESC-0-0) を再起動し、すべてのセルを再度実行します。
cifar10-推論

テンソルボード
SSH トンネル経由でデスクトップ上の TensorFlow の組み込み GUI である TensorBoard にアクセスすることもできます。 独自の SSH キーを設定するには、次の手順に従ってください こちら。 デスクトップ パネルの [ノード アクセス] セクションで接続スクリプトの XNUMX つをダウンロードするだけです。
デスクトップ接続
そして、スクリプトからユーザー名と IP アドレスを取り出します。 次に、ポート 6006 をローカルホストに転送し、TensorBoard を実行します。

ssh -L 6006:localhost:6006 @ tensorboard –logdir=/tmp/cifar10_train

これで、ローカル ブラウザからアクセスできるようになります。 
https://localhost:6006。 私たちが使用している特定のトレーニング例はすでに設定されています /tmp/cifar10_train トレーニング ログのデフォルトの場所として。 TensorBoard に表示される 2 つのネットワーク グラフを次に示します。 XNUMX つの畳み込み層:
cifar_hacking2conv
XNUMX つの畳み込み層:
cifar_hacking3conv

バッチトレーニング
ノートブック GPU で 2 層および 3 層の畳み込みネットワークを 10 ~ 20 エポックトレーニングすると、実際に 3 層ネットワークの方が損失がより速く低下することがわかります。 ここで、ネットワークがより長く訓練されたときにより深いネットワークがより高い精度をもたらすのか、それともより短い訓練時間で同じ精度に達するのかを確認したいと思います。

更新された 3 畳み込み層コードを使用してバッチ トレーニング ジョブをノートブックから直接起動できます。 まず、ノートブックを保存します (Ctrl-S)。次に、ノートブックを通常の Python に自動的にエクスポートし、ノートブックと同じディレクトリにあるすべてのファイルを使用してジョブを起動するシェル コマンド ショートカットがあります。

例:
ランパス

構文は次のとおりです。

ランパス


これは、デスクトップ上のコマンド ラインから、または IPython シェル マジックを使用してノートブック内で実行できます。 構文。

ノートブックから起動するときに選択できる GPU コアのタイプには次のようなものがあります。

ジェイド: NVIDIA Kepler K520s
黒曜石: NVIDIA テスラ K80s

ジョブの実行が開始されたら、ジョブをデスクトップに接続すると、ジョブ ファイルが共有ファイル システムの一部としてノートブック上でアクセスできるようになります。 まず、添付ファイルは次のとおりです。
アタッチ実行中
次に、デスクトップでは、ファイルを開いて表示するだけでなく、ターミナルを開くこともできます。

ターミナル

ターミナルからファイルの末尾などを実行できます。
ターミナルテール

あるいは、Rescale Web ポータルでジョブに移動し、ブラウザーでライブ テール ファイルを表示することもできます。 これにより、Rescale デスクトップをシャットダウンしてもトレーニングの進行状況を監視したり、ワークステーションから離れているときにモバイル デバイスでバッチ ジョブを監視したりすることができます。
尾行


反復開発
上記では、CIFAR10 トレーニング サンプルの XNUMX 回の開発反復を完​​了したところですが、バッチ トレーニングが完了したら停止する必要はありません。 いつでもバッチ トレーニング ジョブを停止し、ノートブックからトレーニング ログをさらに詳しく確認して、新しいトレーニング ジョブを送信できます。

ここでの利点は、使用したバッチ トレーニング クラスターと同様のハードウェア、同じソフトウェア構成、および同じトレーニング データでコードを開発およびテストできることです。 これにより、ローカル ワークステーションで実行するテストとクラウドのトレーニング クラスターとの間のソフトウェアまたはハードウェア構成の違いに起因するバグの悩みが解消されます。

さらに、ノートブック環境でより多くの計算負荷の高いワークロードを直接実行したい場合は、最大 8 つの K80 GPU (4 K80 カード) を備えた Rescale デスクトップ構成をご用意しています。それらにアクセスするには、support@rescale.com にメールでお問い合わせください。

上記のワークフローを試すには、
ここにサインアップする 今すぐ Rescale でディープ ラーニングを始めてください。
編集 (2016-10-31): ユーザー SSH キーを設定するためのリンクを追加しました。

著者

  • マーク·ホイットニー

    Mark Whitney は、Rescale のエンジニアリング ディレクターです。 彼の専門分野には、ハイ パフォーマンス コンピューティング アーキテクチャ、量子情報研究、クラウド コンピューティングが含まれます。 彼はカリフォルニア大学バークレー校でコンピューター サイエンスの博士号を取得しています。

類似の投稿