tensorflow:: Tensor

#include <tensor.h>

Representa uma matriz n-dimensional de valores.

Resumo

Construtores e Destruidores

Tensor ()
Cria um tensor flutuante de 1 dimensão e elemento 0.
Tensor (DataType type, const TensorShape & shape)
Cria um tensor do type e shape fornecidos.
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 entrada e shape , usando o alocador a e o "allocation_attr" especificado para alocar o buffer subjacente.
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf)
Cria um tensor com o tipo de dados de entrada, forma e buf.
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)
Copiar construtor.
Tensor ( Tensor && other)
Mover construtor.
~Tensor ()

Funções públicas

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
Preenche o proto com *this tensor.
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Status
Copie o outro tensor para este tensor, reformule-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
string
Um resumo legível por humanos do tensor adequado para depuração.
DebugString () const
string
DeviceSafeDebugString () const
string
FillDescription (TensorDescription *description) const
void
Preencha o proto TensorDescription com metadados sobre o tensor que são ú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 true 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 de conveniência para a forma do tensor.
RefCountIsOne () const
bool
SharesBufferWith (const Tensor & b) const
bool
Slice (int64 dim0_start, int64 dim0_limit) const
Fatie este tensor ao longo da 1ª dimensão.
SubSlice (int64 index) const
Selecione uma subfatia deste tensor ao longo da 1ª dimensão.
SummarizeValue (int64 max_entries, bool print_v2) const
string
Renderize os primeiros valores max_entries em *this em uma string.
TotalBytes () const
size_t
Retorna o uso de memória estimado desse tensor.
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape)
void
Como BitcastFrom, mas CHECK falhará se quaisquer pré-condições não forem atendidas.
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
Retorne os dados do tensor para um Eigen::Tensor com a nova forma especificada 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 a nova forma especificada em new_sizes e converta para um novo dtype T .
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.
data () const
void *
dim_size (int d) const
int64
Acessor de conveniência para a forma do tensor.
dims () const
int
Acessor de conveniência para a forma do tensor.
dtype () const
DataType
Retorna o tipo de dados.
flat ()
TTypes< T >::Flat
Retorne os dados do tensor como um Eigen::Tensor do tipo de dados e uma forma especificada.
flat () const
TTypes< T >::ConstFlat
flat_inner_dims ()
TTypes< T, NDIMS >:: Tensor
Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do tensor , exceto o último 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
Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo 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.
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, recolhendo todas as dimensões do Tensor , exceto o primeiro 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)
Atribuir operador. Este tensor compartilha o armazenamento subjacente de outro.
operator= ( Tensor && other)
Operador de movimento. Consulte construtor de movimento para obter detalhes.
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de dimensão convertidos em elementos únicos de um tipo maior.
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de dimensão convertidos em elementos únicos de um tipo maior.
scalar ()
TTypes< T >::Scalar
Retorne os dados do Tensor como um TensorMap de tamanho fixo 1: TensorMap > TensorMap > .
scalar () const
TTypes< T >::ConstScalar
shape () const
const TensorShape &
Retorna a forma 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 mapeando 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
Retorne os dados do tensor como um Eigen::Tensor com o tipo e os tamanhos desse Tensor .
vec () const
TTypes< T >::ConstVec
Const versões 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 *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 

BitcastDe

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

Copie o outro tensor para este tensor, reformule-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 requer que o other tensor e o tipo e forma fornecidos sejam "compatíveis" (ou seja, eles ocupem o mesmo número de bytes).

Especificamente:

shape.num_elements() * DataTypeSize(type)

deve ser igual

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

Além disso, esta função requer:

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

Se algum dos requisitos não for atendido, errors::InvalidArgument será retornado.

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 other.shape() tiver o mesmo número de elementos da shape fornecida.

DebugString

string DebugString(
  int num_values
) const 

Um resumo legível por humanos do tensor adequado para depuração.

