機械学習ソリューションに寄与する一連のテクノロジーの一部として、AI Platform Training では前提条件と依存関係が慎重に構成された開発環境が必要です。このページでは、開発環境を作り上げる要素と、それに付随する問題を説明します。
Python バージョンのサポート
AI Platform Training は、Python 2.7 または Python 3 を実行できます。トレーニング ジョブの Python バージョンは、構成ファイルまたは gcloud コマンドで構成します。
Python 2 または Python 3 でトレーニングを行ったかどうかにかかわらず、オンライン予測とバッチ予測はトレーニングされたモデルで動作します。
Python 2 と Python 3 の間でコードの移植が必要な場合は、six などの互換性のあるライブラリを使用します。デフォルトでは、AI Platform Training のランタイム イメージに six が含まれています。
ルートアクセス権
ベース開発環境を構成する場合、macOS または Linux で pip
のインストールを実行するために、sudo
の使用が必要になることがあります。ただし、仮想環境を使用する場合は、インストールは OS に保護されたシステム ディレクトリの外で行われるため、root にアクセスする必要はありません。
ランタイム環境
Google Cloud プロジェクトをクラウドで実行する仮想マシンの構成は、使用するランタイム バージョンによって定義されます。
Python 仮想環境
特に同じコンピュータ上で異なるテクノロジーを使用する他の Python アプリケーションを開発する場合に、Python の構成が複雑になることがあります。仮想環境を使って Python 開発を行うことで、パッケージとバージョンの管理を簡素化できます。
Python 仮想環境はインタープリタとパッケージを管理し、それらは、使用するコンピュータのデフォルト環境から切り離されてプロジェクト専用となります。仮想環境を使用すると、作業対象の Python プロジェクトごとに個別の環境を構成できます。それぞれの環境で固有の Python のバージョンと必要なモジュールを使用できます。
仮想 Python 環境にはいくつかのオプションがあります。Anaconda(または、その最小構成版である Miniconda)をおすすめします。これらの環境には、Conda と名付けられた、独自の仮想環境マネージャーが含まれています。Anaconda は、データ サイエンティストがよく使用する人気の高いパッケージとツールのスイートです。
機械学習のフレームワーク
AI Platform Training と AI Platform Prediction は、次のフレームワークをサポートしています。
- TensorFlow。トレーニング、オンライン予測、バッチ予測に使用します。AI Platform で TensorFlow Estimator を使用してトレーニングと予測を行うためのガイドをご覧ください。
- scikit-learn と XGBoost。トレーニングとオンライン予測に使用します。AI Platform Training での scikit-learn と XGBoost の使用に関するチュートリアルをご覧ください。
Google Cloud Platform アカウント
AI Platform Training のクラウド機能を使用するには、Google Cloud アカウントで課金が有効になっており、プロジェクトで AI Platform Training と Prediction API が有効になっている必要があります。Google Cloud を初めて使用する場合は、プロジェクトの概要で詳細情報を確認してください。
Cloud Compute リージョン
処理リソースは、リージョンとゾーンによって割り当てられます。これは、リソースが物理的に設置されたデータセンターに相当します。通常は、モデルのトレーニングなどの一回限りのジョブは、自分の物理的ロケーション(または対象ユーザーの物理的ロケーション)に最も近いリージョンで実行するべきです。ただし以下の点に注意してください。
GPU や他のハードウェアでのモデル トレーニング、オンライン / バッチ予測など、AI Platform Training サービスで利用可能なリージョンを確認してください。
AI Platform Training のジョブは、必ず、そのジョブのデータの読み取りと書き込みに使用している Cloud Storage バケットと同じリージョンで実行する必要があります。
AI Platform Training ジョブのデータの読み取りと書き込みに使用する Cloud Storage バケットには、Standard Storage クラスを使用してください。
次のステップ
- AI Platform Training 上の TensorFlow Estimator のスタートガイドを確認する。
- AI Platform Training 上の scikit-learn と XGBoost の操作をクイックスタートで学習する。