2023年2月8日水曜日

OpenAi Gymを録画




せっかくなので動画をとろうと

ググってもコレといった解決策がないなか

参考になる部分はしつつ

video_recorder.pyの中身とか見ながら

たどり着いた回答が以下のコード

pythonはインデントにうるさかった

Atomエディタ終了してた

あと追加で色々いれた

sudo がないと not writeable とか言われた

sudo pip install --upgrade gym

sudo pip install gym[atari]

pip install ffmpeg

sudo pip install ffmpeg

sudo pip install imageio-ffmpeg

sudo pip install moviepy

    moviepyはvideo_recorder.pyの注意書きにあった


以下pythonのコード

内容はともかく

録画できたので良しとする


import gym

from gym.wrappers.monitoring.video_recorder import VideoRecorder

env=gym.make("LunarLander-v2",render_mode="rgb_array")

vid = VideoRecorder(env, "./video.mp4")

env.action_space.seed(42)

observation, info = env.reset(seed=42)

for _ in range(1000):

observation, reward, terminated, truncated, info = env.step(env.action_space.sample())

vid.capture_frame()

if terminated or truncated:

observation, info = env.reset()

env.close()

vid.close()

openai gym をインストールしてルナランダーを動かすまで





chatgptに
ローカルで使えないか聞いてみた
chatgptはgpt3が必要で
gpt3のモデルのサイズは173GBだけど
ダウンロードさせないしマシンパワーも必要だから
一般向けではないよといわれたので
openai gymを試すことにした

pip install openai
    コマンド 'pip' が見つかりません。次の方法でインストールできます:
    sudo apt install python3-pip
pipが入ったので
    sudo pip install openai
          Getting requirements to build wheel ... error
          error: subprocess-exited-with-error
エラー
pipのアップグレード?
     python3 -m pip install --upgrade pip
wheelはpandasの機能っぽい
    pip install pandas
    pip3.10 install openai
        Successfully built openai
openaiは入ったみたい
    sudo pip3.10 install requests numpy tqdm
tqdmはなぜ入れたのかわからないが一応

でgymのライブラリを追加
    !pip3 install gym[box2d]
              error: command 'swig' failed: No such file or directory
コマンドswigでfailed 入ってなかったのでインストールする
    sudo apt-get install swig

よくわからないので全部入れる
pip3.10 install requests numpy tqdm install gym[all]

これでgymは動いた

ルナランダーのコードは
Basic Usageにあったのを使う

import gym
from gym.utils.play import play
env = gym.make("LunarLander-v2", render_mode="human")
env.action_space.seed(42)

observation, info = env.reset(seed=42)

for _ in range(10000):
    observation, reward, terminated, truncated, info = env.step(env.action_space.sample())

    if terminated or truncated:
        observation, info = env.reset()

env.close()


これを 'runar.py'とかのファイル名で保存して
    cd 
でカレントディレクトリをファイルのあるディレクトリにして
    python3 runar.py

でデモが見れた














 

raspiでseleniumの自動化用のファイル作り直し

2024/2/17に不注意でraspiのsdカードを壊し jupyterファイルのバックアップを取らずにos再インストールを試みるという 愚行を重ねたためまたjupyterで作業ファイルを作ることになったので念の為 残しておく 途中なので要らない行も有るかも これだけ再現できれば...