Source code for ADFWI.utils.utils

import numpy as np
import torch

##########################################################################
#                          numpy <=====> tensor     
##########################################################################

[docs]def numpy2tensor(a,dtype=torch.float32): """transform numpy data into tensor """ if not torch.is_tensor(a): return torch.tensor(a,requires_grad=False,dtype=dtype) # return torch.from_numpy(a) else: return a
[docs]def tensor2numpy(a): """transform tensor data into numpy """ if not torch.is_tensor(a): return a else: return a.detach().numpy()
[docs]def gpu2cpu(a): if torch.is_tensor(a): if a.requires_grad: if a.device == 'cpu': a = a.detach().numpy() else: a = a.cpu().detach().numpy() else: if a.device == 'cpu': return a.numpy() else: return a.cpu().numpy() return a
########################################################################## # list <=====> numpy ##########################################################################
[docs]def list2numpy(a): """transform numpy data into tensor """ if isinstance(a,list): return np.array(a) else: return a
[docs]def numpy2list(a): """transform numpy data into tensor """ if not isinstance(a,list): return a.tolist() else: return a