Spaces:
Running
on
Zero
Running
on
Zero
| import torch | |
| from typing import Any | |
| from .renderer import Renderer | |
| from .mesh_renderer import MeshRenderer | |
| from .skeleton_renderer import SkeletonRenderer | |
| from .pose_utils import eval_pose, Evaluator | |
| def recursive_to(x: Any, target: torch.device): | |
| """ | |
| Recursively transfer a batch of data to the target device | |
| Args: | |
| x (Any): Batch of data. | |
| target (torch.device): Target device. | |
| Returns: | |
| Batch of data where all tensors are transfered to the target device. | |
| """ | |
| if isinstance(x, dict): | |
| return {k: recursive_to(v, target) for k, v in x.items()} | |
| elif isinstance(x, torch.Tensor): | |
| return x.to(target) | |
| elif isinstance(x, list): | |
| return [recursive_to(i, target) for i in x] | |
| else: | |
| return x | |