This class implements a container object that represents a tensor in memory (host and remote/accelerated) More...
#include <ie_blob.h>
Public Types | |
using | Ptr = std::shared_ptr< MemoryBlob > |
A smart pointer to the MemoryBlob object. |
|
using | CPtr = std::shared_ptr< const MemoryBlob > |
A smart pointer to the const MemoryBlob object. |
|
Public Types inherited from InferenceEngine::Blob | |
using | Ptr = std::shared_ptr< Blob > |
A smart pointer containing Blob object. |
|
using | CPtr = std::shared_ptr< const Blob > |
A smart pointer to the const Blob object. |
|
Public Member Functions | |
virtual | ~MemoryBlob ()=default |
MemoryBlob virtual destructor. |
|
MemoryBlob (const TensorDesc &tensorDesc) | |
Constructor. Creates an empty MemoryBlob object with the specified precision. More... |
|
const TensorDesc & | getTensorDesc () const noexcept override |
Returns the tensor description. |
|
TensorDesc & | getTensorDesc () noexcept override |
Returns the tensor description. |
|
size_t | size () const noexcept override |
Returns the total number of elements, which is a product of all the dimensions. |
|
size_t | byteSize () const noexcept override |
Returns the size of the current Blob in bytes. |
|
size_t | element_size () const noexcept override=0 |
Returns the number of bytes per element. The overall MemoryBlob capacity is size() * element_size(). Abstract method. |
|
void | allocate () noexcept override=0 |
Allocates memory to store the data. Abstract method. |
|
bool | deallocate () noexcept override=0 |
Releases previously allocated data. Abstract method. |
|
LockedMemory< void > | buffer () noexcept override=0 |
Gets access to the allocated memory. Abstract method. More... |
|
LockedMemory< const void > | cbuffer () const noexcept override=0 |
Gets read-only access to the allocated memory. Abstract method. More... |
|
Public Member Functions inherited from InferenceEngine::Blob | |
Precision | type () const noexcept |
Returns the tensor precision of the current Blob object. More... |
|
Precision | precision () const noexcept |
Returns the tensor precision of the current Blob object. More... |
|
Layout | layout () const noexcept |
Returns the tensor layout of the current Blob object. More... |
|
virtual | ~Blob ()=default |
Blob virtual destructor. |
|
template<typename T , typename std::enable_if< !std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
bool | is () noexcept |
Checks if the Blob object can be cast to the type T*. More... |
|
template<typename T , typename std::enable_if< !std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
bool | is () const noexcept |
Checks if the Blob object can be cast to the type const T*. More... |
|
template<typename T , typename std::enable_if< !std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
T * | as () noexcept |
Casts this Blob object to the type T*. Use InferenceEngine::as() to operate with shared Blob objects instead of raw pointers. More... |
|
template<typename T , typename std::enable_if< !std::is_pointer< T >::value &&!std::is_reference< T >::value, int >::type = 0, typename std::enable_if< std::is_base_of< Blob, T >::value, int >::type = 0> | |
const T * | as () const noexcept |
Casts this Blob object to the type const T*. Use InferenceEngine::as() to operate with shared Blob objects instead of raw pointers. More... |
|
Blob (const TensorDesc &tensorDesc) | |
Constructor. Creates an empty Blob object with the specified precision. More... |
|
Blob (Precision p) | |
Constructor. Creates an empty Blob object with the specified precision. More... |
|
Blob (Precision p, Layout l) | |
The constructor creates an empty Blob object with the specified precision and layout. More... |
|
Blob (Precision p, const SizeVector &dims) | |
The constructor creates an empty Blob object with the specified precision and dimensions. More... |
|
Blob (Precision p, Layout l, const SizeVector &dims) | |
The constructor creates an empty Blob object with the specified precision, layout and dimensions. More... |
|
size_t | Resize (const SizeVector &dims, Layout layout=Layout::ANY) noexcept |
Changes Tensor size to the specified dimensions. If it was allocated, the previous data is deallocated and lost. More... |
|
size_t | Reshape (const SizeVector &dims, Layout layout=Layout::ANY) noexcept |
Changes tensor size to the specified dimensions without changing memory. The total size remains unchanged as well as the memory layout. More... |
|
const SizeVector | dims () const noexcept |
Returns the tensor dimensions vector with reversed order. More... |
|
Protected Member Functions | |
const std::shared_ptr< IAllocator > & | getAllocator () const noexcept override=0 |
Gets the allocator for allocator-based blobs. More... |
|
void * | getHandle () const noexcept override=0 |
Gets the handle to allocated memory. More... |
|
Friends | |
template<typename > | |
class | TBlobProxy |
Additional Inherited Members | |
Static Public Member Functions inherited from InferenceEngine::Blob | |
static Ptr | CreateFromData (const DataPtr &data) |
Creates a TBlob<> object from a Data node. More... |
|
Static Protected Member Functions inherited from InferenceEngine::Blob | |
static size_t | product (const SizeVector &dims) noexcept |
Multiplies the dimension vector's values. More... |
|
Protected Attributes inherited from InferenceEngine::Blob | |
TensorDesc | tensorDesc |
The tensor descriptor of the given blob. |
|
This class implements a container object that represents a tensor in memory (host and remote/accelerated)
|
inlineexplicit |
Constructor. Creates an empty MemoryBlob object with the specified precision.
tensorDesc | Defines the layout and dims of the blob |
|
overridepure virtualnoexcept |
Gets access to the allocated memory. Abstract method.
Implements InferenceEngine::Blob.
Implemented in InferenceEngine::TBlob< T, typename >.
|
overridepure virtualnoexcept |
Gets read-only access to the allocated memory. Abstract method.
Implements InferenceEngine::Blob.
Implemented in InferenceEngine::TBlob< T, typename >.
|
overrideprotectedpure virtualnoexcept |
Gets the allocator for allocator-based blobs.
Implements InferenceEngine::Blob.
Implemented in InferenceEngine::TBlob< T, typename >.
|
overrideprotectedpure virtualnoexcept |
Gets the handle to allocated memory.
Implements InferenceEngine::Blob.
Implemented in InferenceEngine::TBlob< T, typename >.