flusso tensoriale:: Tensore
#include <tensor.h>
Rappresenta una matrice di valori n-dimensionale.
Riepilogo
Costruttori e Distruttori | |
---|---|
Tensor () Crea un tensore float unidimensionale a 0 elementi. | |
Tensor (DataType type, const TensorShape & shape) | |
Tensor (Allocator *a, DataType type, const TensorShape & shape) Crea un tensore con l'input type e shape , usando l'allocatore a per allocare il buffer sottostante. | |
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr) Crea un tensore con l'input type e shape , usando l'allocatore a e il parametro "allocation_attr" specificato per allocare il buffer sottostante. | |
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf) Crea un tensore con il tipo di dati di input, la forma e il buf. | |
Tensor (DataType type) Crea un tensore vuoto del tipo di dati specificato. | |
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) Costruttore di copia. | |
Tensor ( Tensor && other) Muovi il costruttore. | |
~Tensor () |
Funzioni pubbliche | |
---|---|
AllocatedBytes () const | size_t |
AsProtoField (TensorProto *proto) const | void Completa il proto con il contenuto di *this tensore. |
AsProtoTensorContent (TensorProto *proto) const | void |
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape) | Status Copia l'altro tensore in questo tensore, rimodellalo e reinterpreta il tipo di dati del buffer. |
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT | bool Copia l'altro tensore in questo tensore e rimodellalo. |
DebugString (int num_values) const | string Un riassunto leggibile dall'uomo del tensore adatto per il debug. |
DebugString () const | string |
DeviceSafeDebugString () const | string |
FillDescription (TensorDescription *description) const | void Compila il prototipo TensorDescription con i metadati sul tensore utili per il monitoraggio e il debug. |
FromProto (const TensorProto & other) TF_MUST_USE_RESULT | bool Analizza other e costruisci il tensore. |
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT | bool |
IsAligned () const | bool Restituisce vero se questo tensore è allineato. |
IsInitialized () const | bool Se necessario, questo Tensor è stato inizializzato? |
IsSameSize (const Tensor & b) const | bool |
NumElements () const | int64 Comodo accessorio per la forma del tensore. |
RefCountIsOne () const | bool |
SharesBufferWith (const Tensor & b) const | bool |
Slice (int64 dim0_start, int64 dim0_limit) const | Taglia questo tensore lungo la 1a dimensione. |
SubSlice (int64 index) const | Seleziona una sottosezione da questo tensore lungo la 1a dimensione. |
SummarizeValue (int64 max_entries, bool print_v2) const | string Rendi i primi valori di max_entries in *this in una stringa. |
TotalBytes () const | size_t Restituisce l'utilizzo di memoria stimato di questo tensore. |
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape) | void Come BitcastFrom, ma CHECK non riesce se non vengono soddisfatte eventuali precondizioni. |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor Restituisce i dati del tensore a un Eigen::Tensor con la nuova forma specificata in new_sizes e lancia su un nuovo dtype T . |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor Restituisce i dati del tensore a un Eigen::Tensor con la nuova forma specificata in new_sizes e lancia su un nuovo dtype T . |
bit_casted_tensor () | TTypes< T, NDIMS >:: Tensor Restituisce i dati del tensore a un Eigen::Tensor con la stessa dimensione ma un cast bit per bit al dtype T specificato. |
bit_casted_tensor () const | TTypes< T, NDIMS >::ConstTensor Restituisce i dati del tensore a un Eigen::Tensor con la stessa dimensione ma un cast bit per bit al dtype T specificato. |
data () const | void * |
dim_size (int d) const | int64 Comodo accessorio per la forma del tensore. |
dims () const | int Comodo accessorio per la forma del tensore. |
dtype () const | DataType Restituisce il tipo di dati. |
flat () | TTypes< T >::Flat Restituisce i dati del tensore come Eigen::Tensor del tipo di dati e di una forma specificata. |
flat () const | TTypes< T >::ConstFlat |
flat_inner_dims () | TTypes< T, NDIMS >:: Tensor Restituisce i dati come Eigen::Tensor con dimensioni NDIMS, comprimendo tutte le dimensioni Tensor tranne l'ultimo NDIMS-1 nella prima dimensione del risultato. |
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 Restituisce i dati come Eigen::Tensor con dimensioni NDIMS, comprimendo tutte le dimensioni Tensor tranne il primo NDIMS-1 nell'ultima dimensione del risultato. |
flat_outer_dims () const | TTypes< T, NDIMS >::ConstTensor |
matrix () | TTypes< T >::Matrix |
matrix () const | TTypes< T >::ConstMatrix |
operator= (const Tensor & other) | Tensor & Assegna operatore. Questo tensore condivide l'archiviazione sottostante di altri. |
operator= ( Tensor && other) | Tensor & Sposta operatore. Vedere il costruttore di mosse per i dettagli. |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor Restituisce i dati del tensore a un Eigen::Tensor con gli ultimi elementi di dimensione convertiti in elementi singoli di tipo più grande. |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor Restituisce i dati del tensore a un Eigen::Tensor con gli ultimi elementi di dimensione convertiti in elementi singoli di tipo più grande. |
scalar () | TTypes< T >::Scalar |
scalar () const | TTypes< T >::ConstScalar |
shape () const | const TensorShape & Restituisce la forma del tensore. |
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 Restituisce un StringPiece mappa il buffer del tensore corrente. |
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 Restituisce i dati del tensore come Eigen::Tensor con il tipo e le dimensioni di questo Tensor . |
vec () const | TTypes< T >::ConstVec Versioni const di tutti i metodi sopra. |
Funzioni pubbliche
Byte allocati
size_t AllocatedBytes() const
Come ProtoField
void AsProtoField( TensorProto *proto ) const
Completa il proto
con il contenuto di *this
tensore.
AsProtoField()
compila il campo ripetuto per proto.dtype()
, mentre AsProtoTensorContent()
codifica il contenuto in proto.tensor_content()
in un formato compatto.
AsProtoTensorContent
void AsProtoTensorContent( TensorProto *proto ) const
BitcastDa
Status BitcastFrom( const Tensor & other, DataType dtype, const TensorShape & shape )
Copia l'altro tensore in questo tensore, rimodellalo e reinterpreta il tipo di dati del buffer.
Se viene restituito Status::OK(), i due tensori condividono ora la stessa memoria sottostante.
Questa chiamata richiede che l' other
tensore e il tipo e la forma dati siano "compatibili" (cioè occupino lo stesso numero di byte).
Nello specifico:
shape.num_elements() * DataTypeSize(tipo)
deve essere uguale
other.num_elements() * DataTypeSize(other.dtype())
Inoltre, questa funzione richiede:
- DataTypeSize(other.dtype()) != 0
- DataTypeSize(tipo) != 0
Se uno qualsiasi dei requisiti non viene soddisfatto, viene restituito errors::InvalidArgument.
Copia da
bool CopyFrom( const Tensor & other, const TensorShape & shape ) TF_MUST_USE_RESULT
Copia l'altro tensore in questo tensore e rimodellalo.
Questo tensore condivide l'archiviazione sottostante di altri. Restituisce true
se other.shape()
ha lo stesso numero di elementi della shape
data.
DebugString
string DebugString( int num_values ) const
Un riassunto leggibile dall'uomo del tensore adatto per il debug.
DebugString
string DebugString() const
DeviceSafeDebugString
string DeviceSafeDebugString() const
FillDescription
void FillDescription( TensorDescription *description ) const
Compila il prototipo TensorDescription
con i metadati sul tensore utili per il monitoraggio e il debug.
Da Proto
bool FromProto( const TensorProto & other ) TF_MUST_USE_RESULT
Analizza other
e costruisci il tensore.
Restituisce true
se l'analisi ha esito positivo. Se l'analisi non riesce, lo stato di *this
è invariato.
Da Proto
bool FromProto( Allocator *a, const TensorProto & other ) TF_MUST_USE_RESULT
è allineato
bool IsAligned() const
Restituisce vero se questo tensore è allineato.
È inizializzato
bool IsInitialized() const
Se necessario, questo Tensor è stato inizializzato?
I Tensori a zero elementi sono sempre considerati inizializzati, anche se non sono mai stati assegnati e non hanno memoria allocata.
È la stessa dimensione
bool IsSameSize( const Tensor & b ) const
NumElements
int64 NumElements() const
Comodo accessorio per la forma del tensore.
RefCountIsOne
bool RefCountIsOne() const
Azioni BufferWith
bool SharesBufferWith( const Tensor & b ) const
Fetta
Tensor Slice( int64 dim0_start, int64 dim0_limit ) const
Taglia questo tensore lungo la 1a dimensione.
Cioè, il tensore restituito soddisfa restituito[i, ...] == this[dim0_start + i, ...]. Il tensore restituito condivide il buffer tensore sottostante con questo tensore.
NOTA: il tensore restituito potrebbe non soddisfare lo stesso requisito di allineamento di questo tensore a seconda della forma. Il chiamante deve controllare l'allineamento del tensore restituito prima di chiamare determinati metodi che hanno requisiti di allineamento (ad es. flat()
, tensor()
).
NOTA: Se alimentato con un tensore N-dimensionale, questo metodo restituisce un tensore anche con N dimensioni. Se vuoi selezionare un sottotensore, vedi SubSlice.
RICHIEDE: dims()
>= 1 RICHIEDE: 0 <= dim0_start <= dim0_limit <= dim_size(0)
Sottofetta
Tensor SubSlice( int64 index ) const
Seleziona una sottosezione da questo tensore lungo la 1a dimensione.
Quando viene alimentato con un tensore N-dimensionale, questo metodo restituisce un tensore con dimensioni N-1, dove il tensore restituito è una sottosezione del tensore di input lungo la prima dimensione. Le dimensioni N-1 del tensore restituito sono le ultime N-1 dimensioni del tensore di input.
NOTA: il tensore restituito potrebbe non soddisfare lo stesso requisito di allineamento di questo tensore a seconda della forma. Il chiamante deve controllare l'allineamento del tensore restituito prima di chiamare determinati metodi che hanno requisiti di allineamento (ad es. flat()
, tensor()
).
RICHIEDE: dims()
>= 1 RICHIEDE: 0 <= index < dim_size(0)
Riassumi valore
string SummarizeValue( int64 max_entries, bool print_v2 ) const
Rendi i primi valori di max_entries
in *this
in una stringa.
Tensore
Tensor()
Crea un tensore float unidimensionale a 0 elementi.
Il tensore restituito non è uno scalare (forma {}), ma è invece un tensore unidimensionale vuoto (forma {0}, NumElements() == 0). Poiché non ha elementi, non è necessario che gli venga assegnato un valore e viene inizializzato per impostazione predefinita ( IsInitialized() è true). Se ciò non è desiderabile, prendere in considerazione la creazione di uno scalare a un elemento che richiede l'inizializzazione:
Tensor(DT_FLOAT, TensorShape({}))
Tensor
Tensor( DataType type, const TensorShape & shape )
Crea un Tensor del type
e della shape
indicati.
Se LogMemory::IsEnabled() l'allocazione viene registrata come proveniente da un kernel e un passaggio sconosciuti. La chiamata al costruttore Tensor direttamente dall'interno di un Op è deprecata: usa i metodi OpKernelConstruction/OpKernelContext allocate_* per allocare un nuovo tensore, che registra il kernel e il passaggio.
Il buffer sottostante viene allocato utilizzando un CPUAllocator
.
Tensore
Tensor( Allocator *a, DataType type, const TensorShape & shape )
Crea un tensore con l'input type
e shape
, usando l'allocatore a
per allocare il buffer sottostante.
Se LogMemory::IsEnabled() l'allocazione viene registrata come proveniente da un kernel e un passaggio sconosciuti. La chiamata al costruttore Tensor direttamente dall'interno di un Op è deprecata: usa i metodi OpKernelConstruction/OpKernelContext allocate_* per allocare un nuovo tensore, che registra il kernel e il passaggio.
a
must sopravvive alla vita di questo Tensor .
Tensore
Tensor( Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr )
Crea un tensore con l'input type
e shape
, usando l'allocatore a
e il parametro "allocation_attr" specificato per allocare il buffer sottostante.
Se il kernel e il passaggio sono noti, allocation_attr.allocation_will_be_logged dovrebbe essere impostato su true e LogMemory::RecordTensorAllocation dovrebbe essere chiamato dopo che il tensore è stato costruito. La chiamata al costruttore Tensor direttamente dall'interno di un Op è deprecata: usa i metodi OpKernelConstruction/OpKernelContext allocate_* per allocare un nuovo tensore, che registra il kernel e il passaggio.
a
must sopravvive alla vita di questo Tensor .
Tensore
Tensor( DataType type, const TensorShape & shape, TensorBuffer *buf )
Crea un tensore con il tipo di dati di input, la forma e il buf.
Acquisisce un ref su buf che appartiene a questo Tensor .
Tensore
Tensor( DataType type )
Crea un tensore vuoto del tipo di dati specificato.
Come Tensor() , restituisce un Tensor unidimensionale a 0 elementi con IsInitialized() che restituisce True. Vedere la documentazione Tensor() per i dettagli.
Tensore
Tensor( float scalar_value )
Tensore
Tensor( double scalar_value )
Tensore
Tensor( int32 scalar_value )
Tensore
Tensor( uint32 scalar_value )
Tensore
Tensor( uint16 scalar_value )
Tensore
Tensor( uint8 scalar_value )
Tensore
Tensor( int16 scalar_value )
Tensore
Tensor( int8 scalar_value )
Tensore
Tensor( tstring scalar_value )
Tensore
Tensor( complex64 scalar_value )
Tensore
Tensor( complex128 scalar_value )
Tensore
Tensor( int64 scalar_value )
Tensore
Tensor( uint64 scalar_value )
Tensore
Tensor( bool scalar_value )
Tensore
Tensor( qint8 scalar_value )
Tensore
Tensor( quint8 scalar_value )
Tensore
Tensor( qint16 scalar_value )
Tensore
Tensor( quint16 scalar_value )
Tensore
Tensor( qint32 scalar_value )
Tensore
Tensor( bfloat16 scalar_value )
Tensore
Tensor( Eigen::half scalar_value )
Tensore
Tensor( ResourceHandle scalar_value )
Tensore
Tensor( const char *scalar_value )
Tensore
Tensor( Tensor && other )
Muovi il costruttore.
Dopo questa chiamata,
Byte totali
size_t TotalBytes() const
Restituisce l'utilizzo di memoria stimato di questo tensore.
UnsafeCopyFromInternal
void UnsafeCopyFromInternal( const Tensor & other, DataType dtype, const TensorShape & shape )
Come BitcastFrom, ma CHECK non riesce se non vengono soddisfatte eventuali precondizioni.
Deprecato. Utilizzare invece BitcastFrom e controllare lo stato restituito.
bit_casted_shaped
TTypes< T, NDIMS >::Tensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes )
Restituisce i dati del tensore a un Eigen::Tensor
con la nuova forma specificata in new_sizes
e lancia su un nuovo dtype T
.
L'uso di un bitcast è utile per le operazioni di spostamento e copia. Il bitcast consentito è l'unica differenza da shape shaped()
.
bit_casted_shaped
TTypes< T, NDIMS >::ConstTensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes ) const
Restituisce i dati del tensore a un Eigen::Tensor
con la nuova forma specificata in new_sizes
e lancia su un nuovo dtype T
.
L'uso di un bitcast è utile per le operazioni di spostamento e copia. Il bitcast consentito è l'unica differenza da shape shaped()
.
bit_casted_tensor
TTypes< T, NDIMS >::Tensor bit_casted_tensor()
Restituisce i dati del tensore a un Eigen::Tensor
con la stessa dimensione ma un cast bit per bit al dtype T
specificato.
L'uso di un bitcast è utile per le operazioni di spostamento e copia. NOTA: è lo stesso di tensor()
tranne per il fatto che è consentito un bitcast.
bit_casted_tensor
TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const
Restituisce i dati del tensore a un Eigen::Tensor
con la stessa dimensione ma un cast bit per bit al dtype T
specificato.
L'uso di un bitcast è utile per le operazioni di spostamento e copia. NOTA: è lo stesso di tensor()
tranne per il fatto che è consentito un bitcast.
dati
void * data() const
dim_dimensione
int64 dim_size( int d ) const
Comodo accessorio per la forma del tensore.
si attenua
int dims() const
Comodo accessorio per la forma del tensore.
Per tutte le funzioni di accesso di forma, vedere i commenti per i metodi pertinenti di TensorShape
in tensor_shape.h
.
tipo d
DataType dtype() const
Restituisce il tipo di dati.
piatto
TTypes< T >::Flat flat()
Restituisce i dati del tensore come Eigen::Tensor
del tipo di dati e di una forma specificata.
Questi metodi ti consentono di accedere ai dati con dimensioni e dimensioni a tua scelta. Non è necessario conoscere il numero di dimensioni del Tensor per chiamarli. Tuttavia, CHECK
che il tipo corrisponda e le dimensioni richieste crea un Eigen::Tensor
con lo stesso numero di elementi del tensore.
Esempio:
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()
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 )
Restituisce i dati come Eigen::Tensor con dimensioni NDIMS, comprimendo le prime dimensioni del tensore 'begin' nella prima dimensione del risultato e le dimensioni del tensore dell'ultimo dims() - 'begin' - NDIMS nell'ultima dimensione del risultato.
Se 'begin' < 0 allora |'begin'| verranno aggiunte le dimensioni iniziali di dimensione 1. Se 'begin' + NDIMS > dims () verranno aggiunte le dimensioni finali 'begin' + NDIMS - dims () di dimensione 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()
flat_outer_dims
TTypes< T, NDIMS >::ConstTensor flat_outer_dims() const
matrice
TTypes< T >::Matrix matrix()
matrice
TTypes< T >::ConstMatrix matrix() const
operatore=
Tensor & operator=( const Tensor & other )
Assegna operatore. Questo tensore condivide l'archiviazione sottostante di altri.
operatore=
Tensor & operator=( Tensor && other )
Sposta operatore. Vedere il costruttore di mosse per i dettagli.
reinterpret_last_dimension
TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()
Restituisce i dati del tensore a un Eigen::Tensor
con gli ultimi elementi di dimensione convertiti in elementi singoli di tipo più grande.
Ad esempio, questo è utile per i kernel che possono trattare i tensori NCHW_VECT_C int8 come tensori NCHW int32. Il sizeof(T) dovrebbe essere uguale alla dimensione dell'elemento originale type * num elementi nell'ultima dimensione originale. NDIMS dovrebbe essere 1 in meno rispetto al numero originale di dimensioni.
reinterpret_last_dimension
TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const
Restituisce i dati del tensore a un Eigen::Tensor
con gli ultimi elementi di dimensione convertiti in elementi singoli di tipo più grande.
Ad esempio, questo è utile per i kernel che possono trattare i tensori NCHW_VECT_C int8 come tensori NCHW int32. Il sizeof(T) dovrebbe essere uguale alla dimensione dell'elemento originale type * num elementi nell'ultima dimensione originale. NDIMS dovrebbe essere 1 in meno rispetto al numero originale di dimensioni.
scalare
TTypes< T >::Scalar scalar()
scalare
TTypes< T >::ConstScalar scalar() const
forma
const TensorShape & shape() const
Restituisce la forma del tensore.
sagomato
TTypes< T, NDIMS >::Tensor shaped( gtl::ArraySlice< int64 > new_sizes )
sagomato
TTypes< T, NDIMS >::ConstTensor shaped( gtl::ArraySlice< int64 > new_sizes ) const
tensore
TTypes< T, NDIMS >::Tensor tensor()
tensore
TTypes< T, NDIMS >::ConstTensor tensor() const
dati_tensore
StringPiece tensor_data() const
Restituisce un StringPiece
mappa il buffer del tensore corrente.
Lo StringPiece
restituito può puntare a una posizione di memoria su dispositivi che la CPU non può indirizzare direttamente.
NOTA: il buffer del tensore sottostante viene riconteggiato, quindi la durata del contenuto mappato da StringPiece
corrisponde alla durata del buffer; i chiamanti dovrebbero assicurarsi che il buffer non venga distrutto mentre StringPiece
è ancora utilizzato.
RICHIEDE: DataTypeCanUseMemcpy(dtype())
.
unaligned_flat
TTypes< T >::UnalignedFlat unaligned_flat()
unaligned_flat
TTypes< T >::UnalignedConstFlat unaligned_flat() const
non allineato_a forma
TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes )
non allineato_a forma
l10n-segnaposto89vec
l10n-segnaposto90Restituisce i dati del tensore come Eigen::Tensor con il tipo e le dimensioni di questo Tensor .
Utilizzare questi metodi quando si conosce il tipo di dati e il numero di dimensioni del tensore e si desidera un Eigen::Tensore dimensionato automaticamente in base alle dimensioni del tensore. Il controllo di implementazione ha esito negativo se il tipo o le dimensioni non corrispondono.
Esempio:
l10n-segnaposto91
l10n-segnaposto92
Versioni const di tutti i metodi sopra.
~Tensore
l10n-segnaposto93Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2022-08-30 UTC.