以前こちらの記事で作成した環境が古くなっていたのと、そもそも環境自体をアップデートしてみたかったので、
まずは新しい形式に変換してみました。
新しい環境はDTOを絡めていきたいのでgym-fx-dtoというリポジトリを作成します。
構成の変更
OpenAI Gymのサンプルを参考に下記のような構成で作り直します。
gym-fx-dto/ README.md setup.py gym_fx_dto/ __init__.py envs/ __init__.py fx_dto_env.py
setup.py
from setuptools import setup setup(name='gym_fx_dto', version='0.0.1', install_requires=['gym', 'numpy', 'pandas', 'python-dateutil'] )
gym_fx_dto/init.py
from gym.envs.registration import register register( id='FxDtoEnv-v0', entry_point='gym_fx_dto.envs:FxDtoEnv', )
gym_fx_dto/envs/init.py
from gym_fx_dto.envs.fx_dto_env import FxDtoEnv
インストール方法
READMEに書いていますがpip形式になっているので下記のようなコマンドでインストールします。
cd gym-fx-dto pip install -e .
メソッドの変更
そのまま実行すると下記のようなワーニングメッセージが表示されます。
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype. WARN: Environment '<class 'gym_fx_dto.envs.fx_dto_env.FxDtoEnv'>' has deprecated methods '_step' and '_reset' rather than 'step' and 'reset'. Compatibility code invoked. Set _gym_disable_underscore_compat = True to disable this behavior.
_reset, _step
というメソッドが非推奨になり、
アンダーバーがとれたreset, step
という名前が推奨になっているので、変更します。
なぜかメッセージにはありませんが_render
もrender
にしなければならないので一緒に変えておきましょう。