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. Gambar diupgrade secara berkala untuk menyertakan peningkatan dan fitur baru. Pembuatan versi Pelatihan AI Platform 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 dirilisnya. Setelah periode 12 bulan tersebut, 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 menghapus semua versi model yang menggunakan versi runtime.
Pelajari linimasa ketersediaan untuk versi runtime lebih lanjut.
Memahami nomor versi
Gambar yang digunakan AI Platform Training sesuai dengan versi runtime Pelatihan AI Platform. Versi runtime menggunakan format berikut:
major_version.minor_version
Versi utama dan minor
Versi utama dan minor baru dibuat secara berkala untuk menyertakan 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 mungkin mencakup perubahan yang dapat menyebabkan gangguan yang memerlukan update pada kode yang ditulis berdasarkan 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 dalam daftar versi Pelatihan AI Platform.
Menyetel versi runtime
Pastikan Anda menetapkan versi runtime saat 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 mengirimkan tugas pelatihan di TrainingInput API.
Menyetel 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 di 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 sama.
gcloud
Agar dapat 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
Agar dapat menggunakan Python 3.7 untuk pelatihan, tetapkan runtimeVersion
ke versi '1.15'
atau yang lebih baru, lalu 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 mengirimkan tugas pelatihan di TrainingInput API.
Menggunakan paket kustom
Ada tiga cara bagi Anda untuk mengubah paket pada instance pelatihan:
- membuat container kustom yang telah menginstal dependensi Anda pada image
- menentukan paket PyPI sebagai dependensi untuk paket pelatih Anda
- mengupload file paket (tarball) secara manual dan menyertakan jalurnya sebagai input pelatihan
Membuat container kustom
Daripada menggunakan versi runtime, Anda dapat mem-build container Docker untuk menyertakan dependensi Anda. 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 untuk paket pelatih menggunakan proses alat penyiapan normal:
- Dalam direktori level teratas pada aplikasi pelatih, sertakan file
setup.py
. Saat Anda memanggil
setuptools.setup
di setup.py, teruskan daftar dependensi dan, jika perlu, versinya sebagai parameterinstall_requires
. Contoh filesetup.py
ini menunjukkan prosedur: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 lama.
Mengunggah file paket Anda sendiri
Anda dapat menyertakan file paket tambahan sebagai bagian dari permintaan tugas pelatihan. Anda mengupload paket ke Cloud Storage dan menentukan daftar paket yang akan diinstal pada setiap instance pelatihan. AI Platform Training akan 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 kustom TensorFlow untuk pelatihan
Penggunaan TensorFlow versi yang lebih baru daripada versi runtime terbaru yang didukung di AI Platform Training dapat digunakan 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
Anda sebagai dependensi PyPI. Sertakan dalam daftar paket yang diperlukan sebagai berikut:REQUIRED_PACKAGES = ['tensorflow>=2.11']
Bangun biner TensorFlow dari sumber, pastikan untuk mengikuti petunjuk untuk TensorFlow hanya dengan dukungan CPU. Proses ini menghasilkan paket pip (file .whl) yang dapat Anda sertakan dalam permintaan tugas pelatihan dengan menambahkannya ke daftar paket Anda.
Membuat biner TensorFlow untuk disertakan sebagai paket kustom adalah pendekatan yang lebih kompleks, tetapi keuntungannya adalah Anda dapat menggunakan update TensorFlow terbaru saat melatih model Anda.