Browse Source

torch_utils.float64

return torch.float64 if device is not mps or xpu, else return torch.float32
w-e-w 1 year ago
parent
commit
9c8075ba8e
1 changed files with 9 additions and 0 deletions
  1. 9 0
      modules/torch_utils.py

+ 9 - 0
modules/torch_utils.py

@@ -1,6 +1,7 @@
 from __future__ import annotations
 
 import torch.nn
+import torch
 
 
 def get_param(model) -> torch.nn.Parameter:
@@ -15,3 +16,11 @@ def get_param(model) -> torch.nn.Parameter:
         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