Eager模式(Eager Mode) |
通过设置“eager”:True /“eager_tracing”:True配置选项可以在eager模式下运行用build_tf_policy构建的策略(大多数算法都是这样)。这将告诉RLlib在急切模式下执行模型的前向传递、动作分配、loss和stats函数。
由于您现在可以使用带有断点或Python print()的逐行调试来检查中间张量值,因此即时模式使调试更加容易。然而,Eager模式效率可以低于图模式。
使用pytorch |
实现了TorchPolicy的Trainer将允许你执行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
原文:https://www.cnblogs.com/itmorn/p/13777114.html