EN

Neural Network Libraries v1.39.0とnnabla-rl v0.15.0をリリースしました!

2024年5月30日 木曜日

リリース

Posted by Tomonobu Tsujikawa

Neural Network Libraries v1.39.0 をリリースしました!
このリリースに伴い、nnabla-rlv0.15.0 にアップデートしました!
重要なリリースアイテムはSpotlightをご確認ください。

Spotlight

nnabla: Add mlflow autolog to monitors

nnablaのMonitorにMLFlowのサポートを追加しました。
学習時にnnablaのMonitorが自動的にデータをMLflowのmetricsとして保存します。
以下は簡単なtrain.pyの例です:

import nnabla.autolog as autolog
import mlflow
from nnabla.monitor import Monitor, MonitorSeries

mlflow.set_experiment("a-quick-example")

# Start autolog
autolog.autolog(with_save_parameters=True)

# Create monitor
monitor = Monitor('./')
metric_monitor = MonitorSeries("metric", monitor, 1)

with mlflow.start_run():
    # Training-loop
    for i in range(10):
        # Do something here
        metric_monitor.add(i, i * 2)
        # Do something here

# Stop autolog
autolog.stop_autolog()

以下のnnabla MonitorがMLflowをサポートしています:

  • MonitorSeries
  • MonitorTimeElapsed
  • MonitorImage
  • MonitorImageTile

事前にmlflowをインストールしてください:

$ pip install mlflow

パラメータをMLflowのartifactとして自動的に保存するには、with_save_parameters=Trueを渡してください。

MLflowのTrackingを介してローカルで学習結果を確認することができます:

$ python train.py
$ mlflow ui --port 8080

ブラウザで http://localhost:8080/ にアクセスしてください。

また既にMLflow Trackingサーバがある場合は:

$ export MLFLOW_TRACKING_URI=http://your-tracking-server:port
$ python train.py

ブラウザで http://your-tracking-server:port/ にアクセスしてください。

nnabla-rl: Support Gymnasium

ついにGymnasiumがこの新しいバージョンのnnabla-rlでサポートされました.
Gymnasium2GymWrapperを利用することで簡単にGymnasiumの各環境をnnabla-rlで学習させられます.
こちらはGymnasiumのpendulumをDDPGで学習する簡単な例です:

import gymnasium as gym
from nnabla_rl.environments.wrappers.gymnasium import Gymnasium2GymWrapper

env = gym.make('Pendulum-v1')
# Wrap the environment
env = Gymnasium2GymWrapper(env)

# Now, you can use the Gymnasium environment with nnablaRL algorithms!
config = A.DDPGConfig(start_timesteps=200, gpu_id=0)
ddpg = A.DDPG(train_env, config=config)
ddpg.train(train_env, total_iterations=10000)

たくさんの新しいアルゴリズムがnnabla-rlに実装されました!

以下の新しいアルゴリズムが今回のリリースからサポートされました!:
HyAR: Addressing Discrete-Continuous Action Reinforcement Learning via Hybrid Action Representation(HyAR)
Sample-Efficient Reinforcement Learning by Breaking the Replay Ratio Barrier(SRSAC)
AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control(AMP)

Algorithm highlight: AMP

自然なモーションを生成しながら目的のタスクを達成する方策を学習する強化学習アルゴリズムのAMP (Adversarial Motion Priors for Stylized Physics-Based Character Control)が追加されました。
我々の実装はAMPの元論文と同等の性能を各タスクで達成できることを確認しています。より詳しくはこちらのAMPの再現コードをご確認ください.

 


nnabla

BugFix

Utilities

Build

Format Converter

Document

 


nnabla-rl

Support

BugFix

Algorithm

Utility