Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tensorflow :: Tensor

#include <tensor.h>

Representa una matriz de valores n-dimensional.

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 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 la entrada de type y shape , utilizando el asignador a y el "allocation_attr" para asignar la memoria intermedia subyacente especificado.
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 ()

Funciones publicas

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
Completa el proto con *this el contenido de *this tensor.
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Copie el otro tensor en este tensor, modifíquelo y reinterprete el tipo de datos del búfer.
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT
bool
Copie el otro tensor en este tensor y modifíquelo.
DebugString (int num_values) const
string
Un resumen legible por humanos del tensor adecuado para depurar.
DebugString () const
string
DeviceSafeDebugString () const
string
FillDescription (TensorDescription *description) const
void
Complete el TensorDescription con metadatos sobre el tensor que es útil para monitorear y depurar.
FromProto (const TensorProto & other) TF_MUST_USE_RESULT
bool
Analiza other y construye 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.
SharesBufferWith (const Tensor & b) const
bool
Slice (int64 dim0_start, int64 dim0_limit) const
Corta este tensor a lo largo de la 1ª dimensión.
SubSlice (int64 index) const
Seleccione una sublicencia de este tensor a lo largo de la 1ª dimensión.
SummarizeValue (int64 max_entries, bool print_v2) const
string
Representa los primeros valores de 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 new_sizes 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 new_sizes 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.
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 Eigen :: Tensor con dimensiones de NDIMS, colapsando todas las dimensiones de Tensor pero 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 de NDIMS, colapsando las primeras dimensiones del tensor 'begin' 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 un Eigen :: Tensor con dimensiones de NDIMS, colapsando todas las dimensiones de Tensor excepto el primer 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 otro.
operator= ( Tensor && other)
Mover operador. Consulte move constructor para obtener más detalles.
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
Devuelve 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
Devuelve 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
Devuelve 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 mapeando 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 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

AllocatedBytes

size_t AllocatedBytes() const 

AsProtoField

void AsProtoField(
  TensorProto *proto
) const 

Completa el proto con *this el contenido de *this tensor.

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

AsProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

Bitcast

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

Copie el otro tensor en este tensor, modifíquelo 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, ocupen el mismo número de bytes).

Específicamente:

shape.num_elements () * DataTypeSize (tipo)

debe ser igual

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

Además, esta función requiere:

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

Si no se cumple alguno de los requisitos, se devuelve errors :: InvalidArgument.

Copiado de

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

Copie el otro tensor en este tensor y modifíquelo.

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

DebugString

string DebugString(
  int num_values
) const 

Un resumen legible por humanos del tensor adecuado para depurar.

DebugString

string DebugString() const 

DeviceSafeDebugString

string DeviceSafeDebugString() const 

FillDescription

void FillDescription(
  TensorDescription *description
) const 

Complete el TensorDescription con metadatos sobre el tensor que es útil para monitorear y depurar.

DeProto

bool FromProto(
  const TensorProto & other
) TF_MUST_USE_RESULT

Analiza other y construye el tensor.

Devuelve true si el análisis se realiza correctamente. Si el análisis falla, el estado de *this no cambia.

DeProto

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

Está alineado

bool IsAligned() const 

Devuelve verdadero si este tensor está alineado.

IsInitialized

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.

IsSameSize

bool IsSameSize(
  const Tensor & b
) const 

NumElements

int64 NumElements() const 

Accesorio de conveniencia para la forma del tensor.

AccionesBufferCon

bool SharesBufferWith(
  const Tensor & b
) const 

Rebanada

Tensor Slice(
  int64 dim0_start,
  int64 dim0_limit
) const 

Corta este tensor a lo largo de la 1ª dimensión.

Es decir, el tensor devuelto satisface devuelto [i, ...] == this [dim0_start + i, ...]. El tensor devuelto comparte el búfer de tensor subyacente con este tensor.

NOTA: El tensor devuelto puede no satisfacer el mismo requisito de alineación que este tensor dependiendo de la forma. La persona que llama 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: Cuando se alimenta con un tensor N-dimensional, 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)

SubSlice

Tensor SubSlice(
  int64 index
) const 

Seleccione una sublicencia de este tensor a lo largo de la 1ª 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 sublicencia del tensor de entrada a lo largo de la primera dimensión. Las dimensiones N-1 del tensor devuelto son las últimas dimensiones N-1 del tensor de entrada.

