Implementation:Facebookresearch Habitat lab PointNavResNetPolicy from config
| Knowledge Sources | |
|---|---|
| Domains | Deep_Learning, Reinforcement_Learning, Computer_Vision |
| Last Updated | 2026-02-15 02:00 GMT |
Overview
Concrete factory method for constructing the ResNet-based visual navigation policy from a Habitat config, provided by the habitat-baselines package.
Description
The PointNavResNetPolicy.from_config class method constructs a complete actor-critic policy network for point-goal navigation. It instantiates a ResNetEncoder for processing visual observations, a RNNStateEncoder (GRU by default) for temporal integration, and linear action/value heads. The architecture is configured via the experiment config, supporting ResNet-18/50 backbones, variable hidden sizes, and optional visual input normalization.
Usage
This method is called during `PPOTrainer._init_train()` to construct the policy network. It reads architecture parameters from config and adapts to the environment's observation and action spaces.
Code Reference
Source Location
- Repository: habitat-lab
- File: habitat-baselines/habitat_baselines/rl/ddppo/policy/resnet_policy.py
- Lines: L115-162 (from_config), L402-603 (PointNavResNetNet.__init__)
Signature
class PointNavResNetPolicy(NetPolicy):
@classmethod
def from_config(
cls,
config: DictConfig,
observation_space: spaces.Dict,
action_space,
**kwargs,
) -> "PointNavResNetPolicy":
"""
Construct policy from config.
Args:
config: DictConfig with policy architecture parameters
observation_space: Dict space from environment
action_space: Discrete or continuous action space
Returns:
PointNavResNetPolicy instance
"""
Import
from habitat_baselines.rl.ddppo.policy.resnet_policy import PointNavResNetPolicy
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| config | DictConfig | Yes | Experiment config with `habitat_baselines.rl.policy` section |
| observation_space | spaces.Dict | Yes | Environment observation space (defines which visual inputs exist) |
| action_space | Space | Yes | Environment action space (discrete or continuous) |
Outputs
| Name | Type | Description |
|---|---|---|
| policy | PointNavResNetPolicy | Complete actor-critic policy with ResNet encoder + GRU + action/value heads |
Usage Examples
Construct Policy from Config
from habitat_baselines.rl.ddppo.policy.resnet_policy import PointNavResNetPolicy
# Construct policy from config (typically done inside PPOTrainer._init_train)
policy = PointNavResNetPolicy.from_config(
config=config,
observation_space=envs.observation_spaces[0],
action_space=envs.action_spaces[0],
)
policy.to(device)