Closed sakakibara-yuuki closed 1 year ago
OSSかどうかを探す。 torchrl のlicense minariのlicense
torchrlはMIT minariはよくわからない
minariもMITっぽい Minariで行ってみる
document に従ってインストールしてみる pyenv local 3.9.13 pip install minari
なお
cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.2 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.2 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy
そもそもreadmeからはじめればよいのか documentsのbasic-usageからはじめればよいのかわからない
よくよくreadmeよんだらbasic-usageから始めろと言われたのでそっちから始める
from minari import DataCollectorV0
import gymnasium as gym
env = gym.make('LunarLander-v2')
env = DataCollectorV0(env, record_infos=True, max_buffer_steps=100000)
を実行する。 python sample.py expected: 何も表示されない result: error
Traceback (most recent call last):
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 15, in <module>
import Box2D
ModuleNotFoundError: No module named 'Box2D'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/sakakibara/Minari/sample.py", line 5, in <module>
env = gym.make('LunarLander-v2')
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 756, in make
env_creator = load_env_creator(env_spec.entry_point)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 545, in load_env_creator
mod = importlib.import_module(mod_name)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/__init__.py", line 1, in <module>
from gymnasium.envs.box2d.bipedal_walker import BipedalWalker, BipedalWalkerHardcore
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 25, in <module>
raise DependencyNotInstalled(
gymnasium.error.DependencyNotInstalled: Box2D is not installed, run `pip install gymnasium[box2d]`
gymnasiumをinstallしてないってエラーが出た。
それはそう。
しかし、ドキュメントにはpip install gymnasium
しろって書いてない。
pip install gymnasium[box2d]
をする。
install 成功
もう一度 python sample.py
python sample.py
expected: 何も表示されない result: 何も表示されない
成功した。
というかそもそもドキュメントのコードブロックにコピーボタンが欲しい
Save-dataset に載っている以下のコードをsample2.pyとする。
import minari
import gymnasium as gym
from minari import DataCollectorV0
env = gym.make('LunarLander-v2')
env = DataCollectorV0(env, record_infos=True, max_buffer_steps=100000)
total_episodes = 100
for _ in range(total_episodes):
env.reset(seed=123)
while True:
# random action policy
action = env.action_space.sample()
obs, rew, terminated, truncated, info = env.step(action)
if terminated or truncated:
break
dataset = minari.create_dataset_from_collector_env(dataset_id="LunarLander-v2-test-v0",
collector_env=env,
algorithm_name="Random-Policy",
code_permalink="https://github.com/Farama-Foundation/Minari",
author="Farama",
author_email="contact@farama.org")
python sample2.py
expected: 何も表示されない results:
Traceback (most recent call last):
File "/home/sakakibara/Minari/sample2.py", line 16, in <module>
obs, rew, terminated, truncated, info = env.step(action)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/minari/data_collector/data_collector.py", line 213, in step
assert self.dataset_observation_space.contains(
AssertionError: Observations are not in observation space.
予想されている観測空間が実際に出力された観測空間とあっていない....?というエラー?
TODO
1をやって時間をあまり次第3をやることとする。
basic-usage の Installation
のpip install minari
をコードブロックにすること
-->
Collecting Dataのコードを実行する前にpip install gymnasium
を挿入する。
Expected Result: DataCollectorV0 classのenvインスタンスが生成される
Acutual Result:
Traceback (most recent call last):
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 15, in <module>
import Box2D
ModuleNotFoundError: No module named 'Box2D'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/sakakibara/Minari/sample.py", line 5, in <module>
env = gym.make('LunarLander-v2')
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 756, in make
env_creator = load_env_creator(env_spec.entry_point)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 545, in load_env_creator
mod = importlib.import_module(mod_name)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/__init__.py", line 1, in <module>
from gymnasium.envs.box2d.bipedal_walker import BipedalWalker, BipedalWalkerHardcore
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 25, in <module>
raise DependencyNotInstalled(
gymnasium.error.DependencyNotInstalled: Box2D is not installed, run `pip install gymnasium[box2d]`
以下のコードをsample.pyとする
from minari import DataCollectorV0
import gymnasium as gym
env = gym.make('LunarLander-v2')
env = DataCollectorV0(env, record_infos=True, max_buffer_steps=100000)
やったこと
pyenv local 3.9.13
python -m venv Minari
pip install minari
python sample.py
Python 3.9.13 pyenv 2.3.22-1-g51166377 pip 22.0.4 from /home/sakakibara/Minari/Minari/.Minari/lib/python3.9/site-packages/pip (python 3.9) below is information about Ubuntu
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
collecting usage を実行したら、下記の問題に直面したので解決するため
# sample.py
from minari import DataCollectorV0
import gymnasium as gym
env = gym.make('LunarLander-v2')
env = DataCollectorV0(env, record_infos=True, max_buffer_steps=100000)
$ pyenv local 3.9.13
$ python -m venv Minari
$ pip install minari
$ python sample.py
Expected Result: DataCollectorV0のインスタンスenvが生成される
Actual Result: 下記のエラーに直面する。
Traceback (most recent call last):
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 15, in <module>
import Box2D
ModuleNotFoundError: No module named 'Box2D'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/sakakibara/Minari/sample.py", line 5, in <module>
env = gym.make('LunarLander-v2')
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 756, in make
env_creator = load_env_creator(env_spec.entry_point)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 545, in load_env_creator
mod = importlib.import_module(mod_name)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/__init__.py", line 1, in <module>
from gymnasium.envs.box2d.bipedal_walker import BipedalWalker, BipedalWalkerHardcore
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 25, in <module>
raise DependencyNotInstalled(
gymnasium.error.DependencyNotInstalled: Box2D is not installed, run `pip install gymnasium[box2d]`
Added a step to install "gymnasium" in docs/content/basic_usage.md
During the "collecting usage" step, I face the following problem, which I will try to resolve.
$ python sample.py
Traceback (most recent call last):
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 15, in <module>
import Box2D
ModuleNotFoundError: No module named 'Box2D'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/sakakibara/Minari/sample.py", line 5, in <module>
env = gym.make('LunarLander-v2')
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 756, in make
env_creator = load_env_creator(env_spec.entry_point)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 545, in load_env_creator
mod = importlib.import_module(mod_name)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/__init__.py", line 1, in <module>
from gymnasium.envs.box2d.bipedal_walker import BipedalWalker, BipedalWalkerHardcore
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 25, in <module>
raise DependencyNotInstalled(
gymnasium.error.DependencyNotInstalled: Box2D is not installed, run `pip install gymnasium[box2d]`
# sample.py
from minari import DataCollectorV0
import gymnasium as gym
env = gym.make('LunarLander-v2')
env = DataCollectorV0(env, record_infos=True, max_buffer_steps=100000)
$ pyenv local 3.9.13
$ python -m venv Minari
$ pip install minari
$ python sample.py
Expected Result: Instance env of DataCollectorV0 is created.
Actual Result: the below problem is happened.
Traceback (most recent call last):
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 15, in <module>
import Box2D
ModuleNotFoundError: No module named 'Box2D'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/sakakibara/Minari/sample.py", line 5, in <module>
env = gym.make('LunarLander-v2')
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 756, in make
env_creator = load_env_creator(env_spec.entry_point)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/registration.py", line 545, in load_env_creator
mod = importlib.import_module(mod_name)
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/__init__.py", line 1, in <module>
from gymnasium.envs.box2d.bipedal_walker import BipedalWalker, BipedalWalkerHardcore
File "/home/sakakibara/.pyenv/versions/3.9.13/lib/python3.9/site-packages/gymnasium/envs/box2d/bipedal_walker.py", line 25, in <module>
raise DependencyNotInstalled(
gymnasium.error.DependencyNotInstalled: Box2D is not installed, run `pip install gymnasium[box2d]`
Before | After |
---|---|
変更前のスクリーンショットを貼る | 変更後のスクリーンショットを貼る |
^ Markdown の テーブルを利用すると変更前後の変化が見やすくなります! ref: https://www.markdownguide.org/extended-syntax/
おつかれさまでした!
ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません :ok_hand:
ワークショップの感想を集めています!
ブログなどに書かれた際は、このページへリンクの追加をお願いします :pray:
またの参加をお待ちしています!
This is a work log of a "OSS Gate workshop". "OSS Gate workshop" is an activity to increase OSS developers. Here's been discussed in Japanese. Thanks.
作業ログ作成時の説明
以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。
タイトル例↓:
OSS Gateワークショップ関連情報