StorageView
- class ctranslate2.StorageView
An allocated buffer with shape information.
The object implements the Array Interface and the CUDA Array Interface so that it can be passed to Numpy or PyTorch without copy.
Example
>>> x = np.ones((2, 4), dtype=np.int32) >>> y = ctranslate2.StorageView.from_array(x) >>> print(y) 1 1 1 ... 1 1 1 [cpu:0 int32 storage viewed as 2x4] >>> z = np.array(y) ... >>> x = torch.ones((2, 4), dtype=torch.int32, device="cuda") >>> y = ctranslate2.StorageView.from_array(x) >>> print(y) 1 1 1 ... 1 1 1 [cuda:0 int32 storage viewed as 2x4] >>> z = torch.as_tensor(y, device="cuda")
Inherits from:
pybind11_builtins.pybind11_objectAttributes:
Methods:
- static from_array(array: object) StorageView
Creates a
StorageViewfrom an object implementing the array interface.- Parameters
array – An object implementing the array interface (e.g. a Numpy array or a PyTorch Tensor).
- Returns
A new
StorageViewinstance sharing the same data as the input array.- Raises
ValueError – if the object does not implement the array interface or uses an unsupported array specification.
- to(dtype: DataType) StorageView
Converts the storage to another type.
- Parameters
dtype – The data type to convert to.
- Returns
A new
StorageViewinstance.
- to_device(device: Device) StorageView
Converts the storage to another device.
- Parameters
device – The device to copy the data to.
- Returns
A new
StorageViewinstance.
- property device
Device where the storage is allocated (“cpu” or “cuda”).
- property device_index
Device index.
- property dtype
Data type used by the storage.
- property shape
Shape of the storage view.