tensorflow:: Tensor

#include <tensor.h>

Representa una matriz de valores de n dimensiones.

Resumen

Constructores y Destructores

Tensor ()
Crea un tensor flotante unidimensional de 0 elementos.
Tensor (DataType type, const TensorShape & shape)
Crea un tensor del type y shape dados.
Tensor (Allocator *a, DataType type, const TensorShape & shape)
Crea un tensor con el type de entrada y la shape , 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 la shape de entrada, utilizando el asignador a y el "allocation_attr" especificado para asignar el búfer subyacente.
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf)
Crea un tensor con el tipo de datos de entrada, forma y buf.
Tensor (DataType type)
Crea un tensor vacío del tipo de datos dado.
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)
Copiar constructor.
Tensor ( Tensor && other)
Mover constructor.
Tensor (T *t)
~Tensor ()

Funciones publicas

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
Rellena proto con *this tensor.
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Status
Copie el otro tensor en este tensor, remodele y reinterprete 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 dale nueva forma.
DebugString (int num_values) const
std::string
Un resumen legible por humanos del tensor adecuado para la depuración.
DebugString () const
std::string
DeviceSafeDebugString () const
std::string
FillDescription (TensorDescription *description) const
void
Complete el prototipo de TensorDescription con metadatos sobre el tensor que sea útil para monitorear y depurar.
FromProto (const TensorProto & other) TF_MUST_USE_RESULT
bool
Analice other y construya el tensor.
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT
bool
IsAligned () const
bool
Devuelve verdadero 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 de conveniencia para la forma del tensor.
RefCountIsOne () const
bool
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 un subsegmento de este tensor a lo largo de la primera dimensión.
SummarizeValue (int64 max_entries, bool print_v2) const
std::string
Representa los primeros valores max_entries en *this en una cadena.
TotalBytes () const
size_t
Devuelve el uso de memoria estimado de este tensor.
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape)
void
Como BitcastFrom, pero CHECK falla si no se cumplen las 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 convierte 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 convierte a un nuevo dtype T .
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
Devuelve los datos del tensor a un Eigen::Tensor con el mismo tamaño pero una conversión bit a bit al dtype T especificado.
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
Devuelve los datos del tensor a un Eigen::Tensor con el mismo tamaño pero una conversión bit a bit al dtype T especificado.
data () const
void *
dim_size (int d) const
int64
Accesorio de conveniencia para la forma del tensor.
dims () const
int
Accesorio de conveniencia para la forma del tensor.
dtype () const
DataType
Devuelve el tipo de datos.
flat ()
TTypes< T >::Flat
Devuelve los datos del tensor como un Eigen::Tensor del tipo de datos y 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 el último 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 'inicio' en la primera dimensión del resultado y las dimensiones del Tensor de los últimos 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 Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones de 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)
Asignar operador. Este tensor comparte el almacenamiento subyacente de otros.
operator= ( Tensor && other)
Mover operador. Ver mover constructor para más detalles.
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
Devuelva los datos del tensor a un Eigen::Tensor con los últimos elementos de dimensión convertidos en elementos individuales de un tipo más grande.
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
Devuelva los datos del tensor a un Eigen::Tensor con los últimos elementos de dimensión convertidos en elementos individuales de un tipo más grande.
scalar ()
TTypes< T >::Scalar
Devuelva los datos de Tensor como un TensorMap de tamaño fijo 1: TensorMap > TensorMap > .
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 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 tamaño de este Tensor .
vec () const
TTypes< T >::ConstVec
Versiones constantes de todos los métodos anteriores.

Funciones publicas

bytes asignados

size_t AllocatedBytes() const 

comoprotocampo

void AsProtoField(
  TensorProto *proto
) const 

Rellena proto con *this tensor.

AsProtoField() el campo repetido para proto.dtype() , mientras que AsProtoTensorContent() codifica el contenido en proto.tensor_content() de forma compacta.

AsProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

BitcastDe

Status BitcastFrom(
  const Tensor & other,
  DataType dtype,
  const TensorShape & shape
)

