pytoune¶
Utils¶
These utils functions only support the following basic Python types: tuple, list and dict.

pytoune.
torch_to_numpy
(obj, copy=False)[source]¶ Convert to Numpy arrays all tensors inside a Python object composed of the supported types.
Parameters:  obj – The Python object to convert.
 copy (bool) – Whether to copy the memory. By default, if a tensor is already on CPU, the Numpy array will be a view of the tensor.
Returns: A new Python object with the same structure as obj but where the tensors are now Numpy arrays. Not supported type are left as reference in the new object.
Example
>>> from pytoune import torch_to_numpy >>> torch_to_numpy({ ... 'first': torch.tensor([1, 2, 3]), ... 'second':[torch.tensor([4,5,6]), torch.tensor([7,8,9])], ... 'third': 34 ... }) { 'first': array([1, 2, 3]), 'second': [array([4, 5, 6]), array([7, 8, 9])], 'third': 34 }
 See:
 pytoune.torch_apply for supported types.

pytoune.
numpy_to_torch
(obj)[source]¶ Convert to tensors all Numpy arrays inside a Python object composed of the supported types.
Parameters: obj – The Python object to convert. Returns: A new Python object with the same structure as obj but where the Numpy arrays are now tensors. Not supported type are left as reference in the new object. Example
>>> from pytoune import numpy_to_torch >>> numpy_to_torch({ ... 'first': np.array([1, 2, 3]), ... 'second':[np.array([4,5,6]), np.array([7,8,9])], ... 'third': 34 ... }) { 'first': tensor([1, 2, 3]), 'second': [tensor([4, 5, 6]), tensor([7, 8, 9])], 'third': 34 }

pytoune.
torch_apply
(obj, func)[source]¶ Apply a function to all tensors inside a Python object composed of the supported types.
Supported types are: list, tuple and dict.
Parameters:  obj – The Python object to convert.
 func – The function to apply.
Returns: A new Python object with the same structure as obj but where the tensors have been applied the function func. Not supported type are left as reference in the new object.