Hugging Face Hubへようこそ、Stable-baselines3さん🤗

Welcome to Hugging Face Hub, Stable-baselines3! 🤗

私たちはHugging Faceで、深層強化学習の研究者や愛好家向けのエコシステムに貢献しています。そのため、私たちはStable-Baselines3をHugging Face Hubに統合したことをお知らせできることをうれしく思っています。

Stable-Baselines3は、最も人気のあるPyTorch深層強化学習ライブラリの1つであり、さまざまな環境(Gym、Atari、MuJoco、Procgenなど)でエージェントのトレーニングとテストを簡単に行うことができます。この統合により、保存されたモデルをホストできるようになり、コミュニティから強力なモデルをロードすることができます。

この記事では、その方法を紹介します。

インストール

Hugging Face Hubでstable-baselines3を使用するには、次の2つのライブラリをインストールする必要があります。

pip install huggingface_hub
pip install huggingface_sb3

モデルの検索

現在、Space Invaders、Breakout、LunarLanderなどをプレイするエージェントの保存されたモデルをアップロードしています。さらに、コミュニティからすべてのstable-baselines-3モデルをここで見つけることができます。

必要なモデルを見つけたら、リポジトリIDをコピーするだけです。

Hubからモデルをダウンロードする

この統合の最もクールな機能は、HubからStable-baselines3に保存されたモデルを非常に簡単にロードできることです。

そのためには、保存されたモデルを含むリポジトリのrepo-idと、リポジトリ内の保存されたモデルzipファイルの名前をコピーする必要があります。

例えば、sb3/demo-hf-CartPole-v1 :

import gym

from huggingface_sb3 import load_from_hub
from stable_baselines3 import PPO
from stable_baselines3.common.evaluation import evaluate_policy

# ハブからモデルを取得する
## repo_id = Hugging Face HubのモデルリポジトリのID(repo_id = {organization}/{repo_name})
## filename = リポジトリ内のモデルzipファイルの名前(拡張子 .zip を含む)
checkpoint = load_from_hub(
    repo_id="sb3/demo-hf-CartPole-v1",
    filename="ppo-CartPole-v1.zip",
)
model = PPO.load(checkpoint)

# エージェントを評価して観察する
eval_env = gym.make("CartPole-v1")
mean_reward, std_reward = evaluate_policy(
    model, eval_env, render=True, n_eval_episodes=5, deterministic=True, warn=False
)
print(f"mean_reward={mean_reward:.2f} +/- {std_reward}")

モデルをHubに共有する

たった1分で、保存されたモデルをHubで取得できます。

まず、モデルをアップロードするためにHugging Faceにログインする必要があります。

  • Colab/Jupyter Notebooksを使用している場合:
from huggingface_hub import notebook_login
notebook_login()
  • それ以外の場合:
huggingface-cli login

次に、この例ではCartPole-v1をプレイするためのPPOエージェントをトレーニングし、新しいリポジトリ ThomasSimonini/demo-hf-CartPole-v1 にプッシュします。

from huggingface_sb3 import push_to_hub
from stable_baselines3 import PPO

# MLPポリシーネットワークを使用したPPOモデルを定義する
model = PPO("MlpPolicy", "CartPole-v1", verbose=1)

# 10000ステップトレーニングする
model.learn(total_timesteps=10_000)

# モデルを保存する
model.save("ppo-CartPole-v1")

# この保存されたモデルをhfリポジトリにプッシュする
# このリポジトリが存在しない場合、作成されます
## repo_id = Hugging Face HubのモデルリポジトリのID(repo_id = {organization}/{repo_name})
## filename: model.save("ppo-CartPole-v1")内のファイルの名前 == "name"
push_to_hub(
    repo_id="ThomasSimonini/demo-hf-CartPole-v1",
    filename="ppo-CartPole-v1.zip",
    commit_message="Added Cartpole-v1 model trained with PPO",
)

それを試して、コミュニティとモデルを共有してみてください!

次は何ですか?

今後数週間から数ヶ月で、私たちはエコシステムを拡張する予定です:

  • RL-baselines3-zooを統合する
  • RL-trained-agentsモデルをHubにアップロードする:stable-baselines3を使用した予めトレーニングされた強化学習エージェントの大規模なコレクション
  • 他のディープ強化学習ライブラリを統合する
  • Decision Transformersの実装🔥
  • さらに多くが予定されています🥳

連絡を取り合う最良の方法は、私たちのディスコードサーバーに参加し、私たちやコミュニティと交流することです。

そして、より深く掘り下げたい場合は、次のことを学ぶチュートリアルを用意しました:

  • 月面で正しく着陸するためのDeep Reinforcement Learningランダーエージェントのトレーニング方法🌕
  • それをHubにアップロードする方法🚀

  • HubからSpace Invadersをプレイする保存済みモデルをダウンロードして使用する方法👾。

👉 チュートリアル

結論

Stable-baselines3で取り組んでいる内容や、Hubでのモデルの試用を楽しみにしています 😍。

また、フィードバックをお聞かせいただければ幸いです 💖。 📧 お気軽にご連絡ください。

最後に、このライブラリの統合において貴重な助けとなっていただいた、SB3チームと特にAntonin Raffinに感謝いたします 🤗。

ライブラリをHubに統合しますか?

この統合は、すべてのウィジェットとサポートされているライブラリのAPIを持つhuggingface_hubライブラリのおかげで可能です。もしライブラリをHubに統合したい場合は、ガイドがあります!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「Seerの最高データオフィサーであるDr. Serafim Batzoglouによるインタビューシリーズ」

セラフィム・バツォグルはSeerのチーフデータオフィサーですSeerに加わる前は、セラフィムはInsitroのチーフデータオフィサー...

人工知能

『DeepHowのCEO兼共同創業者、サム・ジェン氏によるインタビューシリーズ』

ディープハウのCEO兼共同創設者であるサム・ジェンは、著名な投資家から支持される急速に進化するスタートアップを率いていま...

人工知能

ディープAIの共同創業者兼CEO、ケビン・バラゴナ氏- インタビューシリーズ

ディープAIの創設者であるケビン・バラゴナは、10年以上の経験を持つプロのソフトウェアエンジニア兼製品開発者です彼の目標...

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

人工知能

「UVeyeの共同設立者兼CEO、アミール・ヘヴェルについてのインタビューシリーズ」

アミール・ヘヴァーは、UVeyeのCEO兼共同創設者であり、高速かつ正確な異常検出により、自動車およびセキュリティ産業に直面...

人工知能

「シフトのCEOであるクリス・ナーゲル – インタビューシリーズ」

クリスはSiftの最高経営責任者です彼は、Ping Identityを含むベンチャー支援および公開SaaS企業のシニアリーダーシップポジシ...