Copie el otro tensor en este tensor, remodele y reinterprete 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(tipo)

debe igualar

otro.num_elements() * DataTypeSize(otro.dtype())

Además, esta función requiere:

  • DataTypeSize(otro.dtype()) != 0
  • DataTypeSize(tipo) != 0

Si no se cumple alguno de los requisitos, se devuelven errores::InvalidArgument.

Copiado de

bool CopyFrom(
  const Tensor & other,
  const TensorShape & shape
) TF_MUST_USE_RESULT

Copia el otro tensor en este tensor y dale nueva forma.

Este tensor comparte el almacenamiento subyacente de otros. Devuelve true iff other.shape() tiene el mismo número de elementos de la shape dada.

Cadena de depuración

std::string DebugString(
  int num_values
) const 

Un resumen legible por humanos del tensor adecuado para la depuración.

Cadena de depuración

std::string DebugString() const 

DeviceSafeDebugString

std::string DeviceSafeDebugString() const 

LlenarDescripción

void FillDescription(
  TensorDescription *description
) const 

Complete el prototipo de TensorDescription con metadatos sobre el tensor que sea útil para monitorear y depurar.

DesdeProto

bool FromProto(
  const TensorProto & other
) TF_MUST_USE_RESULT

Analice other y construya el tensor.

Devuelve true si el análisis tiene éxito. Si el análisis falla, el estado de *this no cambia.

DesdeProto

bool FromProto(
  Allocator *a,
  const TensorProto & other
) TF_MUST_USE_RESULT

EstáAlineado

bool IsAligned() const 

Devuelve verdadero si este tensor está alineado.

EstáInicializado

bool IsInitialized() const 

Si es necesario, ¿se ha inicializado este tensor ?

Los tensores de elemento cero siempre se consideran inicializados, incluso si nunca se han asignado y no tienen memoria asignada.

EsMismoTamaño

bool IsSameSize(
  const Tensor & b
) const 

NúmElementos

int64 NumElements() const 

Accesorio de conveniencia para la forma del tensor.

RefCountIsOne

bool RefCountIsOne() const 

AccionesBufferCon

bool SharesBufferWith(
  const Tensor & b
) const 

Rodaja

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 return[i, ...] == this[dim0_start + i, ...]. El tensor devuelto comparte el búfer de tensor subyacente con este tensor.

NOTA: Es posible que el tensor devuelto no satisfaga el mismo requisito de alineación que este tensor según la forma. La persona que llama debe verificar la alineación del tensor devuelto antes de llamar a ciertos métodos que tienen un requisito de alineación (por ejemplo, flat() , tensor() ).

NOTA: Cuando se alimenta con un tensor de N dimensiones, este método devuelve un tensor también con N dimensiones. 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 un subsegmento de este tensor a lo largo de la primera dimensión.

Cuando se alimenta con un tensor N-dimensional, este método devuelve un tensor con 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: Es posible que el tensor devuelto no satisfaga el mismo requisito de alineación que este tensor según la forma. La persona que llama debe verificar la alineación del tensor devuelto antes de llamar a ciertos métodos que tienen un requisito de alineación (por ejemplo, flat() , tensor() ).

REQUIERE: dims() >= 1 REQUIERE: 0 <= index < dim_size(0)

ResumirValor

std::string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

Representa 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). Dado que no tiene elementos, no es necesario que se le asigne un valor y se inicializa de forma predeterminada ( IsInitialized() es verdadero). Si esto no es deseable, considere crear un escalar de un elemento que requiera inicialización:

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

Crea un tensor del type y shape dados.

Si LogMemory::IsEnabled(), la asignación se registra como proveniente de un kernel y un paso desconocidos. Se desaconseja llamar al constructor Tensor directamente desde dentro de una operación: use los métodos allocate_* de OpKernelConstruction/OpKernelContext para asignar un nuevo tensor, que registra 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 de entrada y la shape , utilizando el asignador a para asignar el búfer subyacente.