DebugString

string DebugString() const 

DeviceSafeDebugString

string DeviceSafeDebugString() const 

Preencher Descrição

void FillDescription(
  TensorDescription *description
) const 

Preencha o proto TensorDescription com metadados sobre o tensor que são úteis para monitoramento e depuração.

FromProto

bool FromProto(
  const TensorProto & other
) TF_MUST_USE_RESULT

Analise other e construa o tensor.

Retorna true se a análise for bem-sucedida. Se a análise falhar, o estado de *this não será alterado.

FromProto

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

Está alinhado

bool IsAligned() const 

Retorna true se este tensor estiver alinhado.

Está inicializado

bool IsInitialized() const 

Se necessário, este tensor foi inicializado?

Tensores de elemento zero são sempre considerados inicializados, mesmo que nunca tenham sido atribuídos e não tenham nenhuma memória alocada.

IsSameSize

bool IsSameSize(
  const Tensor & b
) const 

NumElements

int64 NumElements() const 

Acessor de conveniência para a forma do tensor.

RefCountIsOne

bool RefCountIsOne() const 

SharesBufferWith

bool SharesBufferWith(
  const Tensor & b
) const 

Fatiar

Tensor Slice(
  int64 dim0_start,
  int64 dim0_limit
) const 

Fatie este tensor ao longo da 1ª dimensão.

