tensor
cast_to_device
¶
cast_to_device(value: T, *, device: str | int | device | None = None, dtype: dtype | None = None) -> T
Make a deep copy of value, casting all tensors to the given device and dtype.
Adapted from: https://github.com/pytorch/pytorch/blob/49444c3e546bf240bed24a101e747422d1f8a0ee/torch/optim/optimizer.py#L209C1-L225C29.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value |
T
|
The value to recursively copy and cast. |
required |
device |
str | int | device | None
|
The device to cast tensors to. |
None
|
dtype |
dtype | None
|
The dtype to cast tensors. Only applied to floating point tensors. |
None
|
Returns:
Type | Description |
---|---|
T
|
The copied and casted value. |
collect_devices
¶
collect_floating_point_dtypes
¶
collect_floating_point_dtypes(value: Tensor | dict[Any, Any] | UserDict[Any, Any] | Iterable[Any] | Any) -> set[torch.dtype]
Collect all floating point dtypes in the given value.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value |
Tensor | dict[Any, Any] | UserDict[Any, Any] | Iterable[Any] | Any
|
The value to recursively collect floating point dtypes from. |
required |
Returns:
Type | Description |
---|---|
set[torch.dtype]
|
The set of all floating point dtypes in the given value. |
hash_tensor_data
¶
hash_tensor_data(tensor: Tensor) -> int
Compute the hash of the tensor's data represented as a string.
Note
Since 0 and -0 have different byte representations, they will produce different hash values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
tensor |
Tensor
|
The tensor whose data to hash. |
required |
Returns:
Type | Description |
---|---|
int
|
The hash of the tensor's data. |
Changed in version 0.76.0: Moved hash_tensor to its own utility and renamed for clarity that the hash operates on the tensor data.