Hub 文件

在 Hugging Face Hub 上使用 sample-factory

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

在 Hugging Face 上使用 sample-factory

sample-factory 是一個用於高吞吐量非同步強化學習的程式碼庫。它與 Hugging Face Hub 整合,可以共享包含評估結果和訓練指標的模型。

探索 Hub 中的 sample-factory

你可以在模型頁面左側進行篩選,找到 sample-factory 模型。

Hub 上的所有模型都附帶了有用的功能

  1. 一個自動生成的模型卡片,包含描述、訓練配置等資訊。
  2. 有助於發現的元資料標籤。
  3. 與其他模型進行比較的評估結果。
  4. 一個影片小部件,您可以在其中觀看您的智慧體執行任務。

安裝庫

要安裝 sample-factory 庫,你需要安裝該包

pip install sample-factory

已知 SF 可以在 Linux 和 MacOS 上執行。目前不支援 Windows。

從 Hub 載入模型

使用 load_from_hub

要從 Hugging Face Hub 下載模型以與 Sample-Factory 一起使用,請使用 load_from_hub 指令碼

python -m sample_factory.huggingface.load_from_hub -r <HuggingFace_repo_id> -d <train_dir_path>

命令列引數如下:

  • -r: 要下載的 HF 倉庫的 repo ID。repo ID 的格式應為 <username>/<repo_name>
  • -d: 一個可選引數,用於指定儲存實驗的目錄。預設為 ./train_dir,它將把倉庫儲存到 ./train_dir/<repo_name>

直接下載模型倉庫

Hugging Face 倉庫可以直接使用 git clone 下載

git clone git@hf.co:<Name of HuggingFace Repo> # example: git clone git@hf.co:bigscience/bloom

使用下載的模型與 Sample-Factory

下載模型後,你可以使用對應環境的 enjoy 指令碼執行倉庫中的模型。例如,如果你下載了一個 mujoco-ant 模型,可以使用以下命令執行:

python -m sf_examples.mujoco.enjoy_mujoco --algo=APPO --env=mujoco_ant --experiment=<repo_name> --train_dir=./train_dir

請注意,如果你的本地 `train_dir` 路徑與 `cfg.json` 中的路徑不同,你可能需要指定 `--train_dir`。

共享你的模型

使用 push_to_hub

如果你想在不生成評估指標或重放影片的情況下上傳,可以使用 push_to_hub 指令碼。

python -m sample_factory.huggingface.push_to_hub -r <hf_username>/<hf_repo_name> -d <experiment_dir_path>

命令列引數如下:

  • -r: 要推送到 HF Hub 的 repo_id。這與 enjoy 指令碼中的 hf_repository 相同,必須採用 <hf_username>/<hf_repo_name> 的形式。
  • -d: 要上傳的實驗目錄的完整路徑。

使用 enjoy.py

你可以使用環境的 enjoy 指令碼以及 --push_to_hub 標誌將模型上傳到 Hub。使用 enjoy 上傳還可以生成評估指標和重放影片。

評估指標是透過在指定環境中執行模型多個回合,並報告這些執行的平均獎勵和標準差來生成的。

其他相關命令列引數包括:

  • --hf_repository: 要推送到的倉庫。必須採用 <username>/<repo_name> 的形式。模型將儲存到 https://huggingface.co/<username>/<repo_name>
  • --max_num_episodes: 上傳前要評估的回合數。用於生成評估指標。建議使用多個回合以生成準確的平均值和標準差。
  • --max_num_frames: 上傳前要評估的幀數。max_num_episodes 的替代方案。
  • --no_render: 一個標誌,停用渲染和顯示環境步驟。建議設定此標誌以加快評估過程。

你還可以使用 --save_video 標誌儲存模型在評估期間的影片,以便上傳到 Hub。

  • --video_frames: 影片中要渲染的幀數。預設為 -1,表示渲染整個回合。
  • --video_name: 要儲存的影片名稱。如果為 None,則將儲存到實驗目錄中的 replay.mp4

例如:

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
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.