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

人工知能

「クリス・サレンス氏、CentralReachのCEO - インタビューシリーズ」

クリス・サレンズはCentralReachの最高経営責任者であり、同社を率いて、自閉症や関連する障害を持つ人々のために優れたクラ...

人工知能

「ElaiのCEO&共同創業者、Vitalii Romanchenkoについてのインタビューシリーズ」

ヴィタリー・ロマンチェンコは、ElaiのCEO兼共同創設者であり、マイク、カメラ、俳優、スタジオの必要なく、個人が一流のビデ...

人工知能

「マーク・A・レムリー教授による生成AIと法律について」

データサイエンス内で新しい分野が現れ、研究内容が理解しにくい場合は、専門家やパイオニアと話すことが最善です最近、私た...

人工知能

Aaron Lee、Smith.aiの共同設立者兼CEO - インタビューシリーズ

アーロン・リーさんは、Smith.aiの共同創業者兼CEOであり、AIと人間の知性を組み合わせて、24時間365日の顧客エンゲージメン...

人工知能

アーティスの創設者兼CEO、ウィリアム・ウーによるインタビューシリーズ

ウィリアム・ウーは、Artisseの創設者兼CEOであり、ユーザーの好みに基づいて写真を精密に変更する技術を提供していますそれ...

人工知能

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

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