Hub documentation
Menggunakan sample-factory di Hugging Face
Menggunakan sample-factory di Hugging Face
sample-factory adalah basis kode untuk pembelajaran penguatan asinkron dengan throughput tinggi. Basis kode ini memiliki integrasi dengan Hugging Face Hub untuk berbagi model beserta hasil evaluasi dan metrik pelatihan.
Menjelajahi sample-factory di Hub
Anda dapat menemukan model sample-factory dengan memfilter di sisi kiri halaman model.
Semua model di Hub dilengkapi dengan fitur yang berguna:
- Kartu model yang dihasilkan secara otomatis dengan deskripsi, konfigurasi pelatihan, dan lainnya.
- Tag metadata yang membantu untuk kemudahan penemuan.
- Hasil evaluasi untuk dibandingkan dengan model lain.
- Widget video tempat Anda dapat menonton agen Anda beraksi.
Instal pustaka
Untuk menginstal pustaka sample-factory, Anda perlu menginstal paket:
pip install sample-factory
SF diketahui dapat berjalan di Linux dan MacOS. Saat ini, tidak ada dukungan untuk Windows.
Memuat model dari Hub
Menggunakan load_from_hub
Untuk mengunduh model dari Hugging Face Hub untuk digunakan dengan Sample-Factory, gunakan skrip load_from_hub:
python -m sample_factory.huggingface.load_from_hub -r <HuggingFace_repo_id> -d <train_dir_path>Argumen baris perintahnya adalah:
-r: ID repo untuk repositori HF yang akan diunduh. ID repo harus dalam format<username>/<repo_name>-d: Argumen opsional untuk menentukan direktori tempat eksperimen disimpan. Nilainya secara default adalah./train_diryang akan menyimpan repo ke./train_dir/<repo_name>
Unduh Repositori Model Secara Langsung
Repositori Hugging Face dapat diunduh langsung menggunakan git clone:
git clone git@hf.co:<Name of HuggingFace Repo> # example: git clone git@hf.co:bigscience/bloomMenggunakan Model yang Diunduh dengan Sample-Factory
Setelah mengunduh model, Anda dapat menjalankan model di repo dengan skrip enjoy yang sesuai dengan lingkungan Anda. Misalnya, jika Anda mengunduh model mujoco-ant, model tersebut dapat dijalankan dengan:
python -m sf_examples.mujoco.enjoy_mujoco --algo=APPO --env=mujoco_ant --experiment=<repo_name> --train_dir=./train_dirPerlu dicatat, Anda mungkin perlu menentukan --train_dir jika path lokal train_dir Anda berbeda dengan yang ada di cfg.json
Berbagi model Anda
Menggunakan push_to_hub
Jika Anda ingin mengunggah tanpa menghasilkan metrik evaluasi atau video replay, Anda dapat menggunakan skrip push_to_hub:
python -m sample_factory.huggingface.push_to_hub -r <hf_username>/<hf_repo_name> -d <experiment_dir_path>Argumen baris perintahnya adalah:
-r: repo_id untuk disimpan di HF Hub. Ini sama denganhf_repositorydi skrip enjoy dan harus dalam bentuk<hf_username>/<hf_repo_name>-d: Path lengkap ke direktori eksperimen Anda untuk diunggah
Menggunakan enjoy.py
Anda dapat mengunggah model Anda ke Hub menggunakan skrip enjoy dari lingkungan Anda dengan flag --push_to_hub. Mengunggah menggunakan enjoy juga dapat menghasilkan metrik evaluasi dan video replay.
Metrik evaluasi dihasilkan dengan menjalankan model Anda pada lingkungan yang ditentukan selama sejumlah episode dan melaporkan rata-rata serta standar deviasi reward dari eksekusi tersebut.
Argumen baris perintah lain yang relevan adalah:
--hf_repository: Repositori yang akan dituju untuk push. Harus dalam bentuk<username>/<repo_name>. Model akan disimpan kehttps://huggingface.co/<username>/<repo_name>--max_num_episodes: Jumlah episode yang dievaluasi sebelum diunggah. Digunakan untuk menghasilkan metrik evaluasi. Disarankan untuk menggunakan beberapa episode guna menghasilkan rata-rata dan standar deviasi yang akurat.--max_num_frames: Jumlah frame yang dievaluasi sebelum diunggah. Alternatif untukmax_num_episodes--no_render: Flag yang menonaktifkan rendering dan tampilan langkah-langkah lingkungan. Disarankan untuk mengatur flag ini guna mempercepat proses evaluasi.
Anda juga dapat menyimpan video model selama evaluasi untuk diunggah ke hub dengan flag --save_video
--video_frames: Jumlah frame yang akan dirender dalam video. Nilainya secara default -1, yang merender seluruh episode--video_name: Nama video untuk disimpan. JikaNone, akan disimpan sebagaireplay.mp4di direktori eksperimen Anda
Sebagai contoh:
python -m sf_examples.mujoco_examples.enjoy_mujoco --algo=APPO --env=mujoco_ant --experiment=<repo_name> --train_dir=./train_dir --max_num_episodes=10 --push_to_hub --hf_username=<username> --hf_repository=<hf_repo_name> --save_video --no_render