打印 rllib 模型的模型摘要

Printing model summaries for rllib models

我在 rllib 文档中没有看到任何内容可以让我像 keras 中的 print(model.summary()) 一样打印模型的快速摘要。我尝试使用 tf-slim 和

variables = tf.compat.v1.model_variables()
slim.model_analyzer.analyze_vars(variables, print_info=True)

大致了解了tensorflow模型,但是这个发现模型初始化后没有变量(插入在ESTrainer class _init的末尾)。具体来说,我一直在尝试获取进化策略 (ES) 策略的摘要,以验证对模型配置的更改是否按预期更新,但我无法获得摘要打印工作。

有现成的方法吗?预计 slim 会在这里工作吗?

训练代理可以return允许您访问模型的策略:

agent = ppo.PPOTrainer(config, env=select_env)

policy = agent.get_policy()
policy.model.base_model.summary() # Prints the model summary

示例输出:

 Layer (type)                   Output Shape         Param #     Connected to                     
==================================================================================================
 observations (InputLayer)      [(None, 7)]          0           []                               
                                                                                                  
 fc_1 (Dense)                   (None, 256)          2048        ['observations[0][0]']           
                                                                                                  
 fc_value_1 (Dense)             (None, 256)          2048        ['observations[0][0]']           
                                                                                                  
 fc_2 (Dense)                   (None, 256)          65792       ['fc_1[0][0]']                   
                                                                                                  
 fc_value_2 (Dense)             (None, 256)          65792       ['fc_value_1[0][0]']             
                                                                                                  
 fc_out (Dense)                 (None, 5)            1285        ['fc_2[0][0]']                   
                                                                                                  
 value_out (Dense)              (None, 1)            257         ['fc_value_2[0][0]']             
                                                                                                  
==================================================================================================
Total params: 137,222
Trainable params: 137,222
Non-trainable params: 0