Ou seja, o tensor retornado satisfaz retornado[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 da forma. 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 N-dimensional, este método retorna um tensor também com N dimensões. Se você deseja selecionar um subtensor, consulte SubSlice.

REQUER: dims() >= 1 REQUER: 0 <= dim0_start <= dim0_limit <= dim_size(0)

Subfatia

Tensor SubSlice(
  int64 index
) const 

Selecione uma subfatia deste tensor ao longo da 1ª dimensão.

Quando alimentado com um tensor N-dimensional, 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 dimensões N-1 do tensor retornado são as últimas dimensões N-1 do tensor de entrada.

NOTA: O tensor retornado pode não satisfazer o mesmo requisito de alinhamento que este tensor dependendo da forma. O chamador deve verificar o alinhamento do tensor retornado antes de chamar certos métodos que possuem requisitos de alinhamento (por exemplo, flat() , tensor() ).

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

SummarizeValue

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

Renderize os primeiros valores max_entries em *this em uma string.

Tensor

 Tensor()

Cria um tensor flutuante de 1 dimensão e elemento 0.

O tensor retornado não é um escalar (forma {}), mas sim um tensor unidimensional vazio (forma {0}, NumElements() == 0). Como não possui elementos, não precisa ser atribuído a um valor e é inicializado por padrão ( IsInitialized() é true). Se isso for indesejável, considere a criação de um escalar de um elemento que requer inicialização:

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

Cria um tensor do type e shape fornecidos.

Se LogMemory::IsEnabled() a alocação é registrada como proveniente de um kernel e etapa desconhecidos. Chamar o construtor Tensor diretamente de dentro de um Op está obsoleto: use os métodos OpKernelConstruction/OpKernelContext aloca_* para alocar um novo tensor, que registra o kernel e a etapa.

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 etapa desconhecidos. Chamar o construtor Tensor diretamente de dentro de um Op está obsoleto: use os métodos OpKernelConstruction/OpKernelContext aloca_* para alocar um novo tensor, que registra o kernel e a etapa.

a deve sobreviver ao tempo de vida deste tensor .

Tensor

 Tensor(
  Allocator *a,
  DataType type,
  const TensorShape & shape,
  const AllocationAttributes & allocation_attr
)

Cria um tensor com o type entrada e shape , usando o alocador a e o "allocation_attr" especificado para alocar o buffer subjacente.

Se o kernel e a etapa forem conhecidos, alocação_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 Tensor diretamente de dentro de um Op está obsoleto: use os métodos OpKernelConstruction/OpKernelContext aloca_* para alocar um novo tensor, que registra o kernel e a etapa.

a deve sobreviver ao tempo de vida deste tensor .

Tensor

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

Cria um tensor com o tipo de dados de entrada, forma e buf.

Adquire um ref no 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 elemento com IsInitialized() retornando True. Consulte a documentação do 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(
  const Tensor & other
)

Copiar construtor.

Tensor

 Tensor(
  Tensor && other
)

Mover construtor.

Após esta chamada, é destrutível com segurança e pode ser atribuído, mas outras chamadas nele (por exemplo, manipulação de forma) não são válidas.

TotalBytes

size_t TotalBytes() const 

Retorna o uso de memória estimado desse tensor.

InseguroCopyFromInternal

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

Como BitcastFrom, mas CHECK falhará se quaisquer pré-condições não forem atendidas.

Descontinuada. Em vez disso, use BitcastFrom 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 a nova forma especificada em new_sizes e converta para um novo dtype T .

O uso de um bitcast é útil para operações de movimentação e cópia. O bitcast permitido é a única diferença de 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 a nova forma especificada em new_sizes e converta para um novo dtype T .

O uso de um bitcast é útil para operações de movimentação e cópia. O bitcast permitido é a única diferença de shaped() .

bit_casted_tensor

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

Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.

O uso de um bitcast é útil para operações de movimentação e cópia. NOTA: é o mesmo que tensor() exceto que um bitcast é permitido.

bit_casted_tensor

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

Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.

O uso de um bitcast é útil para operações de movimentação e cópia. NOTA: é o mesmo que tensor() exceto que um bitcast é permitido.

dados

void * data() const 

dim_size

int64 dim_size(
  int d
) const 

Acessor de conveniência para a forma do tensor.

escurece

int dims() const 

Acessor de conveniência para a forma do tensor.

Para todos os acessadores de forma, veja os comentários para métodos relevantes de TensorShape em tensor_shape.h .

dtype

DataType dtype() const 

Retorna o tipo de dados.

apartamento

TTypes< T >::Flat flat()

Retorne os dados do tensor como um Eigen::Tensor do tipo de dados e uma forma especificada.

Esses métodos permitem que você acesse 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 as dimensões solicitadas criam um Eigen::Tensor com o mesmo número de elementos que o 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({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()

Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do tensor , exceto o último NDIMS-1, na primeira dimensão do resultado.

Se NDIMS > dims() , as dimensões iniciais de tamanho 1 serão adicionadas para tornar a classificação de saída 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
)

Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo 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 então o |'begin'| dimensões principais de tamanho 1 serão adicionadas. Se 'begin' + NDIMS > dims() então 'begin' + NDIMS - dims() dimensões finais de tamanho 1 serão adicionadas.

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()

Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do Tensor , exceto o primeiro NDIMS-1, na última dimensão do resultado.

Se NDIMS > dims() , as dimensões finais de tamanho 1 serão adicionadas para tornar a classificação de saída 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
)

Atribuir operador. Este tensor compartilha o armazenamento subjacente de outro.

operador=

Tensor & operator=(
  Tensor && other
)

Operador de movimento. Consulte construtor de movimento para obter detalhes.

reinterpretar_última_dimensão

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

Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de 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 elemento original type * num elements na última dimensão original. NDIMS deve ser 1 a menos que o número original de dimensões.

reinterpretar_última_dimensão

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

Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de 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 elemento original type * num elements na última dimensão original. NDIMS deve ser 1 a menos que o número original de dimensões.

escalar

TTypes< T >::Scalar scalar()

Retorne os dados do Tensor como um TensorMap de tamanho fixo 1: TensorMap > TensorMap > .

O uso de scalar() permite que o compilador realize otimizações, pois o tamanho do tensor é conhecido em tempo de compilação.

escalar

TTypes< T >::ConstScalar scalar() const 

forma

const TensorShape & shape() const 

Retorna a forma do tensor.

moldado

TTypes< T, NDIMS >::Tensor shaped(
  gtl::ArraySlice< int64 > new_sizes
)

moldado

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 

Retorna um StringPiece mapeando o buffer do tensor atual.

O StringPiece retornado pode apontar para a localização da memória em dispositivos que a CPU não pode endereçar diretamente.

NOTA: O buffer do tensor subjacente é refcounted, portanto, o tempo de vida do conteúdo mapeado pelo StringPiece corresponde ao tempo de vida do buffer; os chamadores devem providenciar para garantir que o buffer não seja destruído enquanto o StringPiece ainda estiver sendo usado.

REQUER: 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

l10n-placeholder89

vec

l10n-placeholder90

Retorne os dados do tensor como um Eigen::Tensor com o tipo e os tamanhos desse tensor .

Use esses métodos quando souber o tipo de dados e o número de dimensões do tensor e desejar que um Eigen::Tensor seja dimensionado automaticamente para os tamanhos do tensor. A verificação de implementação falhará se o tipo ou os tamanhos não corresponderem.

Exemplo:

l10n-placeholder91

l10n-placeholder92

Const versões de todos os métodos acima.

~Tensor

l10n-placeholder93
,

tensorflow:: Tensor

#include <tensor.h>

Representa uma matriz n-dimensional de valores.

Resumo

Construtores e Destruidores

Tensor ()
Cria um tensor flutuante de 1 dimensão e elemento 0.
Tensor (tipo DataType, const TensorShape & shape)
Cria um tensor do tipo e forma fornecidos.
Tensor (Allocator *a, tipo DataType, const TensorShape & shape)
Cria um tensor com o tipo e forma de entrada, usando o alocador a para alocar o buffer subjacente.
Tensor (Allocator *a, tipo DataType, const TensorShape & shape, const AllocationAttributes &location_attr)
Cria um tensor com o tipo de entrada e forma , usando o alocador a e o "allocation_attr" especificado para alocar o buffer subjacente.
Tensor (tipo DataType, const TensorShape & shape, TensorBuffer *buff)
Cria um tensor com o tipo de dados de entrada, forma e buf.
Tensor (tipo DataType)
Cria um tensor vazio do tipo de dados fornecido.
Tensor (valor_escalar flutuante)
Tensor (valor_escalar duplo)
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 e outros)
Copiar construtor.
Tensor (Tensor && outro)
Mover construtor.
~Tensor()

