Installation
Pypiからインストールできます。
# 基本的な機能のみをインストール
$ pip install srl-framework
# 主要な拡張機能や補助的なライブラリも含めてインストール(※TensorFlowやPyTorchは含まれません)
$ pip install srl-framework[full]
Tensorflow/PyTorchは含まれないので別途インストールしてください。
- Tensorflow
tensorflow-probability[tf]
- PyTorch
Install options
SRLには追加機能を有効にするための extras オプション が用意されています。
これにより、標準機能に加えて、特定のユースケースに必要な外部ライブラリも一括でインストールすることが可能です。
利用可能な extras オプションと、それぞれに含まれるライブラリは以下です。
- なし
numpy
opencv-python
Pillow
pygame
- full
「なし」に以下が追加されます
gymnasium
matplotlib
pandas
psutil
pynvml
redis
mlflow
pybind11
setuptools
- dev
「full」に以下が追加されます
pytest
pytest-mock
pytest-timeout
Download(No install)
本フレームワークはインストールしないでも使う事ができます。
本フレームワークをダウンロード後、srlディレクトリに実行パスが通っていれば使うことができます。
# Download srl files
$ git clone https://github.com/pocokhc/simple_distributed_rl.git
import os
import sys
assert os.path.isdir("./simple_distributed_rl/srl/") # Location of srl
sys.path.insert(0, "./simple_distributed_rl/")
import srl
print(srl.__version__)
各ライブラリについて
必須ライブラリ
numpy
その他のライブラリ
- Tensorflow が必要なアルゴリズムを使用する場合に必要
tensorflow
tensorflow-probability
- Torch が必要なアルゴリズムを使用する場合に必要
torch
- 画像関係の機能を使用する場合に必要
pillow
opencv-python
pygame
- OpenAI Gym の環境を使用する場合に必要
gym or gymnasium
pygame
- historyによる統計情報を扱う場合に必要
pandas
matplotlib
- ハードウェアの統計情報を表示する場合に必要
psutil
pynvml
- クラウド/ネットワークによる分散学習を使用する場合に必要
redis
- 学習を管理する場合に必要
mlflow
- C++の拡張を使用する場合に必要
pybind11
setuptools
Sample code
動作確認用のサンプルコードは以下です。
import srl
from srl.algorithms import ql # algorithm load
def main():
# create Runner
runner = srl.Runner("Grid", ql.Config())
# train
runner.train(timeout=10)
# evaluate
rewards = runner.evaluate()
print(f"evaluate episodes: {rewards}")
if __name__ == "__main__":
main()