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

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...

データサイエンス

2023年にAmazonのデータサイエンティストになる方法は?

ほとんどのビジネスは現在、膨大な量のデータを生成し、編集し、管理しています。しかし、ほとんどのビジネスは、収集したデ...

人工知能

キャルレールの最高製品責任者、ライアン・ジョンソンへのインタビューシリーズ

ライアンは、初期のスタートアップからフォーチュン100の組織まで、多様なテクノロジーと製品開発のリーダーシップ経験を15年...

人工知能

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

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

人工知能

「パクストンAIの共同創業者兼CEO、タングイ・シャウ - インタビューシリーズ」

タングイ・ショウは、Paxton AIの共同創設者兼CEOであり、法的研究と起草の負担を軽減するためにGenerative AIを使用するプラ...

機械学習

3つの質問:大規模言語モデルについて、Jacob Andreasに聞く

CSAILの科学者は、最新の機械学習モデルを通じた自然言語処理の研究と、言語が他の種類の人工知能をどのように高めるかの調査...