Si LogMemory::IsEnabled(), la asignación se registra como proveniente de un kernel y un paso desconocidos. Se desaconseja llamar al constructor Tensor directamente desde dentro de una operación: use los métodos allocate_* de OpKernelConstruction/OpKernelContext para asignar un nuevo tensor, que registra el kernel y el paso.

debe 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 la shape de entrada, utilizando el asignador a y el "allocation_attr" especificado para asignar el búfer subyacente.

Si se conocen el núcleo y el paso, la asignación_attr.allocation_will_be_logged se debe establecer en verdadero y se debe llamar a LogMemory::RecordTensorAllocation después de que se construya el tensor. Se desaconseja llamar al constructor Tensor directamente desde dentro de una operación: use los métodos allocate_* de OpKernelConstruction/OpKernelContext para asignar un nuevo tensor, que registra el kernel y el paso.

debe sobrevivir a la vida útil de este tensor .

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape,
  TensorBuffer *buf
)

Crea un tensor con el tipo de datos de entrada, forma y buf.

Adquiere un ref on buf que pertenece a este Tensor .

Tensor

 Tensor(
  DataType type
)

Crea un tensor vacío del tipo de datos dado.

Al igual que Tensor() , devuelve un tensor unidimensional de 0 elementos con IsInitialized () que 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(
  const Tensor & other
)

Copiar constructor.

Tensor

 Tensor(
  Tensor && other
)

Mover constructor.

Después de esta llamada, se puede destruir de forma segura y se le puede asignar, pero otras llamadas (por ejemplo, manipulación de formas) no son válidas.

Tensor

 Tensor(
  T *t
)=delete

bytes totales

size_t TotalBytes() const 

Devuelve el uso de memoria estimado de este tensor.

UnsafeCopyFromInternal

void UnsafeCopyFromInternal(
  const Tensor & other,
  DataType dtype,
  const TensorShape & shape
)

Como BitcastFrom, pero CHECK falla si no se cumplen las condiciones previas.

Obsoleto. Use BitcastFrom en su lugar y verifique el estado devuelto.

bit_casted_shaped

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 convierte a un nuevo dtype T .

El uso de un bitcast es útil para las operaciones de mover y copiar. El bitcast permitido es la única diferencia con shaped() .

bit_casted_shaped

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 convierte a un nuevo dtype T .

El uso de un bitcast es útil para las operaciones de mover y copiar. El bitcast permitido es la única diferencia con shaped() .

bit_casted_tensor

TTypes< T, NDIMS >::Tensor bit_casted_tensor()

Devuelve los datos del tensor a un Eigen::Tensor con el mismo tamaño pero una conversión bit a bit al dtype T especificado.

El uso de un bitcast es útil para las operaciones de mover y copiar. NOTA: esto es lo mismo que tensor() excepto que se permite un bitcast.

bit_casted_tensor

TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const 

Devuelve los datos del tensor a un Eigen::Tensor con el mismo tamaño pero una conversión bit a bit al dtype T especificado.

El uso de un bitcast es útil para las operaciones de mover y copiar. NOTA: esto es lo mismo que tensor() excepto que se permite un bitcast.

datos

void * data() const 

dim_size

int64 dim_size(
  int d
) const 

Accesorio de conveniencia para la forma del tensor.

atenúa

int dims() const 

Accesorio de conveniencia para la forma del tensor.

Para todos los descriptores de acceso de forma, consulte los comentarios de los métodos relevantes de TensorShape en tensor_shape.h .

tipo de d

DataType dtype() const 

Devuelve el tipo de datos.

plano

TTypes< T >::Flat flat()

Devuelve los datos del tensor como un Eigen::Tensor del tipo de datos y una forma especificada.

Estos métodos le permiten acceder a los datos con las dimensiones y tamaños de su elección. No necesitas saber el número de dimensiones del Tensor para llamarlas. Sin embargo, CHECK que el tipo coincida y 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({4, 15});
    // CHECK fails, bad num elements:
    auto outer = my_ten.shaped({4, 8});
    // 3D Eigen::Tensor 6 x 5 x 2:
    auto weird = my_ten.shaped({6, 5, 2});
    // CHECK fails, type mismatch:
    auto bad   = my_ten.flat();

      

