開発環境の検討事項

機械学習ソリューションに寄与するテクノロジー セットの一部として、Cloud Machine Learning Engine には、前提条件や依存関係が慎重に設定された開発環境が必要です。このページでは、開発環境を作り上げる要素と、それに付随する問題を説明します。スタートガイドの手順に沿って設定を行うこともできます。

オペレーティング システム

Cloud Machine Learning Engine のオペレーティング システムのサポートは、TensorFlow のサポートと Python バージョンの 2 つの要因によって異なります。

TensorFlow は現在、macOS、Linux、Windows をサポートしています。

Python バージョンのサポート

デフォルトでは、Cloud ML Engine は Python 2.7 を実行します。

Python 3.5 は、Cloud ML Engine ランタイム バージョン 1.4 以上のトレーニングで使用できます。トレーニング ジョブの Python バージョンは、設定ファイルまたは gcloud コマンドで設定します。

Python 2 または Python 3 でトレーニングを行ったかどうかにかかわらず、オンライン予測とバッチ予測はトレーニングされたモデルで動作します。

Python 2 と Python 3 の間でコードの移植が必要な場合は、six などの互換性のあるライブラリを使用します。Six はデフォルトで Cloud ML Engine ランタイム イメージに含まれています。

ルートアクセス権

基本開発環境を設定している場合は、sudo を使用して、macOS または Linux で pip インストールを実行する必要があります。ただし、仮想環境を使用する場合は、インストールは OS に保護されたシステム ディレクトリの外で行われるため、root にアクセスする必要はありません。

ランタイム環境

開発に使用するオペレーティング システムに加えて、Cloud ML Engine のジョブとリクエストが実行されるオペレーティング環境に注意する必要があります。クラウドで GCP プロジェクトを実行する仮想マシンの構成は、使用するランタイム バージョンによって定義されます。

Python 仮想環境

特に同じコンピュータ上で異なるテクノロジーを使用する他の Python アプリケーションを開発する場合に、Python の設定が複雑になることがあります。仮想環境を使って Python 開発を行うことで、パッケージとバージョンの管理を簡素化できます。

Python 仮想環境はインタープリターとパッケージを管理し、それらは、使用するコンピュータのデフォルト環境から切り離されてプロジェクト専用となります。仮想環境を使用し、それぞれに必要な Python の独自なバージョンやモジュールによって、作業用のそれぞれの Python プロジェクトのために別々の環境を設定できます。

仮想 Python 環境にはいくつかのオプションがあります。Anaconda(または、その小さいバージョンである Miniconda)を推奨します。これらには、Conda と名付けられた、独自の仮想環境マネージャが含まれています。Anaconda は、データ科学者がよく使用する人気の高いパッケージとツールのスイートです。

TensorFlow

Cloud ML Engine は、クラウドで TensorFlow トレーニング アプリケーションおよびモデルを実行するように構築されています。このため、TensorFlow がハードウェア依存であるのは止むを得ないことです。TensorFlow はインストールのために多くのオプションを備えてい供します。選択肢が多すぎると感じる場合は、仮想環境へのインストールに、Anaconda を使用することを推奨します。

Google Cloud Platform アカウント

TensorFlow に加えて、Google Cloud Platform は Cloud ML Engine 開発に最も重要な要素です。どの Cloud ML Engine のクラウド機能を使用する場合でも、課金が有効なアカウントと、Cloud Machine Learning Engine API が有効なプロジェクトが必要です。GCP を初めて使用する場合は、プロジェクトの概要で詳細をご覧ください。

Cloud Compute リージョン

処理リソースは、リージョンとゾーンによって割り当てられます。これは、リソースが物理的に設置されたデータセンターに相当します。通常は、モデルのトレーニングなどの一回限りのジョブは、自分の物理的ロケーション(または意図するユーザーの物理的ロケーション)に最も近いリージョンで実行するべきです。ただし以下の点に注意してください。

  • GPU やその他のハードウェアのモデル トレーニング、オンライン / バッチ予測など、Cloud ML Engine サービスの利用可能なリージョンに注意してください。

  • Cloud ML Engine ジョブは、そのジョブのデータの読み書きに使用している Google Cloud Storage バケットと同じリージョンで常に実行する必要があります。

  • Cloud ML Engine ジョブのデータの読み書きに使用する Google Cloud Storage バケットには、Regional Storage タイプを使用する必要があります。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Machine Learning Engine(Cloud ML Engine)