開発環境の検討事項

機械学習ソリューションに寄与するテクノロジー セットの一部として、Cloud Machine Learning Engine には、前提条件や依存関係が慎重に設定された開発環境が必要です。このページでは、開発環境を作り上げる要素と、それに付随する問題を説明します。実行不可能にする特定のニーズがない限り、通常はクイックスタートを使用して環境をセットアップできます。

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

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

TensorFlow は現在、macOS、Linux、Windows をサポートしています。ただし、Windows は Python 3 開発用にのみサポートされています。

Cloud ML Engine は Python 2.7 を実行します。

Windows コンピュータで Python 3 を使ってトレーナーを開発し、Cloud ML Engine でそれをトレーニングすることができますが、Python の両方のバージョンと互換性のあるコードを使用する場合に限られます、Six のような互換性ライブラリを使用すると役立つことがあります。Six はデフォルトで Cloud ML Engine ランタイム イメージに含まれています。

Windows コンピュータを使用し、別のマシンで Python 2 で開発されたトレーナーを使用してトレーニング ジョブを開始できます。ただし、gcloud コマンドライン ツールを使用してローカル トレーニングを実行することはできません。これは推奨されません。

ルートアクセス権

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

ランタイム環境

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

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 が有効なプロジェクトが必要です。Cloud Platform を初めてお使いの場合は、詳細について、プロジェクトの概要をお読みください。

Cloud Compute リージョン

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

  • us-west1 は、Cloud ML Engine ジョブには使用できないリージョンです。プロジェクトが普段は us-west1 を使用する場合は、ジョブ作成時に別のリージョンを指定する必要があります。

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

  • Google Cloud Storage には Regional Storage を使用する必要があります

  • GPU のサポートは現在、以下のリージョンでのみご利用いただけます。

    • us-east1
    • asia-east1
    • europe-west1

次のステップ

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

Cloud Machine Learning Engine(Cloud ML Engine)