tensorflow:: Tensor
#include <tensor.h>Representa uma matriz de valores de dimensão n.
Resumo
Construtores e Destrutores | |
|---|---|
Tensor () Cria um tensor de ponto flutuante unidimensional com 0 elementos. | |
Tensor (DataType type, const TensorShape & shape) | |
Tensor (Allocator *a, DataType type, const TensorShape & shape) Cria um tensor com o type e shape de entrada, usando o alocador a para alocar o buffer subjacente. | |
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr) Cria um tensor com o type e shape de entrada, usando o alocador a e o atributo de alocação especificado para alocar o buffer subjacente. | |
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf) Cria um tensor com o tipo de dados, formato e buffer de entrada. | |
Tensor (DataType type) Cria um Tensor vazio do tipo de dados fornecido. | |
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) Construtor de cópia. | |
Tensor ( Tensor && other) Construtor de movimentação. | |
Tensor (T *t) | |
~Tensor () |
Funções públicas | |
|---|---|
AllocatedBytes () const | size_t |
AsProtoField (TensorProto *proto) const | void Preenche o proto com o conteúdo *this tensor. |
AsProtoTensorContent (TensorProto *proto) const | void |
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape) | Status Copie o outro tensor para este tensor, remodele-o e reinterprete o tipo de dados do buffer. |
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT | bool Copie o outro tensor para este tensor e remodele-o. |
DebugString (int num_values) const | std::string Um resumo do tensor em linguagem acessível para humanos, adequado para depuração. |
DebugString () const | std::string |
DeviceSafeDebugString () const | std::string |
FillDescription (TensorDescription *description) const | void Preencha o protocolo TensorDescription com metadados sobre o tensor que sejam úteis para monitoramento e depuração. |
FromProto (const TensorProto & other) TF_MUST_USE_RESULT | bool Analise other e construa o tensor. |
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT | bool |
IsAligned () const | bool Retorna verdadeiro se e somente se este tensor estiver alinhado. |
IsInitialized () const | bool Se necessário, este tensor foi inicializado? |
IsSameSize (const Tensor & b) const | bool |
NumElements () const | int64 Acessor prático para o formato do tensor. |
RefCountIsOne () const | bool |
SharesBufferWith (const Tensor & b) const | bool |
Slice (int64 dim0_start, int64 dim0_limit) const | Corte esse tensor ao longo da primeira dimensão. |
SubSlice (int64 index) const | Selecione uma subfatia desse tensor ao longo da primeira dimensão. |
SummarizeValue (int64 max_entries, bool print_v2) const | std::string Converta os primeiros valores max_entries em *this para uma string. |
TotalBytes () const | size_t Retorna a estimativa do uso de memória deste tensor. |
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape) | void Semelhante ao BitcastFrom, mas o CHECK falha se alguma das pré-condições não for atendida. |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor Retorne os dados do tensor para um Eigen::Tensor com o novo formato especificado em new_sizes e converta para um novo dtype T |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor Retorne os dados do tensor para um Eigen::Tensor com o novo formato especificado em new_sizes e converta para um novo dtype T |
bit_casted_tensor () | TTypes< T, NDIMS >:: Tensor Retorna os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas com uma conversão bit a bit para o tipo de dados T especificado. |
bit_casted_tensor () const | TTypes< T, NDIMS >::ConstTensor Retorna os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas com uma conversão bit a bit para o tipo de dados T especificado. |
data () const | void * |
dim_size (int d) const | int64 Acessor prático para o formato do tensor. |
dims () const | int Acessor prático para o formato do tensor. |
dtype () const | DataType Retorna o tipo de dados. |
flat () | TTypes< T >::Flat Retorna os dados do tensor como um Eigen::Tensor do tipo de dados e com um formato especificado. |
flat () const | TTypes< T >::ConstFlat |
flat_inner_dims () | TTypes< T, NDIMS >:: Tensor Retorna os dados como um Eigen::Tensor com dimensões NDIMS, colapsando todas as dimensões do Tensor , exceto a última NDIMS-1, na primeira dimensão do resultado. |
flat_inner_dims () const | TTypes< T, NDIMS >::ConstTensor |
flat_inner_outer_dims (int64 begin) | TTypes< T, NDIMS >:: Tensor |
flat_inner_outer_dims (int64 begin) const | TTypes< T, NDIMS >::ConstTensor |
flat_outer_dims () | TTypes< T, NDIMS >:: Tensor Retorna os dados como um Eigen::Tensor com dimensões NDIMS, colapsando todas as dimensões do Tensor , exceto a primeira NDIMS-1, na última dimensão do 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 atribuição. Este tensor compartilha o armazenamento subjacente de outros. |
operator= ( Tensor && other) | Tensor & Operador de movimentação. Consulte o construtor de movimentação para obter detalhes. |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor Retorna os dados do tensor para um Eigen::Tensor com os elementos da última dimensão convertidos em elementos únicos de um tipo maior. |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor Retorna os dados do tensor para um Eigen::Tensor com os elementos da última dimensão convertidos em elementos únicos de um tipo maior. |
scalar () | TTypes< T >::Scalar |
scalar () const | TTypes< T >::ConstScalar |
shape () const | const TensorShape & Retorna o formato do 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 Retorna um StringPiece que mapeia o buffer do tensor atual. |
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 Retorna os dados do tensor como um Eigen::Tensor com o tipo e os tamanhos deste Tensor . |
vec () const | TTypes< T >::ConstVec Versões constantes de todos os métodos acima. |
Funções públicas
Bytes alocados
size_t AllocatedBytes() const
AsProtoField
void AsProtoField( TensorProto *proto ) const
Preenche o proto com o conteúdo *this tensor.
AsProtoField() preenche o campo repetido para proto.dtype() , enquanto AsProtoTensorContent() codifica o conteúdo em proto.tensor_content() em um formato compacto.
AsProtoTensorContent
void AsProtoTensorContent( TensorProto *proto ) const
BitcastFrom
Status BitcastFrom( const Tensor & other, DataType dtype, const TensorShape & shape )
Copie o outro tensor para este tensor, remodele-o e reinterprete o tipo de dados do buffer.
Se Status::OK() for retornado, os dois tensores agora compartilham o mesmo armazenamento subjacente.
Essa chamada exige que o other tensor e o tipo e formato fornecidos sejam "compatíveis" (ou seja, ocupem o mesmo número de bytes).
Especificamente:
forma.num_elementos() * DataTypeSize(tipo)
deve ser igual
other.num_elements() * DataTypeSize(other.dtype())
Além disso, esta função requer:
- DataTypeSize(other.dtype()) != 0
- DataTypeSize(tipo) != 0
Caso algum dos requisitos não seja atendido, será retornado o valor `errors::InvalidArgument`.
Copiar de
bool CopyFrom( const Tensor & other, const TensorShape & shape ) TF_MUST_USE_RESULT
Copie o outro tensor para este tensor e remodele-o.
Este tensor compartilha o armazenamento subjacente de outro. Retorna true se e somente se other.shape() tiver o mesmo número de elementos da shape fornecida.
DebugString
std::string DebugString( int num_values ) const
Um resumo do tensor em linguagem acessível para humanos, adequado para depuração.
DebugString
std::string DebugString() const
String de depuração segura do dispositivo
std::string DeviceSafeDebugString() const
Descrição de preenchimento
void FillDescription( TensorDescription *description ) const
Preencha o protocolo TensorDescription com metadados sobre o tensor que sejam úteis para monitoramento e depuração.
Do Proto
bool FromProto( const TensorProto & other ) TF_MUST_USE_RESULT
Analise other e construa o tensor.
Retorna true se e somente se a análise for bem-sucedida. Se a análise falhar, o estado de *this permanece inalterado.
Do Proto
bool FromProto( Allocator *a, const TensorProto & other ) TF_MUST_USE_RESULT
Está alinhado
bool IsAligned() const
Retorna verdadeiro se e somente se este tensor estiver alinhado.
IsInitialized
bool IsInitialized() const
Se necessário, este tensor foi inicializado?
Tensores com zero elementos são sempre considerados inicializados, mesmo que nunca tenham sido atribuídos a nenhum elemento e não possuam memória alocada.
É do mesmo tamanho
bool IsSameSize( const Tensor & b ) const
NumElementos
int64 NumElements() const
Acessor prático para o formato do tensor.
RefCountIsOne
bool RefCountIsOne() const
CompartilhamentosBufferCom
bool SharesBufferWith( const Tensor & b ) const
Fatiar
Tensor Slice( int64 dim0_start, int64 dim0_limit ) const
Corte esse tensor ao longo da primeira dimensão.
Ou seja, o tensor retornado satisfaz returned[i, ...] == this[dim0_start + i, ...]. O tensor retornado compartilha o buffer de tensor subjacente com este tensor.
NOTA: O tensor retornado pode não satisfazer o mesmo requisito de alinhamento que este tensor, dependendo do formato. O chamador deve verificar o alinhamento do tensor retornado antes de chamar certos métodos que possuem requisitos de alinhamento (por exemplo, flat() , tensor() ).
NOTA: Quando alimentado com um tensor de N dimensões, este método retorna um tensor também com N dimensões. Se você quiser selecionar um subtensor, consulte SubSlice.
REQUISITOS: dims() >= 1 REQUISITOS: 0 <= dim0_start <= dim0_limit <= dim_size(0)
Subfatia
Tensor SubSlice( int64 index ) const
Selecione uma subfatia desse tensor ao longo da primeira dimensão.
Ao receber um tensor de dimensão N, este método retorna um tensor com N-1 dimensões, onde o tensor retornado é uma subfatia do tensor de entrada ao longo da primeira dimensão. As N-1 dimensões do tensor retornado são as últimas N-1 dimensões do tensor de entrada.
NOTA: O tensor retornado pode não satisfazer o mesmo requisito de alinhamento que este tensor, dependendo do formato. O chamador deve verificar o alinhamento do tensor retornado antes de chamar certos métodos que possuem requisitos de alinhamento (por exemplo, flat() , tensor() ).
REQUISITOS: dims() >= 1 REQUISITOS: 0 <= index < dim_size(0)
ResumirValor
std::string SummarizeValue( int64 max_entries, bool print_v2 ) const
Converta os primeiros valores max_entries em *this para uma string.
Tensor
Tensor()
Cria um tensor de ponto flutuante unidimensional com 0 elementos.
O Tensor retornado não é um escalar (formato {}), mas sim um Tensor unidimensional vazio (formato {0}, NumElements() == 0). Como não possui elementos, não precisa receber um valor e é inicializado por padrão ( IsInitialized() é verdadeiro). Se isso for indesejável, considere criar um escalar com um único elemento que precise ser inicializado:
Tensor(DT_FLOAT, TensorShape({}))
Tensor
Tensor( DataType type, const TensorShape & shape )
Cria um tensor do type e shape especificados.
Se LogMemory::IsEnabled(), a alocação é registrada como proveniente de um kernel e passo desconhecidos. Chamar o construtor de Tensor diretamente de dentro de uma Op está obsoleto: use os métodos allocate_* de OpKernelConstruction/OpKernelContext para alocar um novo tensor, que registram o kernel e o passo.
O buffer subjacente é alocado usando um CPUAllocator .
Tensor
Tensor( Allocator *a, DataType type, const TensorShape & shape )
Cria um tensor com o type e shape de entrada, usando o alocador a para alocar o buffer subjacente.
Se LogMemory::IsEnabled(), a alocação é registrada como proveniente de um kernel e passo desconhecidos. Chamar o construtor de Tensor diretamente de dentro de uma Op está obsoleto: use os métodos allocate_* de OpKernelConstruction/OpKernelContext para alocar um novo tensor, que registram o kernel e o passo.
a deve sobreviver à vida útil deste Tensor .
Tensor
Tensor( Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr )
Cria um tensor com o type e shape de entrada, usando o alocador a e o atributo de alocação especificado para alocar o buffer subjacente.
Se o kernel e o passo forem conhecidos, `allocation_attr.allocation_will_be_logged` deve ser definido como `true` e `LogMemory::RecordTensorAllocation` deve ser chamado após a construção do tensor. Chamar o construtor de `Tensor` diretamente de dentro de uma operação (Op) é desaconselhado: use os métodos `allocate_*` de `OpKernelConstruction`/`OpKernelContext` para alocar um novo tensor, que registram o kernel e o passo.
a deve sobreviver à vida útil deste Tensor .
Tensor
Tensor( DataType type, const TensorShape & shape, TensorBuffer *buf )
Cria um tensor com o tipo de dados, formato e buffer de entrada.
Adquire uma referência em buf que pertence a este Tensor .
Tensor
Tensor( DataType type )
Cria um Tensor vazio do tipo de dados fornecido.
Assim como Tensor() , retorna um tensor unidimensional de 0 elementos com IsInitialized() retornando True. Consulte a documentação de Tensor() para obter detalhes.
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 )
Construtor de movimentação.
Após essa chamada,
Tensor
Tensor( T *t )=delete
Total de bytes
size_t TotalBytes() const
Retorna a estimativa do uso de memória deste tensor.
UnsafeCopyFromInternal
void UnsafeCopyFromInternal( const Tensor & other, DataType dtype, const TensorShape & shape )
Semelhante ao BitcastFrom, mas o CHECK falha se alguma das pré-condições não for atendida.
Obsoleto. Use BitcastFrom em vez disso e verifique o Status retornado.
bit_casted_shaped
TTypes< T, NDIMS >::Tensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes )
Retorne os dados do tensor para um Eigen::Tensor com o novo formato especificado em new_sizes e converta para um novo dtype T
O uso de bitcast é útil para operações de movimentação e cópia. O bitcast permitido é a única diferença em relação shaped() .
bit_casted_shaped
TTypes< T, NDIMS >::ConstTensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes ) const
Retorne os dados do tensor para um Eigen::Tensor com o novo formato especificado em new_sizes e converta para um novo dtype T
O uso de bitcast é útil para operações de movimentação e cópia. O bitcast permitido é a única diferença em relação shaped() .
tensor_convertido_em_bits
TTypes< T, NDIMS >::Tensor bit_casted_tensor()
Retorna os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas com uma conversão bit a bit para o tipo de dados T especificado.
O uso de bitcast é útil para operações de movimentação e cópia. NOTA: isso é o mesmo que tensor() exceto que permite bitcast.
tensor_convertido_em_bits
TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const
Retorna os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas com uma conversão bit a bit para o tipo de dados T especificado.
O uso de bitcast é útil para operações de movimentação e cópia. NOTA: isso é o mesmo que tensor() exceto que permite bitcast.
dados
void * data() const
tamanho_dim
int64 dim_size( int d ) const
Acessor prático para o formato do tensor.
dimensões
int dims() const
Acessor prático para o formato do tensor.
Para todos os acessadores de forma, consulte os comentários dos métodos relevantes de TensorShape em tensor_shape.h .
tipo d
DataType dtype() const
Retorna o tipo de dados.
plano
TTypes< T >::Flat flat()
Retorna os dados do tensor como um Eigen::Tensor do tipo de dados e com um formato especificado.
Esses métodos permitem acessar os dados com as dimensões e tamanhos de sua escolha. Você não precisa saber o número de dimensões do Tensor para chamá-los. No entanto, eles CHECK se o tipo corresponde e se as dimensões solicitadas criam um Eigen::Tensor com o mesmo número de elementos do tensor.
Exemplo:
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
dimensões_internas_planas
TTypes< T, NDIMS >::Tensor flat_inner_dims()
dimensões_internas_planas
TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const
dimensões_internas_externas planas
TTypes< T, NDIMS >::Tensor flat_inner_outer_dims( int64 begin )
Retorna os dados como um Eigen::Tensor com dimensões NDIMS, colapsando as primeiras dimensões do Tensor 'begin' na primeira dimensão do resultado e as dimensões do Tensor dos últimos dims() - 'begin' - NDIMS na última dimensão do resultado.
Se 'begin' < 0, as dimensões iniciais |'begin'| de tamanho 1 serão adicionadas. Se 'begin' + NDIMS > dims() , então 'begin' + NDIMS - dims() serão adicionadas às dimensões finais de tamanho 1.
dimensões_internas_externas planas
TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims( int64 begin ) const
dimensões_externas_planas
TTypes< T, NDIMS >::Tensor flat_outer_dims()
dimensões_externas_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 atribuição. Este tensor compartilha o armazenamento subjacente de outros.
operador=
Tensor & operator=( Tensor && other )
Operador de movimentação. Consulte o construtor de movimentação para obter detalhes.
reinterpret_última_dimensão
TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()
Retorna os dados do tensor para um Eigen::Tensor com os elementos da última dimensão convertidos em elementos únicos de um tipo maior.
Por exemplo, isso é útil para kernels que podem tratar tensores NCHW_VECT_C int8 como tensores NCHW int32. O sizeof(T) deve ser igual ao tamanho do tipo de elemento original multiplicado pelo número de elementos na última dimensão original. O NDIMS deve ser 1 menor que o número original de dimensões.
reinterpret_última_dimensão
TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const
Retorna os dados do tensor para um Eigen::Tensor com os elementos da última dimensão convertidos em elementos únicos de um tipo maior.
Por exemplo, isso é útil para kernels que podem tratar tensores NCHW_VECT_C int8 como tensores NCHW int32. O sizeof(T) deve ser igual ao tamanho do tipo de elemento original multiplicado pelo número de elementos na última dimensão original. O NDIMS deve ser 1 menor que o número original de dimensões.
escalar
TTypes< T >::Scalar scalar()
escalar
TTypes< T >::ConstScalar scalar() const
forma
const TensorShape & shape() const
Retorna o formato do tensor.
em forma
TTypes< T, NDIMS >::Tensor shaped( gtl::ArraySlice< int64 > new_sizes )
em forma
TTypes< T, NDIMS >::ConstTensor shaped( gtl::ArraySlice< int64 > new_sizes ) const
tensor
TTypes< T, NDIMS >::Tensor tensor()
tensor
TTypes< T, NDIMS >::ConstTensor tensor() const
dados_tensores
StringPiece tensor_data() const
Retorna um StringPiece que mapeia o buffer do tensor atual.
O StringPiece retornado pode apontar para um local de memória em dispositivos que a CPU não consegue endereçar diretamente.
NOTA: O buffer de tensor subjacente é contabilizado por referência, portanto, o tempo de vida do conteúdo mapeado pelo StringPiece corresponde ao tempo de vida do buffer; os chamadores devem garantir que o buffer não seja destruído enquanto o StringPiece ainda estiver em uso.
REQUER: DataTypeCanUseMemcpy(dtype()) .
plano desalinhado
TTypes< T >::UnalignedFlat unaligned_flat()
plano desalinhado
TTypes< T >::UnalignedConstFlat unaligned_flat() const
desalinhado_forma
TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes )
desalinhado_forma
TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes ) const
vetor
TTypes< T >::Vec vec()
Retorna os dados do tensor como um Eigen::Tensor com o tipo e os tamanhos deste Tensor.
Use esses métodos quando você souber o tipo de dados e o número de dimensões do Tensor e quiser que um Eigen::Tensor seja dimensionado automaticamente para os tamanhos do Tensor. A verificação de implementação falha se o tipo ou os tamanhos não corresponderem.
Exemplo:
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
Versões constantes de todos os métodos acima.
~Tensor
~Tensor()