NOTA: El tensor devuelto puede no satisfacer el mismo requisito de alineación que este tensor dependiendo de la forma. La persona que llama 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)

SummarizeValue

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

Representa los primeros valores de 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 es necesario que se le asigne un valor y se inicializa de forma predeterminada ( IsInitialized () es verdadero). Si esto no es deseable, considere la posibilidad de 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 paso desconocidos. Llamar al constructor Tensor directamente desde dentro de una Op está en desuso: use los métodos OpKernelConstruction / OpKernelContext allocate_ * 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 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 paso desconocidos. Llamar al constructor Tensor directamente desde dentro de una Op está en desuso: use los métodos OpKernelConstruction / OpKernelContext allocate_ * para asignar un nuevo tensor, que registra el kernel y el paso.

a 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 la entrada de type y shape , utilizando el asignador a y el "allocation_attr" para asignar la memoria intermedia subyacente especificado.

Si el kernel y el paso son conocidos, allocation_attr.allocation_will_be_logged debe establecerse en true y LogMemory :: RecordTensorAllocation debe llamarse después de que se construya el tensor. Llamar al constructor Tensor directamente desde dentro de una Op está en desuso: use los métodos OpKernelConstruction / OpKernelContext allocate_ * para asignar un nuevo tensor, que registra el kernel y el paso.

a 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 una referencia en 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 1 dimensión, 0-elemento tensor con IsInitialized () devuelve true. Consulta 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, es destructible de forma segura y se puede asignar, pero otras llamadas (por ejemplo, manipulación de formas) no son válidas.

TotalBytes

size_t TotalBytes() const 

Devuelve el uso de memoria estimado de este tensor.

InseguroCopyFromInternal

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

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

Obsoleto. Utilice 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 new_sizes a un nuevo dtype T

El uso de bitcast es útil para las operaciones de movimiento y copia. El bitcast permitido es la única diferencia de shape 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 new_sizes a un nuevo dtype T

El uso de bitcast es útil para las operaciones de movimiento y copia. El bitcast permitido es la única diferencia de shape 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 bitcast es útil para las operaciones de movimiento y copia. 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 bitcast es útil para las operaciones de movimiento y copia. NOTA: esto es lo mismo que tensor() excepto que se permite un bitcast.

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 TensorShape de TensorShape a tensor_shape.h , consulte los comentarios sobre los métodos relevantes de TensorShape en tensor_shape.h .

dtype

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 que elija. No necesita saber el número de dimensiones del tensor para llamarlas. Sin embargo, CHECK que el tipo coincida y las dimensiones solicitadas crean un Eigen::Tensor con la misma cantidad 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 Eigen :: Tensor con dimensiones de NDIMS, colapsando todas las dimensiones de Tensor pero el último NDIMS-1 en la primera dimensión del resultado.

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

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 de NDIMS, colapsando las primeras dimensiones del tensor 'begin' 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 'begin' <0, entonces el | 'begin' | 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 de NDIMS, colapsando todas las dimensiones de Tensor excepto el primer NDIMS-1 en la última dimensión del resultado.

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

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 otro.

operador =

Tensor & operator=(
  Tensor && other
)

Mover operador. Consulte move constructor para obtener más detalles.

reinterpret_last_dimension

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

Devuelve 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 los 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 * num elementos en la última dimensión original. NDIMS debe ser 1 menos que el número original de dimensiones.

reinterpret_last_dimension

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

Devuelve 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 los 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 * num 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 de Tensor como un TensorMap de tamaño fijo 1: TensorMap > TensorMap > .

El uso de scalar() permite al compilador realizar 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 mapeando 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 direccionar directamente.

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

REQUIERE: DataTypeCanUseMemcpy(dtype()) .

unaligned_flat

TTypes< T >::UnalignedFlat unaligned_flat()

unaligned_flat

TTypes< T >::UnalignedConstFlat unaligned_flat() const 

unaligned_shaped

TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped(
  gtl::ArraySlice< int64 > new_sizes
)

unaligned_shaped

TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped(
  gtl::ArraySlice< int64 > new_sizes
) const 

vec

TTypes< T >::Vec vec()

Devuelve los datos del tensor como 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 con el tamaño automático del tamaño del tensor. La verificación de 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(); // 2D Eigen::Tensor, 3 x 5.
    auto vec = my_mat.vec();       // CHECK fails as my_mat is 2D.
    auto vec = my_mat.tensor(); // 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()