tensorflow:: Tensor
#include <tensor.h>Representa una matriz n-dimensional de valores.
Resumen
Constructores y destructores | |
|---|---|
Tensor () Crea un tensor flotante unidimensional de 0 elementos. | |
Tensor (DataType type, const TensorShape & shape) | |
Tensor (Allocator *a, DataType type, const TensorShape & shape) Crea un tensor con el type y shape de entrada, utilizando el asignador a para asignar el búfer subyacente. | |
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr) Crea un tensor con el type y shape de entrada, utilizando el asignador a y el atributo "allocation_attr" especificado para asignar el búfer subyacente. | |
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf) Crea un tensor con el tipo de dato, la forma y el búfer de entrada. | |
Tensor (DataType type) Crea un tensor vacío del tipo de datos especificado. | |
Tensor (float scalar_value) | |
Tensor (double scalar_value) | |
Tensor (int32 scalar_value) | |
Tensor (uint32 scalar_value) | |
Tensor (uint16 scalar_value) | |
Tensor (uint8 scalar_value) | |
Tensor (int16 scalar_value) | |
Tensor (int8 scalar_value) | |
Tensor (tstring scalar_value) | |
Tensor (complex64 scalar_value) | |
Tensor (complex128 scalar_value) | |
Tensor (int64 scalar_value) | |
Tensor (uint64 scalar_value) | |
Tensor (bool scalar_value) | |
Tensor (qint8 scalar_value) | |
Tensor (quint8 scalar_value) | |
Tensor (qint16 scalar_value) | |
Tensor (quint16 scalar_value) | |
Tensor (qint32 scalar_value) | |
Tensor (bfloat16 scalar_value) | |
Tensor (Eigen::half scalar_value) | |
Tensor (ResourceHandle scalar_value) | |
Tensor (const char *scalar_value) | |
Tensor (const Tensor & other) Constructor de copia. | |
Tensor ( Tensor && other) Constructor de movimiento. | |
~Tensor () |
Funciones públicas | |
|---|---|
AllocatedBytes () const | size_t |
AsProtoField (TensorProto *proto) const | void Rellena proto con el contenido de *this tensor. |
AsProtoTensorContent (TensorProto *proto) const | void |
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape) | Copia el otro tensor en este tensor, redimensiónalo y reinterpreta el tipo de datos del búfer. |
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT | bool Copia el otro tensor en este tensor y redimensiónalo. |
DebugString (int num_values) const | string Un resumen del tensor legible para humanos, adecuado para la depuración. |
DebugString () const | string |
DeviceSafeDebugString () const | string |
FillDescription (TensorDescription *description) const | void Rellene el proto TensorDescription con metadatos sobre el tensor que sean útiles para la monitorización y la depuración. |
FromProto (const TensorProto & other) TF_MUST_USE_RESULT | bool Analizar other y construir el tensor. |
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT | bool |
IsAligned () const | bool Devuelve verdadero si y solo si este tensor está alineado. |
IsInitialized () const | bool Si es necesario, ¿se ha inicializado este tensor ? |
IsSameSize (const Tensor & b) const | bool |
NumElements () const | int64 Accesorio práctico para la forma tensorial. |
SharesBufferWith (const Tensor & b) const | bool |
Slice (int64 dim0_start, int64 dim0_limit) const | Corta este tensor a lo largo de la primera dimensión. |
SubSlice (int64 index) const | Seleccione una subsección de este tensor a lo largo de la primera dimensión. |
SummarizeValue (int64 max_entries, bool print_v2) const | string Convierte los primeros valores max_entries en *this en una cadena. |
TotalBytes () const | size_t Devuelve el uso estimado de memoria de este tensor. |
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape) | void Similar a BitcastFrom, pero CHECK falla si no se cumplen algunas condiciones previas. |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor Devuelve los datos del tensor a un Eigen::Tensor con la nueva forma especificada en new_sizes y conviértelo a un nuevo dtype T |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor Devuelve los datos del tensor a un Eigen::Tensor con la nueva forma especificada en new_sizes y conviértelo a un nuevo dtype T |
bit_casted_tensor () | TTypes< T, NDIMS >:: Tensor Devuelve los datos del tensor a un Eigen::Tensor del mismo tamaño pero con una conversión bit a bit al tipo de datos T especificado. |
bit_casted_tensor () const | TTypes< T, NDIMS >::ConstTensor Devuelve los datos del tensor a un Eigen::Tensor del mismo tamaño pero con una conversión bit a bit al tipo de datos T especificado. |
dim_size (int d) const | int64 Accesorio práctico para la forma tensorial. |
dims () const | int Accesorio práctico para la forma tensorial. |
dtype () const | DataType Devuelve el tipo de dato. |
flat () | TTypes< T >::Flat Devuelve los datos del tensor como un Eigen::Tensor del tipo de datos y con una forma especificada. |
flat () const | TTypes< T >::ConstFlat |
flat_inner_dims () | TTypes< T, NDIMS >:: Tensor Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones del Tensor excepto la última NDIMS-1 en la primera dimensión del resultado. |
flat_inner_dims () const | TTypes< T, NDIMS >::ConstTensor |
flat_inner_outer_dims (int64 begin) | TTypes< T, NDIMS >:: Tensor Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando las primeras dimensiones del Tensor 'begin' en la primera dimensión del resultado y las dimensiones del Tensor de las últimas dims() - 'begin' - NDIMS en la última dimensión del resultado. |
flat_inner_outer_dims (int64 begin) const | TTypes< T, NDIMS >::ConstTensor |
flat_outer_dims () | TTypes< T, NDIMS >:: Tensor Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones del Tensor excepto la primera NDIMS-1 en la última dimensión del resultado. |
flat_outer_dims () const | TTypes< T, NDIMS >::ConstTensor |
matrix () | TTypes< T >::Matrix |
matrix () const | TTypes< T >::ConstMatrix |
operator= (const Tensor & other) | Tensor & Operador de asignación. Este tensor comparte el almacenamiento subyacente de otros. |
operator= ( Tensor && other) | Tensor & Operador de movimiento. Consulte el constructor de movimiento para obtener más detalles. |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor Devuelve los datos del tensor a un Eigen::Tensor con los elementos de la última dimensión convertidos en elementos individuales de un tipo mayor. |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor Devuelve los datos del tensor a un Eigen::Tensor con los elementos de la última dimensión convertidos en elementos individuales de un tipo mayor. |
scalar () | TTypes< T >::Scalar |
scalar () const | TTypes< T >::ConstScalar |
shape () const | const TensorShape & Devuelve la forma del tensor. |
shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor |
shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor |
tensor () | TTypes< T, NDIMS >:: Tensor |
tensor () const | TTypes< T, NDIMS >::ConstTensor |
tensor_data () const | StringPiece Devuelve un StringPiece que mapea el búfer del tensor actual. |
unaligned_flat () | TTypes< T >::UnalignedFlat |
unaligned_flat () const | TTypes< T >::UnalignedConstFlat |
unaligned_shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >::UnalignedTensor |
unaligned_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::UnalignedConstTensor |
vec () | TTypes< T >::Vec Devuelve los datos del tensor como un Eigen::Tensor con el tipo y los tamaños de este Tensor . |
vec () const | TTypes< T >::ConstVec Versiones constantes de todos los métodos anteriores. |
Funciones públicas
Bytes asignados
size_t AllocatedBytes() const
ComoProtoField
void AsProtoField( TensorProto *proto ) const
Rellena proto con el contenido de *this tensor.
AsProtoField() rellena el campo repetido para proto.dtype() , mientras que AsProtoTensorContent() codifica el contenido en proto.tensor_content() en un formato compacto.
ComoProtoTensorContent
void AsProtoTensorContent( TensorProto *proto ) const
Bitcast desde
Status BitcastFrom( const Tensor & other, DataType dtype, const TensorShape & shape )
Copia el otro tensor en este tensor, redimensiónalo y reinterpreta el tipo de datos del búfer.
Si se devuelve Status::OK(), los dos tensores ahora comparten el mismo almacenamiento subyacente.
Esta llamada requiere que el other tensor y el tipo y forma dados sean "compatibles" (es decir, que ocupen el mismo número de bytes).
Específicamente:
forma.num_elements() * DataTypeSize(type)
debe ser igual
otro.num_elements() * DataTypeSize(otro.dtype())
Además, esta función requiere:
- DataTypeSize(other.dtype()) != 0
- DataTypeSize(type) != 0
Si no se cumple alguno de los requisitos, se devuelve errors::InvalidArgument.
Copiar de
bool CopyFrom( const Tensor & other, const TensorShape & shape ) TF_MUST_USE_RESULT
Copia el otro tensor en este tensor y redimensiónalo.
Este tensor comparte el almacenamiento subyacente de otro. Devuelve true si y solo si other.shape() tiene el mismo número de elementos de la shape dada.
Cadena de depuración
string DebugString( int num_values ) const
Un resumen del tensor legible para humanos, adecuado para la depuración.
Cadena de depuración
string DebugString() const
Cadena de depuración segura del dispositivo
string DeviceSafeDebugString() const
Descripción de relleno
void FillDescription( TensorDescription *description ) const
Rellene el proto TensorDescription con metadatos sobre el tensor que sean útiles para la monitorización y la depuración.
DeProto
bool FromProto( const TensorProto & other ) TF_MUST_USE_RESULT
Analizar other y construir el tensor.
Devuelve true si y solo si el análisis sintáctico se realiza correctamente. Si el análisis sintáctico falla, el estado de *this permanece sin cambios.
DeProto
bool FromProto( Allocator *a, const TensorProto & other ) TF_MUST_USE_RESULT
EstáAlineado
bool IsAligned() const
Devuelve verdadero si y solo si este tensor está alineado.
Está inicializado
bool IsInitialized() const
Si es necesario, ¿se ha inicializado este tensor ?
Los tensores con cero elementos siempre se consideran inicializados, incluso si nunca se les ha asignado memoria ni se les ha asignado ninguna.
Es del mismo tamaño
bool IsSameSize( const Tensor & b ) const
NumElementos
int64 NumElements() const
Accesorio práctico para la forma tensorial.
SharesBufferWith
bool SharesBufferWith( const Tensor & b ) const
Rebanada
Tensor Slice( int64 dim0_start, int64 dim0_limit ) const
Corta este tensor a lo largo de la primera dimensión.
Es decir, el tensor devuelto satisface returned[i, ...] == this[dim0_start + i, ...]. El tensor devuelto comparte el búfer de tensores subyacente con este tensor.
NOTA: El tensor devuelto puede no cumplir con el mismo requisito de alineación que este tensor, dependiendo de su forma. Quien realiza la llamada debe verificar la alineación del tensor devuelto antes de llamar a ciertos métodos que tienen requisitos de alineación (por ejemplo, flat() , tensor() ).
NOTA: Al introducir un tensor N-dimensional, este método devuelve un tensor también N-dimensional. Si desea seleccionar un subtensor, consulte SubSlice.
REQUIERE: dims() >= 1 REQUIERE: 0 <= dim0_start <= dim0_limit <= dim_size(0)
Subcorte
Tensor SubSlice( int64 index ) const
Seleccione una subsección de este tensor a lo largo de la primera dimensión.
Al recibir un tensor N-dimensional, este método devuelve un tensor de N-1 dimensiones, donde el tensor devuelto es una subsección del tensor de entrada a lo largo de la primera dimensión. Las N-1 dimensiones del tensor devuelto son las últimas N-1 dimensiones del tensor de entrada.
NOTA: El tensor devuelto puede no cumplir con el mismo requisito de alineación que este tensor, dependiendo de su forma. Quien realiza la llamada debe verificar la alineación del tensor devuelto antes de llamar a ciertos métodos que tienen requisitos de alineación (por ejemplo, flat() , tensor() ).
REQUIERE: dims() >= 1 REQUIERE: 0 <= dim0_start < dim_size(0)
Resumir valor
string SummarizeValue( int64 max_entries, bool print_v2 ) const
Convierte los primeros valores max_entries en *this en una cadena.
Tensor
Tensor()
Crea un tensor flotante unidimensional de 0 elementos.
El tensor devuelto no es un escalar (forma {}), sino un tensor unidimensional vacío (forma {0}, NumElements() == 0). Como no tiene elementos, no necesita que se le asigne un valor y se inicializa por defecto ( IsInitialized() es verdadero). Si esto no es deseable, considere crear un escalar de un solo elemento que sí requiera inicialización:
Tensor(DT_FLOAT, TensorShape({}))
Tensor
Tensor( DataType type, const TensorShape & shape )
Crea un tensor del type y la shape dados.
Si LogMemory::IsEnabled() la asignación se registra como proveniente de un kernel y paso desconocidos. Llamar al constructor de Tensor directamente desde dentro de un Op está obsoleto: utilice los métodos allocate_* de OpKernelConstruction/OpKernelContext para asignar un nuevo tensor, que registran el kernel y el paso.
El búfer subyacente se asigna mediante un CPUAllocator .
Tensor
Tensor( Allocator *a, DataType type, const TensorShape & shape )
Crea un tensor con el type y shape de entrada, utilizando el asignador a para asignar el búfer subyacente.
Si LogMemory::IsEnabled() la asignación se registra como proveniente de un kernel y paso desconocidos. Llamar al constructor de Tensor directamente desde dentro de un Op está obsoleto: utilice los métodos allocate_* de OpKernelConstruction/OpKernelContext para asignar un nuevo tensor, que registran el kernel y el paso.
a sobrevivir a la vida útil de este Tensor .
Tensor
Tensor( Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr )
Crea un tensor con el type y shape de entrada, utilizando el asignador a y el atributo "allocation_attr" especificado para asignar el búfer subyacente.
Si se conocen el kernel y el paso, se debe establecer allocation_attr.allocation_will_be_logged en true y llamar a LogMemory::RecordTensorAllocation después de que se construya el tensor. Llamar al constructor de Tensor directamente desde dentro de un Op está obsoleto: utilice los métodos allocate_* de OpKernelConstruction/OpKernelContext para asignar un nuevo tensor, que registran el kernel y el paso.
a sobrevivir a la vida útil de este Tensor .
Tensor
Tensor( DataType type, const TensorShape & shape, TensorBuffer *buf )
Crea un tensor con el tipo de dato, la forma y el búfer de entrada.
Adquiere una referencia en buf que pertenece a este Tensor .
Tensor
Tensor( DataType type )
Crea un tensor vacío del tipo de datos especificado.
Al igual que Tensor() , devuelve un tensor unidimensional de 0 elementos, y IsInitialized() devuelve True. Consulte la documentación de Tensor() para obtener más detalles.
Tensor
Tensor( float scalar_value )
Tensor
Tensor( double scalar_value )
Tensor
Tensor( int32 scalar_value )
Tensor
Tensor( uint32 scalar_value )
Tensor
Tensor( uint16 scalar_value )
Tensor
Tensor( uint8 scalar_value )
Tensor
Tensor( int16 scalar_value )
Tensor
Tensor( int8 scalar_value )
Tensor
Tensor( tstring scalar_value )
Tensor
Tensor( complex64 scalar_value )
Tensor
Tensor( complex128 scalar_value )
Tensor
Tensor( int64 scalar_value )
Tensor
Tensor( uint64 scalar_value )
Tensor
Tensor( bool scalar_value )
Tensor
Tensor( qint8 scalar_value )
Tensor
Tensor( quint8 scalar_value )
Tensor
Tensor( qint16 scalar_value )
Tensor
Tensor( quint16 scalar_value )
Tensor
Tensor( qint32 scalar_value )
Tensor
Tensor( bfloat16 scalar_value )
Tensor
Tensor( Eigen::half scalar_value )
Tensor
Tensor( ResourceHandle scalar_value )
Tensor
Tensor( const char *scalar_value )
Tensor
Tensor( Tensor && other )
Constructor de movimiento.
Después de esta llamada,
TotalBytes
size_t TotalBytes() const
Devuelve el uso estimado de memoria de este tensor.
Copia insegura desde el interior
void UnsafeCopyFromInternal( const Tensor & other, DataType dtype, const TensorShape & shape )
Similar a BitcastFrom, pero CHECK falla si no se cumplen algunas condiciones previas.
Obsoleto. Utilice BitcastFrom en su lugar y compruebe el estado devuelto.
forma de bit_cast
TTypes< T, NDIMS >::Tensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes )
Devuelve los datos del tensor a un Eigen::Tensor con la nueva forma especificada en new_sizes y conviértelo a un nuevo dtype T
El uso de una conversión de bits es útil para operaciones de mover y copiar. La única diferencia con shaped() es la conversión de bits permitida.
forma de bit_cast
TTypes< T, NDIMS >::ConstTensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes ) const
Devuelve los datos del tensor a un Eigen::Tensor con la nueva forma especificada en new_sizes y conviértelo a un nuevo dtype T
El uso de una conversión de bits es útil para operaciones de mover y copiar. La única diferencia con shaped() es la conversión de bits permitida.
tensor_convertido_a_bits
TTypes< T, NDIMS >::Tensor bit_casted_tensor()
Devuelve los datos del tensor a un Eigen::Tensor del mismo tamaño pero con una conversión bit a bit al tipo de datos T especificado.
El uso de una conversión de bits es útil para operaciones de mover y copiar. NOTA: esto es lo mismo que tensor() excepto que se permite una conversión de bits.
tensor_convertido_a_bits
TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const
Devuelve los datos del tensor a un Eigen::Tensor del mismo tamaño pero con una conversión bit a bit al tipo de datos T especificado.
El uso de una conversión de bits es útil para operaciones de mover y copiar. NOTA: esto es lo mismo que tensor() excepto que se permite una conversión de bits.
tamaño_dimensionado
int64 dim_size( int d ) const
Accesorio práctico para la forma tensorial.
atenuaciones
int dims() const
Accesorio práctico para la forma tensorial.
Para todos los accesores de forma, consulte los comentarios de los métodos relevantes de TensorShape en tensor_shape.h .
tipo de datos
DataType dtype() const
Devuelve el tipo de dato.
departamento
TTypes< T >::Flat flat()
Devuelve los datos del tensor como un Eigen::Tensor del tipo de datos y con una forma especificada.
Estos métodos permiten acceder a los datos con las dimensiones y tamaños que se deseen. No es necesario conocer el número de dimensiones del tensor para utilizarlos. Sin embargo, CHECK que el tipo coincida y que las dimensiones solicitadas creen un Eigen::Tensor con el mismo número de elementos que el tensor.
Ejemplo:
typedef float T; Tensor my_ten(...built with Shape{planes: 4, rows: 3, cols: 5}...); // 1D Eigen::Tensor, size 60: auto flat = my_ten.flat(); // 2D Eigen::Tensor 12 x 5: auto inner = my_ten.flat_inner_dims (); // 2D Eigen::Tensor 4 x 15: auto outer = my_ten.shaped<T, 2>({4, 15}); // CHECK fails, bad num elements: auto outer = my_ten.shaped<T, 2>({4, 8}); // 3D Eigen::Tensor 6 x 5 x 2: auto weird = my_ten.shaped<T, 3>({6, 5, 2}); // CHECK fails, type mismatch: auto bad = my_ten.flat ();
flat
TTypes< T >::ConstFlat flat() const
dimensiones internas planas
TTypes< T, NDIMS >::Tensor flat_inner_dims()
Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones del Tensor excepto la última NDIMS-1 en la primera dimensión del resultado.
Si NDIMS > dims() entonces se agregarán dimensiones principales de tamaño 1 para que la salida tenga un rango de NDIMS.
dimensiones internas planas
TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const
dimensiones_interiores_exteriores_planas
TTypes< T, NDIMS >::Tensor flat_inner_outer_dims( int64 begin )
Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando las primeras dimensiones del Tensor 'begin' en la primera dimensión del resultado y las dimensiones del Tensor de las últimas dims() - 'begin' - NDIMS en la última dimensión del resultado.
Si 'begin' < 0, se añadirán las dimensiones iniciales de tamaño 1 ('begin'|). Si 'begin' + NDIMS > dims() , se añadirán las dimensiones finales de tamaño 1 ('begin' + NDIMS - dims()) .
dimensiones_interiores_exteriores_planas
TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims( int64 begin ) const
dimensiones exteriores planas
TTypes< T, NDIMS >::Tensor flat_outer_dims()
Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones del Tensor excepto la primera NDIMS-1 en la última dimensión del resultado.
Si NDIMS > dims() , se agregarán dimensiones finales de tamaño 1 para que la salida tenga un rango de NDIMS.
dimensiones exteriores planas
TTypes< T, NDIMS >::ConstTensor flat_outer_dims() const
matriz
TTypes< T >::Matrix matrix()
matriz
TTypes< T >::ConstMatrix matrix() const
operador=
Tensor & operator=( const Tensor & other )
Operador de asignación. Este tensor comparte el almacenamiento subyacente de otros.
operador=
Tensor & operator=( Tensor && other )
Operador de movimiento. Consulte el constructor de movimiento para obtener más detalles.
reinterpretar_última_dimensión
TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()
Devuelve los datos del tensor a un Eigen::Tensor con los elementos de la última dimensión convertidos en elementos individuales de un tipo mayor.
Por ejemplo, esto es útil para kernels que pueden tratar tensores NCHW_VECT_C int8 como tensores NCHW int32. El valor de sizeof(T) debe ser igual al tamaño del tipo de elemento original multiplicado por el número de elementos en la última dimensión original. NDIMS debe ser 1 menos que el número original de dimensiones.
reinterpretar_última_dimensión
TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const
Devuelve los datos del tensor a un Eigen::Tensor con los elementos de la última dimensión convertidos en elementos individuales de un tipo mayor.
Por ejemplo, esto es útil para kernels que pueden tratar tensores NCHW_VECT_C int8 como tensores NCHW int32. El valor de sizeof(T) debe ser igual al tamaño del tipo de elemento original multiplicado por el número de elementos en la última dimensión original. NDIMS debe ser 1 menos que el número original de dimensiones.
escalar
TTypes< T >::Scalar scalar()
Devuelve los datos del Tensor como un TensorMap de tamaño fijo 1: TensorMap .
El uso scalar() permite al compilador realizar optimizaciones, ya que el tamaño del tensor se conoce en tiempo de compilación.
escalar
TTypes< T >::ConstScalar scalar() const
forma
const TensorShape & shape() const
Devuelve la forma del tensor.
conformado
TTypes< T, NDIMS >::Tensor shaped( gtl::ArraySlice< int64 > new_sizes )
conformado
TTypes< T, NDIMS >::ConstTensor shaped( gtl::ArraySlice< int64 > new_sizes ) const
tensor
TTypes< T, NDIMS >::Tensor tensor()
tensor
TTypes< T, NDIMS >::ConstTensor tensor() const
datos_tensores
StringPiece tensor_data() const
Devuelve un StringPiece que mapea el búfer del tensor actual.
El StringPiece devuelto puede apuntar a una ubicación de memoria en dispositivos a los que la CPU no puede acceder directamente.
NOTA: El búfer tensorial subyacente utiliza un contador de referencias, por lo que la vida útil del contenido mapeado por StringPiece coincide con la vida útil del búfer; quienes realicen las llamadas deben asegurarse de que el búfer no se destruya mientras StringPiece siga en uso.
REQUIERE: DataTypeCanUseMemcpy(dtype()) .
plano no alineado
TTypes< T >::UnalignedFlat unaligned_flat()
plano no alineado
TTypes< T >::UnalignedConstFlat unaligned_flat() const
forma no alineada
TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes )
forma no alineada
TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes ) const
vector
TTypes< T >::Vec vec()
Devuelve los datos del tensor como un Eigen::Tensor con el tipo y los tamaños de este Tensor.
Utilice estos métodos cuando conozca el tipo de datos y el número de dimensiones del Tensor y desee que un Eigen::Tensor se ajuste automáticamente al tamaño del Tensor. La comprobación de la implementación falla si el tipo o el tamaño no coinciden.
Ejemplo:
typedef float T; Tensor my_mat(...built with Shape{rows: 3, cols: 5}...); auto mat = my_mat.matrix(); // 2D Eigen::Tensor, 3 x 5. auto mat = my_mat.tensor<T, 2>(); // 2D Eigen::Tensor, 3 x 5. auto vec = my_mat.vec (); // CHECK fails as my_mat is 2D. auto vec = my_mat.tensor<T, 3>(); // CHECK fails as my_mat is 2D. auto mat = my_mat.matrix ();// CHECK fails as type mismatch.
vec
TTypes< T >::ConstVec vec() const
Versiones constantes de todos los métodos anteriores.
~Tensor
~Tensor()