diff --git a/archive/v1/src/services/pose_service.py b/archive/v1/src/services/pose_service.py index 436c21f8a6..4b2f36ab51 100644 --- a/archive/v1/src/services/pose_service.py +++ b/archive/v1/src/services/pose_service.py @@ -107,16 +107,25 @@ async def initialize(self): async def _initialize_models(self): """Initialize neural network models.""" try: - # Initialize DensePose model + # Initialize DensePose model. DensePoseHead requires a config + # dict — input_channels matches the modality translator's output + # (256), with the standard DensePose 24 body parts and 2 (U,V) + # coordinates. (Previously called with no args → TypeError at + # startup, which broke the API service.) + densepose_config = { + 'input_channels': 256, + 'num_body_parts': 24, + 'num_uv_coordinates': 2, + } if self.settings.pose_model_path: - self.densepose_model = DensePoseHead() + self.densepose_model = DensePoseHead(densepose_config) # Load model weights if path is provided # model_state = torch.load(self.settings.pose_model_path) # self.densepose_model.load_state_dict(model_state) self.logger.info("DensePose model loaded") else: self.logger.warning("No pose model path provided, using default model") - self.densepose_model = DensePoseHead() + self.densepose_model = DensePoseHead(densepose_config) # Initialize modality translation config = {