强化学习框架RLlib教程005:Training APIs的使用(四)Debug和外部API

目录

  Eager模式(Eager Mode)

  使用pytorch

  Episode Traces

  日志冗长(Log Verbosity)

  栈追踪(Stack Traces)

  外部应用API(External Application API)

  参考资料


 

Eager模式(Eager Mode)

 

通过设置eager:True /eager_tracing:True配置选项可以在eager模式下运行用build_tf_policy构建的策略(大多数算法都是这样)。这将告诉RLlib在急切模式下执行模型的前向传递、动作分配、lossstats函数。

 

由于您现在可以使用带有断点或Python print()的逐行调试来检查中间张量值,因此即时模式使调试更加容易。然而,Eager模式效率可以低于图模式。

 

 返回目录

 

使用pytorch

 

实现了TorchPolicyTrainer将允许你执行rllib train并带有控制参数--torch。如果算法没有实现torch版本就会报错。

 

 返回目录

 

Episode Traces

 

可以使用Data output API保存episode以便debug。例如下面的命令将会执行PPO,并保存episode

rllib train --run=PPO --env=CartPole-v0 \

    --config=‘{"output": "/tmp/debug", "output_compress_columns": []}‘

 

# episode traces will be saved in /tmp/debug, for example

output-2019-02-23_12-02-03_worker-2_0.json

output-2019-02-23_12-02-04_worker-1_0.json

 

 返回目录

 

日志冗长(Log Verbosity)

 

你可以控制trainer打印日志的级别,通过log_level。合理的值有:“DEBUG”, “INFO”, “WARN” (default), and “ERROR”。

 

 

 

rllib train --env=PongDeterministic-v4 \

 

    --run=A2C --config ‘{"num_workers": 2, "log_level": "DEBUG"}‘

 

 返回目录

 

栈追踪(Stack Traces)

 

可以使用ray stack命令在单个节点上转储所有Python工作程序的堆栈跟踪。这对于调试意外挂起或性能问题非常有用。

 

 返回目录

 

外部应用API(External Application API)

 

在一些例子(和外部环境交互)中,把RLlib当做一个独立的运行的server是一件有意义的事情,而不应该由RLlib自己管理外部的环境。

 

这个将会在后面的RLlib Environment中细谈

 

 返回目录

 

参考资料

 

在一些例子(和外部环境交互)中,把RLlib当做一个独立的运行的server是一件有意义的事情,而不应该由RLlib自己管理外部的环境。

 

这个将会在后面的RLlib Environment中细谈

 

 返回目录

 

强化学习框架RLlib教程005:Training APIs的使用(四)Debug和外部API

上一篇:win10安装frida的坑和总结


下一篇:win10无法访问github网站