Funções públicas

AlllocatedBytes() const
tamanho_t
AsProtoField (TensorProto *proto) const
vazio
Preenche o proto com *o conteúdo deste tensor.
AsProtoTensorContent (TensorProto *proto) const
vazio
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Status
Copie o outro tensor para este tensor, reformule-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
corda
Um resumo legível por humanos do tensor adequado para depuração.
DebugString() const
corda
DeviceSafeDebugString() const
corda
FillDescription (TensorDescription *description) const
vazio
Preencha o proto TensorDescription com metadados sobre o tensor que são úteis para monitoramento e depuração.
FromProto (const TensorProto e outros) TF_MUST_USE_RESULT
bool
Analise outro e construa o tensor.
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT
bool
Está Alinhado () const
bool
Retorna true 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 de conveniência para a forma do tensor.
RefCountIsOne() const
bool
SharesBufferWith (const Tensor & b) const
bool
Fatia (int64 dim0_start, int64 dim0_limit) const
Tensor
Fatie este tensor ao longo da 1ª dimensão.
SubSlice (índice int64) const
Tensor
Selecione uma subfatia deste tensor ao longo da 1ª dimensão.
SummarizeValue (int64 max_entries, bool print_v2) const
corda
Renderize os primeiros valores max_entries em *this em uma string.
TotalBytes() const
tamanho_t
Retorna o uso de memória estimado desse tensor.
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape)
vazio
Como BitcastFrom, mas CHECK falhará se quaisquer pré-condições não forem atendidas.
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
Retorne os dados do tensor para um Eigen::Tensor com a nova forma especificada 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 a nova forma especificada em new_sizes e converta para um novo dtype T .
bit_casted_tensor()
TTypes< T, NDIMS >:: Tensor
Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.
bit_casted_tensor() const
TTypes< T, NDIMS >::ConstTensor
Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.
dados () const
vazio *
dim_size (int d) const
int64
Acessor de conveniência para a forma do tensor.
escurece () const
int
Acessor de conveniência para a forma do tensor.
dtype() const
Tipo de dados
Retorna o tipo de dados.
plano ()
TTypes< T >::Flat
Retorne os dados do tensor como um Eigen::Tensor do tipo de dados e uma forma especificada.
plano () const
TTypes< T >::ConstFlat
flat_inner_dims()
TTypes< T, NDIMS >:: Tensor
Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do tensor, exceto o último NDIMS-1, na primeira dimensão do resultado.
flat_inner_dims () const
TTypes< T, NDIMS >::ConstTensor
flat_inner_outer_dims (início do int64)
TTypes< T, NDIMS >:: Tensor
Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo 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.
flat_inner_outer_dims (início int64) const
TTypes< T, NDIMS >::ConstTensor
flat_outer_dims ()
TTypes< T, NDIMS >:: Tensor
Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do Tensor, exceto o primeiro NDIMS-1, na última dimensão do resultado.
flat_outer_dims () const
TTypes< T, NDIMS >::ConstTensor
matriz ()
TTypes< T >::Matriz
matriz () const
TTypes< T >::ConstMatrix
operador = (tensor const e outros)
Tensor &
Atribuir operador. Este tensor compartilha o armazenamento subjacente de outro.
operador= ( Tensor && outro)
Tensor &
Operador de movimento. Consulte construtor de movimento para obter detalhes.
reinterpretar_última_dimensão ()
TTypes< T, NDIMS >:: Tensor
Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de dimensão convertidos em elementos únicos de um tipo maior.
reinterpret_last_dimension() const
TTypes< T, NDIMS >::ConstTensor
Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de dimensão convertidos em elementos únicos de um tipo maior.
escalar ()
TTypes< T >::Escalar
Retorne os dados do Tensor como um TensorMap de tamanho fixo 1: TensorMap > .
escalar() const
TTypes< T >::ConstScalar
forma () const
const TensorShape &
Retorna a forma do tensor.
em forma (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
String Piece
Retorna um StringPiece mapeando 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
ve ()
TTypes< T >::Vec
Retorne os dados do tensor como um Eigen::Tensor com o tipo e os tamanhos desse tensor .
vec() const
TTypes< T >::ConstVec
Const versões de todos os métodos acima.

Funções públicas

Bytes alocados

l10n-placeholder1

AsProtoField

l10n-placeholder2

Preenche o proto com *o conteúdo deste tensor.

AsProtoField() preenche o campo repetido para proto.dtype() , enquanto AsProtoTensorContent() codifica o conteúdo em proto.tensor_content() em um formato compacto.

AsProtoTensorContent

l10n-placeholder3

BitcastDe

l10n-placeholder4

Copie o outro tensor para este tensor, reformule-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 requer que o outro tensor e o tipo e forma fornecidos sejam "compatíveis" (ou seja, eles ocupem o mesmo número de bytes).

Especificamente:

shape.num_elements() * DataTypeSize(type)

deve ser igual

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

Além disso, esta função requer:

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

Se algum dos requisitos não for atendido, errors::InvalidArgument será retornado.

Copiar de

l10n-placeholder5

Copie o outro tensor para este tensor e remodele-o.

Este tensor compartilha o armazenamento subjacente de outro. Retorna true se other.shape() tiver o mesmo número de elementos da forma fornecida.

DebugString

l10n-placeholder6

Um resumo legível por humanos do tensor adequado para depuração.

DebugString

l10n-placeholder7

DeviceSafeDebugString

l10n-placeholder8

Preencher Descrição

l10n-placeholder9

Preencha o proto TensorDescription com metadados sobre o tensor que são úteis para monitoramento e depuração.

FromProto

l10n-placeholder10

Analise outro e construa o tensor.

Retorna true se a análise for bem-sucedida. Se a análise falhar, o estado de *this não será alterado.

FromProto

l10n-placeholder11

Está alinhado

l10n-placeholder12

Retorna true se este tensor estiver alinhado.

Está inicializado

l10n-placeholder13

Se necessário, este tensor foi inicializado?

Tensores de elemento zero são sempre considerados inicializados, mesmo que nunca tenham sido atribuídos e não tenham nenhuma memória alocada.

IsSameSize

l10n-placeholder14

NumElements

l10n-placeholder15

Acessor de conveniência para a forma do tensor.

RefCountIsOne

l10n-placeholder16

SharesBufferWith

l10n-placeholder17

Fatiar

l10n-placeholder18

Fatie este tensor ao longo da 1ª dimensão.

Ou seja, o tensor retornado satisfaz retornado[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 da forma. 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 N-dimensional, este método retorna um tensor também com N dimensões. Se você deseja selecionar um subtensor, consulte SubSlice.

REQUER: dims() >= 1 REQUER: 0 <= dim0_start <= dim0_limit <= dim_size(0)

Subfatia

l10n-placeholder19

Selecione uma subfatia deste tensor ao longo da 1ª dimensão.

Quando alimentado com um tensor N-dimensional, 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 dimensões N-1 do tensor retornado são as últimas dimensões N-1 do tensor de entrada.

NOTA: O tensor retornado pode não satisfazer o mesmo requisito de alinhamento que este tensor dependendo da forma. O chamador deve verificar o alinhamento do tensor retornado antes de chamar certos métodos que possuem requisitos de alinhamento (por exemplo, flat() , tensor() ).

REQUER: dims() >= 1 REQUER: 0 <= índice < dim_size(0)

SummarizeValue

l10n-placeholder20

Renderize os primeiros valores max_entries em *this em uma string.

Tensor

l10n-placeholder21

Cria um tensor flutuante de 1 dimensão e elemento 0.

O tensor retornado não é um escalar (forma {}), mas sim um tensor unidimensional vazio (forma {0}, NumElements() == 0). Como não possui elementos, não precisa ser atribuído a um valor e é inicializado por padrão ( IsInitialized() é true). Se isso for indesejável, considere a criação de um escalar de um elemento que requer inicialização:

l10n-placeholder22

l10n-placeholder23

Cria um tensor do tipo e forma fornecidos.

Se LogMemory::IsEnabled() a alocação é registrada como proveniente de um kernel e etapa desconhecidos. Chamar o construtor Tensor diretamente de dentro de um Op está obsoleto: use os métodos OpKernelConstruction/OpKernelContext aloca_* para alocar um novo tensor, que registra o kernel e a etapa.

O buffer subjacente é alocado usando um CPUAllocator .

Tensor

l10n-placeholder24

Cria um tensor com o tipo e forma de entrada, usando o alocador a para alocar o buffer subjacente.

Se LogMemory::IsEnabled() a alocação é registrada como proveniente de um kernel e etapa desconhecidos. Chamar o construtor Tensor diretamente de dentro de um Op está obsoleto: use os métodos OpKernelConstruction/OpKernelContext aloca_* para alocar um novo tensor, que registra o kernel e a etapa.

um deve sobreviver ao tempo de vida deste tensor.

Tensor

l10n-placeholder25

Cria um tensor com o tipo de entrada e forma , usando o alocador a e o "allocation_attr" especificado para alocar o buffer subjacente.

Se o kernel e a etapa forem conhecidos, alocação_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 Tensor diretamente de dentro de um Op está obsoleto: use os métodos OpKernelConstruction/OpKernelContext aloca_* para alocar um novo tensor, que registra o kernel e a etapa.

um deve sobreviver ao tempo de vida deste tensor.

Tensor

l10n-placeholder26

Cria um tensor com o tipo de dados de entrada, forma e buf.

Adquire um ref no buf que pertence a este Tensor.

Tensor

l10n-placeholder27

Cria um tensor vazio do tipo de dados fornecido.

Assim como Tensor() , retorna um Tensor unidimensional de 0 elemento com IsInitialized() retornando True. Consulte a documentação do Tensor() para obter detalhes.

Tensor

l10n-placeholder28

Tensor

l10n-placeholder29

Tensor

l10n-placeholder30

Tensor

l10n-placeholder31

Tensor

l10n-placeholder32

Tensor

l10n-placeholder33

Tensor

l10n-placeholder34

Tensor

l10n-placeholder35

Tensor

l10n-placeholder36

Tensor

l10n-placeholder37

Tensor

l10n-placeholder38

Tensor

l10n-placeholder39

Tensor

l10n-placeholder40

Tensor

l10n-placeholder41

Tensor

l10n-placeholder42

Tensor

l10n-placeholder43

Tensor

l10n-placeholder44

Tensor

l10n-placeholder45

Tensor

l10n-placeholder46

Tensor

l10n-placeholder47

Tensor

l10n-placeholder48

Tensor

l10n-placeholder49

Tensor

l10n-placeholder50

Tensor

l10n-placeholder51

Copiar construtor.

Tensor

l10n-placeholder52

Mover construtor.

Após esta chamada, é destrutível com segurança e pode ser atribuído, mas outras chamadas nele (por exemplo, manipulação de forma) não são válidas.

TotalBytes

l10n-placeholder53

Retorna o uso de memória estimado desse tensor.

InseguroCopyFromInternal

l10n-placeholder54

Como BitcastFrom, mas CHECK falhará se quaisquer pré-condições não forem atendidas.

Descontinuada. Em vez disso, use BitcastFrom e verifique o Status retornado.

bit_casted_shaped

l10n-placeholder 55

Retorne os dados do tensor para um Eigen::Tensor com a nova forma especificada em new_sizes e converta para um novo dtype T .

O uso de um bitcast é útil para operações de movimentação e cópia. O bitcast permitido é a única diferença de shaped() .

bit_casted_shaped

l10n-placeholder 56

Retorne os dados do tensor para um Eigen::Tensor com a nova forma especificada em new_sizes e converta para um novo dtype T .

O uso de um bitcast é útil para operações de movimentação e cópia. O bitcast permitido é a única diferença de shaped() .

bit_casted_tensor

l10n-placeholder 57

Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.

O uso de um bitcast é útil para operações de movimentação e cópia. NOTA: é o mesmo que tensor(), exceto que um bitcast é permitido.

bit_casted_tensor

l10n-placeholder 58

Retorne os dados do tensor para um Eigen::Tensor com o mesmo tamanho, mas uma conversão bit a bit para o dtype T especificado.

O uso de um bitcast é útil para operações de movimentação e cópia. NOTA: é o mesmo que tensor(), exceto que um bitcast é permitido.

dados

l10n-placeholder 59

dim_size

l10n-placeholder60

Acessor de conveniência para a forma do tensor.

escurece

l10n-placeholder61

Acessor de conveniência para a forma do tensor.

Para todos os acessadores de forma, veja os comentários para métodos relevantes de TensorShape em tensor_shape.h .

dtype

l10n-placeholder62

Retorna o tipo de dados.

apartamento

l10n-placeholder63

Retorne os dados do tensor como um Eigen::Tensor do tipo de dados e uma forma especificada.

Esses métodos permitem que você acesse 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 VERIFICAM se o tipo corresponde e as dimensões solicitadas criam um Eigen::Tensor com o mesmo número de elementos que o tensor.

Exemplo:

l10n-placeholder64

l10n-placeholder65

flat_inner_dims

l10n-placeholder66

Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do tensor, exceto o último NDIMS-1, na primeira dimensão do resultado.

Se NDIMS > dims(), as dimensões iniciais de tamanho 1 serão adicionadas para tornar a classificação de saída NDIMS.

flat_inner_dims

l10n-placeholder67

flat_inner_outer_dims

l10n-placeholder68

Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo 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 então o |'begin'| dimensões principais de tamanho 1 serão adicionadas. Se 'begin' + NDIMS > dims() então 'begin' + NDIMS - dims() dimensões finais de tamanho 1 serão adicionadas.

flat_inner_outer_dims

l10n-placeholder69

flat_outer_dims

l10n-placeholder70

Retorna os dados como um Eigen::Tensor com dimensões NDIMS, recolhendo todas as dimensões do Tensor, exceto o primeiro NDIMS-1, na última dimensão do resultado.

Se NDIMS > dims(), as dimensões finais de tamanho 1 serão adicionadas para tornar a classificação de saída NDIMS.

flat_outer_dims

l10n-placeholder71

matriz

l10n-placeholder72

matriz

l10n-placeholder73

operador=

l10n-placeholder74

Atribuir operador. Este tensor compartilha o armazenamento subjacente de outro.

operador=

l10n-placeholder75

Operador de movimento. Consulte construtor de movimento para obter detalhes.

reinterpretar_última_dimensão

l10n-placeholder76

Retorne os dados do tensor para um Eigen::Tensor com os últimos elementos de dimensão convertidos em elementos únicos de um tipo maior.

For example, this is useful for kernels that can treat NCHW_VECT_C int8 tensors as NCHW int32 tensors. The sizeof(T) should equal the size of the original element type * num elements in the original last dimension. NDIMS should be 1 less than the original number of dimensions.

reinterpret_last_dimension

l10n-placeholder77

Return the tensor data to an Eigen::Tensor with the last dimension elements converted into single elements of a larger type.

For example, this is useful for kernels that can treat NCHW_VECT_C int8 tensors as NCHW int32 tensors. The sizeof(T) should equal the size of the original element type * num elements in the original last dimension. NDIMS should be 1 less than the original number of dimensions.

scalar

l10n-placeholder78

Return the Tensor data as a TensorMap of fixed size 1: TensorMap > .

Using scalar() allows the compiler to perform optimizations as the size of the tensor is known at compile time.

scalar

l10n-placeholder79

shape

l10n-placeholder80

Returns the shape of the tensor.

shaped

l10n-placeholder81

shaped

l10n-placeholder82

tensor

l10n-placeholder83

tensor

l10n-placeholder84

tensor_data

l10n-placeholder85

Returns a StringPiece mapping the current tensor's buffer.

The returned StringPiece may point to memory location on devices that the CPU cannot address directly.

NOTE: The underlying tensor buffer is refcounted, so the lifetime of the contents mapped by the StringPiece matches the lifetime of the buffer; callers should arrange to make sure the buffer does not get destroyed while the StringPiece is still used.

REQUIRES: DataTypeCanUseMemcpy(dtype()) .

unaligned_flat

l10n-placeholder86

unaligned_flat

l10n-placeholder87

unaligned_shaped

l10n-placeholder88

unaligned_shaped

l10n-placeholder89

vec

l10n-placeholder90

Return the tensor data as an Eigen::Tensor with the type and sizes of this Tensor .

Use these methods when you know the data type and the number of dimensions of the Tensor and you want an Eigen::Tensor automatically sized to the Tensor sizes. The implementation check fails if either type or sizes mismatch.

Example:

l10n-placeholder91

l10n-placeholder92

Const versions of all the methods above.

~Tensor

l10n-placeholder93