TensorFlow Kelas
Menunjukkan estimator untuk pelatihan dalam eksperimen TensorFlow.
TIDAK DIGUNAKAN LAGI. Gunakan objek ScriptRunConfig dengan lingkungan yang Anda tentukan sendiri atau salah satu lingkungan yang dikumpulkan Azure ML TensorFlow. Untuk pengenalan konfigurasi eksperimen TensorFlow yang berjalan dengan ScriptRunConfig, lihat Melatih model TensorFlow dalam skala dengan Azure Machine Learning.
Versi yang didukung: 1.10, 1.12, 1.13, 2.0, 2.1, 2.2
- Warisan
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorTensorFlow
Konstruktor
TensorFlow(source_directory, *, compute_target=None, vm_size=None, vm_priority=None, entry_script=None, script_params=None, node_count=1, process_count_per_node=1, worker_count=1, parameter_server_count=1, distributed_backend=None, distributed_training=None, use_gpu=False, use_docker=True, custom_docker_base_image=None, custom_docker_image=None, image_registry_details=None, user_managed=False, conda_packages=None, pip_packages=None, conda_dependencies_file_path=None, pip_requirements_file_path=None, conda_dependencies_file=None, pip_requirements_file=None, environment_variables=None, environment_definition=None, inputs=None, source_directory_data_store=None, shm_size=None, resume_from=None, max_run_duration_seconds=None, framework_version=None, _enable_optimized_mode=False, _disable_validation=True, _show_lint_warnings=False, _show_package_warnings=False)
Parameter
- compute_target
- AbstractComputeTarget atau str
Target komputasi di mana pelatihan akan terjadi. Ini bisa berupa objek atau untai (karakter) "lokal".
- vm_size
- str
Ukuran mesin virtual dari target komputasi yang akan dibuat untuk pelatihan. Nilai yang didukung: Ukuran mesin virtual Azure apa pun.
- vm_priority
- str
Prioritas mesin virtual dari target komputasi yang akan dibuat untuk pelatihan. Jika tidak ditentukan, 'dedicated' digunakan.
Nilai yang didukung:'dedicated' dan 'lowpriority'.
Ini berlaku hanya jika vm_size param ditentukan dalam input.
- script_params
- dict
Kamus argumen baris perintah untuk diteruskan ke skrip pelatihan yang ditentukan dalam entry_script.
- node_count
- int
Jumlah node dalam target komputasi yang digunakan untuk pelatihan. Hanya target AmlCompute yang didukung untuk pelatihan terdistribusi (node_count> 1).
- worker_count
- int
Saat menggunakan Server Parameter untuk pelatihan terdistribusi, jumlah node pekerja.
TIDAK DIGUNAKAN LAGI. Tentukan sebagai bagian dari parameter distributed_training.
- parameter_server_count
- int
Saat menggunakan Server Parameter untuk pelatihan terdistribusi, jumlah node kluster parameter.
- distributed_backend
- str
Backend komunikasi untuk pelatihan terdistribusi.
TIDAK DIGUNAKAN LAGI. Gunakan parameter distributed_training.
Nilai yang didukung: 'mpi' dan 'ps'. 'mpi' mewakili MPI/Horovod dan 'ps' mewakili Server Parameter.
Parameter ini diperlukan ketika salah satu dari node_count, process_count_per_node, worker_count, atau parameter_server_count> 1.
Dalam kasus 'ps', jumlah worker_count dan parameter_server_count harus kurang dari atau sama dengan node_count * (jumlah CPU atau GPU per node)
Ketika node_count == 1 dan process_count_per_node == 1, tidak ada backend yang akan digunakan kecuali backend diatur secara eksplisit. Hanya target AmlCompute yang didukung untuk pelatihan terdistribusi.
- distributed_training
- ParameterServer atau Mpi
Parameter untuk menjalankan pekerjaan pelatihan terdistribusi.
Untuk menjalankan pekerjaan terdistribusi dengan backend Server Parameter, gunakan objek ParameterServer untuk menentukan worker_count dan parameter_server_count.
Jumlah parameter worker_count dan parameter_server_count harus kurang dari atau sama dengan node_count * (jumlah CPU atau GPU per node).
Untuk menjalankan pekerjaan yang terdistribusi dengan backend MPI, gunakan objek Mpi untuk menentukan process_count_per_node.
- use_gpu
- bool
Menentukan apakah lingkungan untuk menjalankan eksperimen harus mendukung GPU.
Jika true, gambar docker default berbasis GPU akan digunakan di lingkungan. Jika false, gambar berbasis CPU akan digunakan. Gambar docker default (CPU atau GPU) hanya akan digunakan jika parameter custom_docker_image tidak diatur. Pengaturan ini hanya digunakan di target komputasi yang diaktifkan oleh Docker.
- use_docker
- bool
Tentukan apakah lingkungan tempat menjalankan eksperimen harus berbasis Docker atau tidak.
- custom_docker_base_image
- str
Nama gambar Docker tempat gambar yang akan digunakan untuk pelatihan akan dibuat.
TIDAK DIGUNAKAN LAGI. Gunakan parameter custom_docker_image.
Jika tidak diatur, gambar berbasis CPU default akan digunakan sebagai gambar dasar.
- custom_docker_image
- str
Nama gambar Docker dari mana gambar yang akan digunakan untuk pelatihan akan dibuat. Jika tidak diatur, gambar berbasis CPU default akan digunakan sebagai gambar dasar.
- user_managed
- bool
Tentukan apakah Azure Machine Learning menggunakan kembali lingkungan python yang ada. Jika False, Azure Machine Learning akan membuat lingkungan Python berdasarkan spesifikasi dependensi conda.
- conda_packages
- list
Daftar untai (karakter) yang menunjukkan paket conda yang akan ditambahkan ke lingkungan Python untuk eksperimen.
- pip_packages
- list
Daftar untai (karakter) yang menunjukkan paket pip yang akan ditambahkan ke lingkungan Python untuk eksperimen.
- conda_dependencies_file_path
- str
Untai (karakter) yang menunjukkan jalur relatif ke file yaml dependensi conda.
Jika ditentukan, Azure Machine Learning tidak akan memasang paket terkait kerangka kerja apa pun.
TIDAK DIGUNAKAN LAGI. Gunakan parameter conda_dependencies_file.
- pip_requirements_file_path
- str
Untai (karakter) yang menunjukkan jalur relatif ke file teks persyaratan pip.
Ini dapat dilengkapi dengan kombinasi parameter pip_packages.
TIDAK DIGUNAKAN LAGI. Gunakan parameter pip_requirements_file.
- conda_dependencies_file
- str
Untai (karakter) yang menunjukkan jalur relatif ke file yaml dependensi conda. Jika ditentukan, Azure Machine Learning tidak akan menginstal paket terkait kerangka kerja apa pun.
- pip_requirements_file
- str
String yang mewakili jalur relatif ke file teks persyaratan pip.
Ini dapat dilengkapi dengan kombinasi parameter pip_packages.
- environment_variables
- dict
Sebuah kamus berisi nama dan nilai variabel lingkungan. Variabel lingkungan ini diatur pada proses saat skrip pengguna sedang dijalankan.
- environment_definition
- Environment
Definisi lingkungan untuk eksperimen. Ini termasuk PythonSection, DockerSection, dan variabel lingkungan. Opsi lingkungan apa pun yang tidak diekspos secara langsung melalui parameter lain ke konstruksi Estimator dapat diatur menggunakan parameter ini. Jika parameter ini ditentukan, parameter akan diprioritaskan dari parameter terkait lingkungan lainnya seperti use_gpu, custom_docker_image, conda_packages, atau pip_packages.
Kesalahan akan dilaporkan pada kombinasi yang tidak valid ini.
- inputs
- list
Daftar objek DataReference atau DatasetConsumptionConfig yang akan digunakan sebagai input.
- shm_size
- str
Ukuran blok memori bersama kontainer Docker. Jika tidak diatur, azureml.core.environment._DEFAULT_SHM_SIZE default digunakan. Untuk informasi selengkapnya, lihat Referensi eksekusi Docker.
- resume_from
- DataPath
Jalur data yang berisi file titik pemeriksaan atau model untuk melanjutkan eksperimen.
- max_run_duration_seconds
- int
Waktu maksimum yang diizinkan untuk eksekusi. Azure Machine Learning akan mencoba untuk membatalkan eksekusi secara otomatis jika diperlukan waktu lebih lama dari nilai ini.
- framework_version
- str
Versi TensorFlow yang akan digunakan untuk menjalankan kode pelatihan.
Jika tidak ada versi yang disediakan, penghitung akan default ke versi terbaru yang didukung oleh Azure Machine Learning.
Gunakan TensorFlow.get_supported_versions() untuk menampilkan daftar guna mendapatkan daftar semua versi yang didukung SDK Azure Machine Learning saat ini.
Keterangan
Saat mengirimkan pekerjaan pelatihan, Azure Machine Learning menjalankan skrip Anda di lingkungan conda dalam kontainer Docker. Kontainer TensorFlow memiliki dependensi yang diinstal berikut.
Dependencies | TensorFlow 1.10/1.12 | TensorFlow 1.13 | TF 2.0/2.1/2.2 | ———————————— | ——————– | ————— | —————— | Python | 3.6.2 | 3.6.2 | 3.6.2 | CUDA (GPU image only) | 9.0 | 10.0 | 10.0 | cuDNN (GPU image only) | 7.6.3 | 7.6.3 | 7.6.3 | NCCL (GPU image only) | 2.4.8 | 2.4.8 | 2.4.8 | azureml-defaults | Latest | Latest | Latest | azureml-dataset-runtime[fuse,pandas] | Latest | Latest | Latest | IntelMpi | 2018.3.222 | 2018.3.222 | —- | OpenMpi | —- | —- | 3.1.2 | horovod | 0.15.2 | 0.16.1 | 0.18.1/0.19.1/0.19.5 | miniconda | 4.5.11 | 4.5.11 | 4.5.11 | tensorflow | 1.10.0/1.12.0 | 1.13.1 | 2.0.0/2.1.0/2.2.0 | git | 2.7.4 | 2.7.4 | 2.7.4 |
Gambar Docker v1 memperluas Ubuntu 16.04. Gambar Docker v2 memperluas Ubuntu 18.04.
Untuk memasang dependensi tambahan, Anda dapat menggunakan parameter pip_packages atau conda_packages. Atau, Anda dapat menentukan parameter pip_requirements_file atau conda_dependencies_file.
Atau, Anda dapat membangun gambar Anda sendiri, dan meneruskan parameter custom_docker_image ke konstruktor penghitung.
Untuk informasi selengkapnya tentang kontainer Docker yang digunakan dalam pelatihan TensorFlow, lihat https://github.com/Azure/AzureML-Containers.
Kelas TensorFlow mendukung dua metode pelatihan terdistribusi:
Pelatihan terdistribusi berbasis MPI menggunakan
kerangka kerja Horovod
Untuk contoh dan informasi selengkapnya tentang menggunakan TensorFlow dalam pelatihan terdistribusi, lihat tutorial Melatih dan mendaftarkan model TensorFlow pada skala dengan Azure Machine Learning.
Atribut
DEFAULT_VERSION
DEFAULT_VERSION = '1.13'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'TensorFlow'
Saran dan Komentar
Kirim dan lihat umpan balik untuk