百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
返回工具页/返回 Issues 列表
#564·LivePortrait

[性能] 实现批量处理优化,推理速度提升 50-100%

作者: suntp创建于 2026年3月5日更新于 2026年3月5日

def process_batch(self, frames, batch_size=8): """Process frames in batches""" results = [] for i in range(0, len(frames), batch_size): batch = frames[i:i+batch_size]

    # Extract features in batches
    batch_tensor = torch.stack([
        self.prepare_source(frame) for frame in batch
    ])
    
    with torch.no_grad():
        # Batch inference
        kp_info_batch = self.get_kp_info_batch(batch_tensor)
        features_batch = self.extract_feature_3d_batch(batch_tensor)
    
    # Process results
    for j in range(len(batch)):
        result = self.process_single_result(
            kp_info_batch[j],
            features_batch[j]
        )
        results.append(result)

return results

def get_kp_info_batch(self, batch_tensor): """Extract keypoint information in batches""" with torch.no_grad(): kp_info = self.motion_extractor(batch_tensor) return kp_info

Use DataLoader

dataset = VideoDataset(frames) dataloader = DataLoader( dataset, batch_size=8, …

内容来源: KlingAIResearch/LivePortrait

查看 GitHub 原文在 GitHub 查看讨论