tensor akışı:: Tensör
#include <tensor.h>
N boyutlu bir değer dizisini temsil eder.
Özet
Yapıcılar ve Yıkıcılar | |
---|---|
Tensor () 1 boyutlu, 0 elemanlı bir kayan nokta tensörü oluşturur. | |
Tensor (DataType type, const TensorShape & shape) | |
Tensor (Allocator *a, DataType type, const TensorShape & shape) Temel arabelleği tahsis etmek için ayırıcı a kullanarak giriş type ve shape ile bir tensör oluşturur. | |
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr) Temel arabelleği tahsis etmek için ayırıcı a ve belirtilen "allocation_attr" değerini kullanarak giriş type ve shape ile bir tensör oluşturur. | |
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf) Giriş veri türü, şekli ve tamponu ile bir tensör oluşturur. | |
Tensor (DataType type) Verilen veri türünde boş bir Tensor oluşturur. | |
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) Yapıcıyı kopyala. | |
Tensor ( Tensor && other) Yapıcıyı taşıyın. | |
~Tensor () |
Kamu işlevleri | |
---|---|
AllocatedBytes () const | size_t |
AsProtoField (TensorProto *proto) const | void proto *this tensörün içeriğiyle doldurur. |
AsProtoTensorContent (TensorProto *proto) const | void |
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape) | Status Diğer tensörü bu tensöre kopyalayın, yeniden şekillendirin ve arabelleğin veri tipini yeniden yorumlayın. |
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT | bool Diğer tensörü bu tensöre kopyalayın ve yeniden şekillendirin. |
DebugString (int num_values) const | string Hata ayıklamaya uygun tensörün insan tarafından okunabilen bir özeti. |
DebugString () const | string |
DeviceSafeDebugString () const | string |
FillDescription (TensorDescription *description) const | void TensorDescription protokolünü, izleme ve hata ayıklama için yararlı olan tensör hakkındaki meta verilerle doldurun. |
FromProto (const TensorProto & other) TF_MUST_USE_RESULT | bool other ayrıştırın ve tensörü oluşturun. |
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT | bool |
IsAligned () const | bool Bu tensör hizalanırsa true değerini döndürür. |
IsInitialized () const | bool Gerekirse bu Tensör başlatıldı mı? |
IsSameSize (const Tensor & b) const | bool |
NumElements () const | int64 Tensör şekli için kullanışlı aksesuar. |
RefCountIsOne () const | bool |
SharesBufferWith (const Tensor & b) const | bool |
Slice (int64 dim0_start, int64 dim0_limit) const | Bu tensörü 1. boyut boyunca dilimleyin. |
SubSlice (int64 index) const | Bu tensörden 1. boyut boyunca bir alt dilim seçin. |
SummarizeValue (int64 max_entries, bool print_v2) const | string *this içindeki ilk max_entries değerlerini bir dizeye dönüştürün. |
TotalBytes () const | size_t Bu tensörün tahmini bellek kullanımını döndürür. |
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape) | void BitcastFrom gibi, ancak herhangi bir önkoşul karşılanmazsa CHECK başarısız olur. |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor Tensör verilerini new_sizes içinde belirtilen yeni şekle sahip bir Eigen::Tensor döndürün ve yeni bir T tipine dönüştürün. |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor Tensör verilerini new_sizes içinde belirtilen yeni şekle sahip bir Eigen::Tensor döndürün ve yeni bir T tipine dönüştürün. |
bit_casted_tensor () | TTypes< T, NDIMS >:: Tensor Tensör verilerini aynı boyutta ancak belirtilen dtype T bit düzeyinde dönüştürülmüş bir Eigen::Tensor döndürün. |
bit_casted_tensor () const | TTypes< T, NDIMS >::ConstTensor Tensör verilerini aynı boyutta ancak belirtilen dtype T bit düzeyinde dönüştürülmüş bir Eigen::Tensor döndürün. |
data () const | void * |
dim_size (int d) const | int64 Tensör şekli için kullanışlı aksesuar. |
dims () const | int Tensör şekli için kullanışlı aksesuar. |
dtype () const | DataType Veri türünü döndürür. |
flat () | TTypes< T >::Flat Tensör verilerini, veri türünün ve belirtilen şeklin Eigen::Tensor olarak döndürün. |
flat () const | TTypes< T >::ConstFlat |
flat_inner_dims () | TTypes< T, NDIMS >:: Tensor Verileri NDIMS boyutlarına sahip bir Eigen::Tensor olarak döndürür ve son NDIMS-1 dışındaki tüm Tensor boyutlarını sonucun ilk boyutuna daraltır. |
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 Verileri NDIMS boyutlarına sahip bir Eigen::Tensor olarak döndürür ve ilk NDIMS-1 dışındaki tüm Tensor boyutlarını sonucun son boyutuna daraltır. |
flat_outer_dims () const | TTypes< T, NDIMS >::ConstTensor |
matrix () | TTypes< T >::Matrix |
matrix () const | TTypes< T >::ConstMatrix |
operator= (const Tensor & other) | Tensor & Operatör atayın. Bu tensör diğerinin temel depolama alanını paylaşır. |
operator= ( Tensor && other) | Tensor & Operatörü taşıyın. Ayrıntılar için yapıcıyı taşıma konusuna bakın. |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor Tensör verilerini, son boyut öğelerinin daha büyük türdeki tek öğelere dönüştürüldüğü bir Eigen::Tensor Tensor'a döndürün. |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor Tensör verilerini, son boyut öğelerinin daha büyük türdeki tek öğelere dönüştürüldüğü bir Eigen::Tensor Tensor'a döndürün. |
scalar () | TTypes< T >::Scalar |
scalar () const | TTypes< T >::ConstScalar |
shape () const | const TensorShape & Tensörün şeklini döndürür. |
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 Geçerli tensörün arabelleğini eşleyen bir StringPiece döndürür. |
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 Tensör verilerini, bu Tensor türü ve boyutlarıyla birlikte bir Eigen::Tensor olarak döndürün. |
vec () const | TTypes< T >::ConstVec Yukarıdaki tüm yöntemlerin const versiyonları. |
Kamu işlevleri
Ayrılan Bayt Sayısı
size_t AllocatedBytes() const
AsProtoField
void AsProtoField( TensorProto *proto ) const
proto
*this
tensörün içeriğiyle doldurur.
AsProtoField()
proto.dtype()
için tekrarlanan alanı doldururken AsProtoTensorContent()
, proto.tensor_content()
içindeki içeriği kompakt bir biçimde kodlar.
AsProtoTensorİçeriği
void AsProtoTensorContent( TensorProto *proto ) const
BitcastGönderen
Status BitcastFrom( const Tensor & other, DataType dtype, const TensorShape & shape )
Diğer tensörü bu tensöre kopyalayın, yeniden şekillendirin ve arabelleğin veri tipini yeniden yorumlayın.
Status::OK() döndürülürse, iki tensör artık aynı temel depolamayı paylaşır.
Bu çağrı, other
tensörün ve verilen tür ve şeklin "uyumlu" olmasını (yani aynı sayıda baytı işgal etmelerini) gerektirir.
Özellikle:
Shape.num_elements() * DataTypeSize(tür)
eşit olmalı
other.num_elements() * DataTypeSize(other.dtype())
Ayrıca bu işlev şunları gerektirir:
- DataTypeSize(other.dtype()) != 0
- DataTypeSize(tip) != 0
Gereksinimlerden herhangi biri karşılanmazsa, error::InvalidArgument döndürülür.
Kopyalama Kaynağı
bool CopyFrom( const Tensor & other, const TensorShape & shape ) TF_MUST_USE_RESULT
Diğer tensörü bu tensöre kopyalayın ve yeniden şekillendirin.
Bu tensör diğerinin temel depolama alanını paylaşır. other.shape()
verilen shape
ile aynı sayıda öğeye sahipse true
değerini döndürür.
Hata Ayıklama Dizesi
string DebugString( int num_values ) const
Hata ayıklamaya uygun tensörün insan tarafından okunabilen bir özeti.
Hata Ayıklama Dizesi
string DebugString() const
DeviceSafeDebugString
string DeviceSafeDebugString() const
DoldurAçıklama
void FillDescription( TensorDescription *description ) const
TensorDescription
protokolünü, izleme ve hata ayıklama için yararlı olan tensör hakkındaki meta verilerle doldurun.
FromProto
bool FromProto( const TensorProto & other ) TF_MUST_USE_RESULT
other
ayrıştırın ve tensörü oluşturun.
Ayrıştırma başarılı olursa true
döndürür. Ayrıştırma başarısız olursa *this
durumu değişmez.
FromProto
bool FromProto( Allocator *a, const TensorProto & other ) TF_MUST_USE_RESULT
Hizalanmış
bool IsAligned() const
Bu tensör hizalanırsa true değerini döndürür.
Başlatıldı
bool IsInitialized() const
Gerekirse bu Tensör başlatıldı mı?
Sıfır elemanlı Tensörler, kendilerine hiç atanmamış veya ayrılmış hafızaya sahip olmasalar bile her zaman başlatılmış olarak kabul edilir.
AynıBoyut
bool IsSameSize( const Tensor & b ) const
SayıElemanları
int64 NumElements() const
Tensör şekli için kullanışlı aksesuar.
RefCountIsOne
bool RefCountIsOne() const
SharesBufferWith
bool SharesBufferWith( const Tensor & b ) const
Dilim
Tensor Slice( int64 dim0_start, int64 dim0_limit ) const
Bu tensörü 1. boyut boyunca dilimleyin.
Yani, döndürülen tensör, döndürülen[i, ...] == this[dim0_start + i, ...] koşullarını karşılar. Geri dönen tensör, temeldeki tensör tamponunu bu tensörle paylaşır.
NOT: Geri dönen tensör, şekle bağlı olarak bu tensörle aynı hizalama gereksinimini karşılamayabilir. Arayanın, hizalama gereksinimi olan belirli yöntemleri (örneğin, flat()
, tensor()
) çağırmadan önce döndürülen tensörün hizalamasını kontrol etmesi gerekir.
NOT: N boyutlu bir tensörle beslendiğinde bu yöntem, N boyutlu bir tensör de döndürür. Bir alt tensör seçmek istiyorsanız bkz. Alt Dilim.
GEREKLİDİR: dims()
>= 1 GEREKLİDİR: 0 <= dim0_start <= dim0_limit <= dim_size(0)
Alt Dilim
Tensor SubSlice( int64 index ) const
Bu tensörden 1. boyut boyunca bir alt dilim seçin.
N boyutlu bir tensörle beslendiğinde bu yöntem, N-1 boyutlu bir tensör döndürür; burada döndürülen tensör, birinci boyut boyunca giriş tensörünün bir alt dilimidir. Döndürülen tensörün N-1 boyutları, giriş tensörünün son N-1 boyutlarıdır.
NOT: Geri dönen tensör, şekle bağlı olarak bu tensörle aynı hizalama gereksinimini karşılamayabilir. Arayanın, hizalama gereksinimi olan belirli yöntemleri (örneğin, flat()
, tensor()
) çağırmadan önce döndürülen tensörün hizalamasını kontrol etmesi gerekir.
GEREKLİDİR: dims()
>= 1 GEREKLİDİR: 0 <= index < dim_size(0)
Değeri Özetle
string SummarizeValue( int64 max_entries, bool print_v2 ) const
*this
içindeki ilk max_entries
değerlerini bir dizeye dönüştürün.
Tensör
Tensor()
1 boyutlu, 0 elemanlı bir kayan nokta tensörü oluşturur.
Döndürülen Tensör bir skaler değildir (şekil {}), bunun yerine boş bir tek boyutlu Tensördür (şekil {0}, NumElements() == 0). Hiçbir öğesi olmadığından bir değer atanmasına gerek yoktur ve varsayılan olarak başlatılır ( IsInitialized() doğrudur). Bu istenmiyorsa, başlatma gerektirmeyen tek öğeli bir skaler oluşturmayı düşünün:
Tensor(DT_FLOAT, TensorShape({}))
Tensor
Tensor( DataType type, const TensorShape & shape )
Verilen type
ve shape
bir Tensör oluşturur.
LogMemory::IsEnabled() ise ayırma, bilinmeyen bir çekirdekten ve adımdan geliyormuş gibi günlüğe kaydedilir. Tensor yapıcısının doğrudan bir Op içinden çağrılması artık kullanımdan kaldırıldı: çekirdeği ve adımı kaydeden yeni bir tensör tahsis etmek için OpKernelConstruction/OpKernelContext allocate_* yöntemlerini kullanın.
Temel arabellek CPUAllocator
kullanılarak tahsis edilir.
Tensör
Tensor( Allocator *a, DataType type, const TensorShape & shape )
Temel arabelleği tahsis etmek için ayırıcı a
kullanarak giriş type
ve shape
ile bir tensör oluşturur.
LogMemory::IsEnabled() ise ayırma, bilinmeyen bir çekirdekten ve adımdan geliyormuş gibi günlüğe kaydedilir. Tensor yapıcısının doğrudan bir Op içinden çağrılması artık kullanımdan kaldırıldı: çekirdeği ve adımı kaydeden yeni bir tensör tahsis etmek için OpKernelConstruction/OpKernelContext allocate_* yöntemlerini kullanın.
a
bu Tensörün ömründen daha uzun süre dayanmalıdır.
Tensör
Tensor( Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr )
Temel arabelleği tahsis etmek için ayırıcı a
ve belirtilen "allocation_attr" değerini kullanarak giriş type
ve shape
ile bir tensör oluşturur.
Çekirdek ve adım biliniyorsa, tahsis_attr.allocation_will_be_logged true olarak ayarlanmalı ve tensör oluşturulduktan sonra LogMemory::RecordTensorAllocation çağrılmalıdır. Tensor yapıcısının doğrudan bir Op içinden çağrılması artık kullanımdan kaldırıldı: çekirdeği ve adımı kaydeden yeni bir tensör tahsis etmek için OpKernelConstruction/OpKernelContext allocate_* yöntemlerini kullanın.
Bu Tensörün ömründen daha uzun süre dayanması a
.
Tensör
Tensor( DataType type, const TensorShape & shape, TensorBuffer *buf )
Giriş veri türü, şekli ve tamponu ile bir tensör oluşturur.
Bu Tensor'a ait olan buf üzerinde bir ref alır.
Tensör
Tensor( DataType type )
Verilen veri türünde boş bir Tensor oluşturur.
Tensor() gibi, IsInitialized() işlevi True değerini döndüren 1 boyutlu, 0 öğeli bir Tensör döndürür. Ayrıntılar için Tensor() belgelerine bakın.
Tensör
Tensor( float scalar_value )
Tensör
Tensor( double scalar_value )
Tensör
Tensor( int32 scalar_value )
Tensör
Tensor( uint32 scalar_value )
Tensör
Tensor( uint16 scalar_value )
Tensör
Tensor( uint8 scalar_value )
Tensör
Tensor( int16 scalar_value )
Tensör
Tensor( int8 scalar_value )
Tensör
Tensor( tstring scalar_value )
Tensör
Tensor( complex64 scalar_value )
Tensör
Tensor( complex128 scalar_value )
Tensör
Tensor( int64 scalar_value )
Tensör
Tensor( uint64 scalar_value )
Tensör
Tensor( bool scalar_value )
Tensör
Tensor( qint8 scalar_value )
Tensör
Tensor( quint8 scalar_value )
Tensör
Tensor( qint16 scalar_value )
Tensör
Tensor( quint16 scalar_value )
Tensör
Tensor( qint32 scalar_value )
Tensör
Tensor( bfloat16 scalar_value )
Tensör
Tensor( Eigen::half scalar_value )
Tensör
Tensor( ResourceHandle scalar_value )
Tensör
Tensor( const char *scalar_value )
Tensör
Tensor( Tensor && other )
Yapıcıyı taşıyın.
Bu çağrının ardından
Toplam Bayt
size_t TotalBytes() const
Bu tensörün tahmini bellek kullanımını döndürür.
Dahili Olarak Güvenli Olmayan Kopyalama
void UnsafeCopyFromInternal( const Tensor & other, DataType dtype, const TensorShape & shape )
BitcastFrom gibi, ancak herhangi bir önkoşul karşılanmazsa CHECK başarısız olur.
Kullanımdan kaldırıldı. Bunun yerine BitcastFrom'u kullanın ve döndürülen Durumu kontrol edin.
bit_casted_shape
TTypes< T, NDIMS >::Tensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes )
Tensör verilerini new_sizes
içinde belirtilen yeni şekle sahip bir Eigen::Tensor
döndürün ve yeni bir T
tipine dönüştürün.
Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. İzin verilen bit yayını, shaped()
işlevinden tek farktır.
bit_casted_shape
TTypes< T, NDIMS >::ConstTensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes ) const
Tensör verilerini new_sizes
içinde belirtilen yeni şekle sahip bir Eigen::Tensor
döndürün ve yeni bir T
tipine dönüştürün.
Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. İzin verilen bit yayını, shaped()
işlevinden tek farktır.
bit_casted_tensor
TTypes< T, NDIMS >::Tensor bit_casted_tensor()
Tensör verilerini aynı boyutta ancak belirtilen dtype T
bit düzeyinde dönüştürülmüş bir Eigen::Tensor
döndürün.
Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. NOT: bu, bit yayınına izin verilmesi dışında tensor()
ile aynıdır.
bit_casted_tensor
TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const
Tensör verilerini aynı boyutta ancak belirtilen dtype T
bit düzeyinde dönüştürülmüş bir Eigen::Tensor
döndürün.
Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. NOT: bu, bit yayınına izin verilmesi dışında tensor()
ile aynıdır.
veri
void * data() const
dim_size
int64 dim_size( int d ) const
Tensör şekli için kullanışlı aksesuar.
kararır
int dims() const
Tensör şekli için kullanışlı aksesuar.
Tüm şekil erişimcileri için tensor_shape.h
dosyasındaki ilgili TensorShape
yöntemlerine ilişkin yorumlara bakın.
dtype
DataType dtype() const
Veri türünü döndürür.
düz
TTypes< T >::Flat flat()
Tensör verilerini, veri türünün ve belirtilen şeklin Eigen::Tensor
olarak döndürün.
Bu yöntemler, istediğiniz boyut ve büyüklükteki verilere erişmenizi sağlar. Tensor'u çağırmak için boyut sayısını bilmenize gerek yoktur. Ancak türün eşleştiğini ve talep edilen boyutların, tensörle aynı sayıda öğeye sahip bir Eigen::Tensor
oluşturduğunu CHECK
EDİN.
Örnek:
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
düz_inner_dims
TTypes< T, NDIMS >::Tensor flat_inner_dims()
düz_inner_dims
TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const
düz_inner_outer_dims
TTypes< T, NDIMS >::Tensor flat_inner_outer_dims( int64 begin )
Verileri NDIMS boyutlarına sahip bir Eigen::Tensor olarak döndürür ve ilk 'başlangıç' Tensör boyutlarını sonucun ilk boyutuna ve son dims() - 'begin' - NDIMS'in Tensör boyutlarını da sonucun son boyutuna daraltır. sonuç.
'Başlangıç' < 0 ise |'başlangıç'| boyut 1'in önde gelen boyutları eklenecektir. 'begin' + NDIMS > dims() ise 'begin' + NDIMS - dims() boyut 1'in sondaki boyutları eklenecektir.
düz_inner_outer_dims
TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims( int64 begin ) const
düz_outer_dims
TTypes< T, NDIMS >::Tensor flat_outer_dims()
düz_outer_dims
TTypes< T, NDIMS >::ConstTensor flat_outer_dims() const
matris
TTypes< T >::Matrix matrix()
matris
TTypes< T >::ConstMatrix matrix() const
operatör=
Tensor & operator=( const Tensor & other )
Operatör atayın. Bu tensör diğerinin temel depolama alanını paylaşır.
operatör=
Tensor & operator=( Tensor && other )
Operatörü taşıyın. Ayrıntılar için yapıcıyı taşıma konusuna bakın.
reinterpret_last_dimension
TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()
Tensör verilerini, son boyut öğelerinin daha büyük türdeki tek öğelere dönüştürüldüğü bir Eigen::Tensor
Tensor'a döndürün.
Örneğin bu, NCHW_VECT_C int8 tensörlerini NCHW int32 tensörleri olarak değerlendirebilen çekirdekler için kullanışlıdır. sizeof(T), orijinal son boyuttaki orijinal eleman türü * sayı elemanlarının boyutuna eşit olmalıdır. NDIMS, orijinal boyut sayısından 1 az olmalıdır.
reinterpret_last_dimension
TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const
Tensör verilerini, son boyut öğelerinin daha büyük türdeki tek öğelere dönüştürüldüğü bir Eigen::Tensor
Tensor'a döndürün.
Örneğin bu, NCHW_VECT_C int8 tensörlerini NCHW int32 tensörleri olarak değerlendirebilen çekirdekler için kullanışlıdır. sizeof(T), orijinal son boyuttaki orijinal eleman türü * sayı elemanlarının boyutuna eşit olmalıdır. NDIMS, orijinal boyut sayısından 1 az olmalıdır.
skaler
TTypes< T >::Scalar scalar()
skaler
TTypes< T >::ConstScalar scalar() const
şekil
const TensorShape & shape() const
Tensörün şeklini döndürür.
şekilli
TTypes< T, NDIMS >::Tensor shaped( gtl::ArraySlice< int64 > new_sizes )
şekilli
TTypes< T, NDIMS >::ConstTensor shaped( gtl::ArraySlice< int64 > new_sizes ) const
tensör
TTypes< T, NDIMS >::Tensor tensor()
tensör
TTypes< T, NDIMS >::ConstTensor tensor() const
tensör_verileri
StringPiece tensor_data() const
Geçerli tensörün arabelleğini eşleyen bir StringPiece
döndürür.
Döndürülen StringPiece
CPU'nun doğrudan adresleyemediği aygıtlardaki bellek konumuna işaret edebilir.
NOT: Temel tensör arabelleği yeniden sayılır, böylece StringPiece
tarafından eşlenen içeriklerin ömrü arabelleğin ömrüyle eşleşir; arayanlar, StringPiece
hala kullanılırken arabelleğin yok edilmemesini sağlayacak şekilde düzenleme yapmalıdır.
GEREKLİDİR: DataTypeCanUseMemcpy(dtype())
.
unaligned_flat
TTypes< T >::UnalignedFlat unaligned_flat()
unaligned_flat
TTypes< T >::UnalignedConstFlat unaligned_flat() const
hizalanmamış_şekilli
TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes )
hizalanmamış_şekilli
TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes ) const
vek
TTypes< T >::Vec vec()
Tensör verilerini, bu Tensor'un türü ve boyutlarıyla birlikte bir Eigen::Tensor olarak döndürün.
Tensörün veri türünü ve boyut sayısını bildiğinizde ve bir Eigen::Tensor'un otomatik olarak Tensör boyutlarına göre boyutlandırılmasını istediğinizde bu yöntemleri kullanın. Tür veya boyut uyuşmazlığı durumunda uygulama kontrolü başarısız olur.
Örnek:
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
Yukarıdaki tüm yöntemlerin Const versiyonları.
~Tensör
~Tensor()