AI Platform Training menggunakan image untuk mengonfigurasi VM yang melayani permintaan pelatihan dan prediksi Anda di cloud. Image ini berisi sistem operasi dasar, paket teknologi inti, paket pip (library Python), dan paket sistem operasi. Image diupgrade secara berkala untuk menyertakan peningkatan dan fitur baru. Pembuatan versi AI Platform Training memungkinkan Anda memilih konfigurasi yang tepat untuk digunakan dengan model Anda.
Catatan penting tentang pembuatan versi
- Anda harus selalu menguji tugas dan model pelatihan secara menyeluruh saat beralih ke versi runtime baru, terlepas dari apakah itu update besar atau kecil.
AI Platform Training mendukung setiap versi runtime selama 12 bulan setelah rilis. Setelah periode 12 bulan, Anda tidak dapat lagi membuat tugas pelatihan, tugas prediksi batch, atau versi model yang menggunakan versi runtime.
Dua puluh empat bulan setelah rilis versi runtime, AI Platform Prediction akan menghapus semua versi model yang menggunakan versi runtime.
Pelajari lebih lanjut linimasa ketersediaan untuk versi runtime.
Memahami nomor versi
Image yang digunakan AI Platform Training sesuai dengan versi runtime AI Platform Training. Versi runtime menggunakan format berikut:
major_version.minor_version
Versi utama dan minor
Versi utama dan minor baru dibuat secara berkala untuk menggabungkan satu atau beberapa hal berikut:
- Rilis untuk:
- Sistem operasi
- Framework machine learning yang didukung
- Perubahan atau update pada fungsi AI Platform Training.
Versi utama baru dapat mencakup perubahan yang dapat menyebabkan gangguan yang memerlukan update pada kode yang ditulis untuk versi sebelumnya. Versi minor baru tidak boleh menyertakan perubahan yang dapat menyebabkan gangguan, dan harus kompatibel dengan semua variasi versi utama yang sama.
Memilih versi runtime
Pastikan untuk memilih versi runtime yang mendukung versi terbaru framework machine learning dan paket lain yang Anda gunakan.
Versi runtime AI Platform Training paling awal yang menyediakan dukungan untuk scikit-learn dan XGBoost adalah versi 1.13.
Anda dapat melihat detail setiap versi di daftar versi AI Platform Training.
Menetapkan versi runtime
Pastikan untuk menetapkan versi runtime saat Anda mengirimkan permintaan tugas pelatihan:
gcloud
Gunakan flag --runtime-version
saat Anda menjalankan perintah
gcloud ai-platform jobs submit training
.
gcloud ai-platform jobs submit training my_job \ --module-name trainer.task \ --job-dir gs://my/training/job/directory \ --package-path /path/to/my/project/trainer \ --region us-central1 \ --runtime-version 2.11 \ --python-version 3.7
Python
Tetapkan runtimeVersion
saat Anda menentukan permintaan tugas pelatihan:
training_inputs = {'scaleTier': 'BASIC', 'packageUris': ['gs://my/trainer/path/package-0.0.0.tar.gz'], 'pythonModule': 'trainer.task' 'args': ['--arg1', 'value1', '--arg2', 'value2'], 'region': 'us-central1', 'jobDir': 'gs://my/training/job/directory', 'runtimeVersion': '2.11', 'pythonVersion': '3.7'} job_spec = {'jobId': my_job_name, 'trainingInput': training_inputs}
Lihat detail selengkapnya tentang cara mengirimkan tugas pelatihan di TrainingInput API.
Menetapkan versi Python
Python 3.7 tersedia di runtime versi 1.15 dan yang lebih baru.
Versi Python yang lebih lama tersedia untuk versi runtime tertentu:
Python 3.5 tersedia saat Anda menggunakan runtime Pelatihan AI Platform versi 1.13 hingga 1.14.
Python 2.7 tersedia dalam runtime versi 1.15 dan yang lebih lama.
Contoh berikut menunjukkan cara menentukan Python 3.7 untuk pelatihan. Anda dapat menentukan Python 3.5 atau Python 2.7 dengan cara yang serupa.
gcloud
Untuk menggunakan Python 3.7 untuk pelatihan, tentukan --python-version 3.7
dan gunakan
runtime versi 1.15 atau yang lebih baru:
gcloud ai-platform jobs submit training my_job \ --module-name trainer.task \ --job-dir gs://my/training/job/directory \ --package-path /path/to/my/project/trainer \ --python-version 3.7 \ --region us-central1 \ --runtime-version 2.11
Python
Untuk menggunakan Python 3.7 untuk pelatihan, tetapkan runtimeVersion
ke versi '1.15'
atau yang lebih baru dan tetapkan pythonVersion
ke '3.7'
:
training_inputs = {'scaleTier': 'BASIC', 'packageUris': ['gs://my/trainer/path/package-0.0.0.tar.gz'], 'pythonModule': 'trainer.task' 'args': ['--arg1', 'value1', '--arg2', 'value2'], 'region': 'us-central1', 'jobDir': 'gs://my/training/job/directory', 'runtimeVersion': '2.11', 'pythonVersion': '3.7'} job_spec = {'jobId': my_job_name, 'trainingInput': training_inputs}
Lihat detail selengkapnya tentang cara mengirimkan tugas pelatihan di TrainingInput API.
Menggunakan paket kustom
Ada tiga cara untuk mengubah paket di instance pelatihan:
- mem-build container kustom yang melakukan pra-penginstalan dependensi Anda di image
- menentukan paket PyPI sebagai dependensi ke paket pelatih Anda
- mengupload file paket (tarball) secara manual dan menyertakan jalurnya sebagai input pelatihan
Mem-build container kustom
Daripada menggunakan versi runtime, Anda dapat mem-build container Docker untuk menyertakan dependensi. Pelajari lebih lanjut cara menggunakan penampung kustom.
# Specifies base image and tag FROM image:tag WORKDIR /root # Installs additional packages RUN pip install pkg1 pkg2 pkg3 # Downloads training data RUN curl https://example-url/path-to-data/data-filename --output /root/data-filename # Copies the trainer code to the docker image. COPY your-path-to/model.py /root/model.py COPY your-path-to/task.py /root/task.py # Sets up the entry point to invoke the trainer. ENTRYPOINT ["python", "task.py"]
Menyertakan dependensi paket PyPI
Anda dapat menentukan paket PyPI dan versinya sebagai dependensi ke paket pelatih menggunakan proses alat penyiapan normal:
- Di direktori level teratas aplikasi pengajar, sertakan file
setup.py
. Saat Anda memanggil
setuptools.setup
di setup.py, teruskan daftar dependensi dan secara opsional versinya sebagai parameterinstall_requires
. Contoh filesetup.py
ini menunjukkan prosedurnya:from setuptools import find_packages from setuptools import setup REQUIRED_PACKAGES = ['some_PyPI_package>=1.5', 'another_package==2.6'] setup( name='trainer', version='0.1', install_requires=REQUIRED_PACKAGES, packages=find_packages(), include_package_data=True, description='Generic example trainer package with dependencies.')
AI Platform Training memaksa penginstalan ulang paket, sehingga Anda dapat mengganti paket yang merupakan bagian dari image versi runtime dengan versi yang lebih baru atau lebih lama.
Mengupload file paket Anda sendiri
Anda dapat menyertakan file paket tambahan sebagai bagian dari permintaan tugas pelatihan. Anda
upload paket ke Cloud Storage dan menentukan daftar paket yang akan
diinstal di setiap instance pelatihan. AI Platform Training menginstal
semua paket dengan pip
. Paket yang dirancang untuk pengelola paket lain tidak
didukung.
gcloud
Gunakan flag --packages
saat Anda menjalankan perintah
gcloud ai-platform jobs submit training
. Tetapkan nilai ke daftar jalur yang dipisahkan koma ke semua
paket tambahan. Perhatikan bahwa daftar tidak boleh berisi spasi kosong di antara
entri.
gcloud ai-platform jobs submit training my_job \ --staging-bucket gs://my-bucket \ --package-path /path/to/my/project/trainer \ --module-name trainer.task \ --runtime-version 2.11 \ --python-version 3.7 \ --packages dep1.tar.gz,dep2.whl
Python
Tambahkan semua paket tambahan ke daftar yang Anda gunakan untuk nilai
packageUris
dalam objek
TrainingInput.
training_inputs = {'scaleTier': 'BASIC', 'packageUris': ['gs://my/trainer/path/package-0.0.0.tar.gz', 'gs://my/dependencies/path/dep1.tar.gz', 'gs://my/dependencies/path/dep2.whl'], 'pythonModule': 'trainer.task' 'args': ['--arg1', 'value1', '--arg2', 'value2'], 'region': 'us-central1', 'jobDir': 'gs://my/training/job/directory', 'runtimeVersion': '2.11', 'pythonVersion': '3.7'} job_spec = {'jobId': my_job_name, 'trainingInput': training_inputs}
Menentukan versi TensorFlow kustom untuk pelatihan
Anda dapat menggunakan TensorFlow versi yang lebih baru daripada versi runtime terbaru yang didukung di AI Platform Training untuk pelatihan, tetapi tidak untuk prediksi.
Untuk menggunakan versi TensorFlow yang belum didukung sebagai versi runtime Pelatihan AI Platform lengkap, sertakan sebagai dependensi kustom untuk pelatih Anda menggunakan salah satu pendekatan berikut:
Tentukan versi TensorFlow dalam file
setup.py
sebagai dependensi PyPI. Sertakan dalam daftar paket yang diperlukan sebagai berikut:REQUIRED_PACKAGES = ['tensorflow>=2.11']
Mem-build biner TensorFlow dari sumber, pastikan untuk mengikuti petunjuk untuk TensorFlow dengan dukungan CPU saja. Proses ini menghasilkan paket pip (file .whl) yang dapat Anda sertakan dalam permintaan tugas pelatihan dengan menambahkannya ke daftar paket.
Mem-build biner TensorFlow untuk disertakan sebagai paket kustom adalah pendekatan yang lebih kompleks, tetapi keuntungannya adalah Anda dapat menggunakan update TensorFlow terbaru saat melatih model.