morpheus.messages.memory.tensor_memory.TensorMemory
- class TensorMemory(*, count=None, tensors=None)[source]
Bases:
morpheus.messages.message_base.MessageData
This is a base container class for data that will be used for inference stages. This class is designed to hold generic tensor data in cupy arrays.
- Parameters
- count
- tensors
Length of each tensor contained in
tensors
.Collection of tensors uniquely identified by a name.
- Attributes
- tensor_names
Methods
get_tensor
(name)Get the Tensor stored in the container identified by name
.get_tensors
()Get the tensors contained by this instance. has_tensor
(name)Returns True if a tensor with the requested name exists in the tensors object set_tensor
(name, tensor)Update the tensor identified by name
.set_tensors
(tensors)Overwrite the tensors stored by this instance. - get_tensor(name)[source]
Get the Tensor stored in the container identified by
name
.- Parameters
- name
Tensor key name.
- Returns
- cupy.ndarray
Tensor.
- Raises
- KeyError
If tensor name does not exist in the container.
- get_tensors()[source]
Get the tensors contained by this instance. It is important to note that when C++ execution is enabled the returned tensors will be a Python copy of the tensors stored in the C++ object. As such any changes made to the tensors will need to be updated with a call to
set_tensors
.- Returns
- typing.Dict[str, cp.ndarray]
- has_tensor(name)[source]
Returns True if a tensor with the requested name exists in the tensors object
- Parameters
- name
Name to lookup
- Returns
- bool
True if the tensor was found
- set_tensor(name, tensor)[source]
Update the tensor identified by
name
.- Parameters
- name
- tensor
Tensor key name.
Tensor as a CuPy array.
- Raises
- ValueError
If the number of rows in
tensor
does not matchcount
- set_tensors(tensors)[source]
Overwrite the tensors stored by this instance. If the length of the tensors has changed, then the
count
property should also be updated.- Parameters
- tensors
Collection of tensors uniquely identified by a name.