flat

TTypes< T >::ConstFlat flat() const 

flat_inner_dims

TTypes< T, NDIMS >::Tensor flat_inner_dims()

Devuelve los datos como un Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones del Tensor excepto el último NDIMS-1 en la primera dimensión del resultado.

Si NDIMS > dims () , se agregarán las dimensiones principales de tamaño 1 para hacer que el NDIMS de rango de salida.

flat_inner_dims

TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const 

flat_inner_outer_dims

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 'inicio' en la primera dimensión del resultado y las dimensiones del Tensor de los últimos dims() - 'begin' - NDIMS en la última dimensión del resultado.

Si 'comienzo' < 0, entonces el |'comienzo'| se agregarán las dimensiones iniciales de tamaño 1. Si 'begin' + NDIMS > dims () entonces 'begin' + NDIMS - dims () se agregarán las dimensiones finales de tamaño 1.

flat_inner_outer_dims

TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims(
  int64 begin
) const 

flat_outer_dims

TTypes< T, NDIMS >::Tensor flat_outer_dims()

Devuelve los datos como Eigen::Tensor con dimensiones NDIMS, colapsando todas las dimensiones de 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 hacer que el NDIMS de rango de salida.

flat_outer_dims

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
)

Asignar operador. Este tensor comparte el almacenamiento subyacente de otros.

operador=

Tensor & operator=(
  Tensor && other
)

Mover operador. Ver mover constructor para más detalles.

reinterpretar_última_dimensión

TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()

Devuelva los datos del tensor a un Eigen::Tensor con los últimos elementos de dimensión convertidos en elementos individuales de un tipo más grande.

Por ejemplo, esto es útil para núcleos que pueden tratar tensores NCHW_VECT_C int8 como tensores NCHW int32. El tamaño de (T) debe ser igual al tamaño del tipo de elemento original * 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 

Devuelva los datos del tensor a un Eigen::Tensor con los últimos elementos de dimensión convertidos en elementos individuales de un tipo más grande.

Por ejemplo, esto es útil para núcleos que pueden tratar tensores NCHW_VECT_C int8 como tensores NCHW int32. El tamaño de (T) debe ser igual al tamaño del tipo de elemento original * 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()

Devuelva los datos de Tensor como un TensorMap de tamaño fijo 1: TensorMap > TensorMap > .

El uso de scalar() permite que el compilador realice optimizaciones ya que el tamaño del tensor se conoce en el momento de la 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 

tensor_data

StringPiece tensor_data() const 

Devuelve un StringPiece que mapea el búfer del tensor actual.

El StringPiece devuelto puede apuntar a la ubicación de la memoria en dispositivos que la CPU no puede abordar directamente.

NOTA: El búfer de tensor subyacente se vuelve a contar, por lo que la duración de los contenidos asignados por StringPiece coincide con la duración del búfer; las personas que llaman deben hacer arreglos para asegurarse de que el búfer no se destruya mientras se usa StringPiece.

REQUIERE: DataTypeCanUseMemcpy(dtype()) .

sin alinear_plano

TTypes< T >::UnalignedFlat unaligned_flat()

sin alinear_plano

TTypes< T >::UnalignedConstFlat unaligned_flat() const 

sin alinear_en forma

l10n-placeholder89

sin alinear_en forma

l10n-placeholder90

vec

l10n-placeholder91

Devuelve los datos del tensor como un Eigen::Tensor con el tipo y tamaño de este Tensor.

Utilice estos métodos cuando conozca el tipo de datos y el número de dimensiones del Tensor y desee un Eigen::Tensor dimensionado automáticamente a los tamaños del Tensor. La verificación de implementación falla si el tipo o los tamaños no coinciden.

Ejemplo:

l10n-placeholder92

l10n-placeholder93

Versiones constantes de todos los métodos anteriores.

~Tensores

l10n-placeholder94