1234567891011121314151617181920212223242526 |
- from __future__ import annotations
- import torch.nn
- import torch
- def get_param(model) -> torch.nn.Parameter:
- """
- Find the first parameter in a model or module.
- """
- if hasattr(model, "model") and hasattr(model.model, "parameters"):
- # Unpeel a model descriptor to get at the actual Torch module.
- model = model.model
- for param in model.parameters():
- return param
- raise ValueError(f"No parameters found in model {model!r}")
- def float64(t: torch.Tensor):
- """return torch.float64 if device is not mps or xpu, else return torch.float32"""
- match t.device.type:
- case 'mps', 'xpu':
- return torch.float32
- return torch.float64
|