tensör 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)
Verilen type ve shape bir Tensör oluşturur.
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 (T *t)
~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
std::string
Hata ayıklamaya uygun tensörün insan tarafından okunabilen bir özeti.
DebugString () const
std::string
DeviceSafeDebugString () const
std::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
std::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 bir 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
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ç.
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)
Operatör atayın. Bu tensör diğerinin temel depolama alanını paylaşır.
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
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
Tensor verilerini sabit boyutlu 1 TensorMap olarak döndürün: TensorMap > TensorMap > .
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

std::string DebugString(
  int num_values
) const 

Hata ayıklamaya uygun tensörün insan tarafından okunabilen bir özeti.

Hata Ayıklama Dizesi

std::string DebugString() const 

DeviceSafeDebugString

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

std::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.

a bu Tensörün ömründen daha uzun süre dayanmalıdır.

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 Tensör 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(
  const Tensor & other
)

Yapıcıyı kopyala.

Tensör

 Tensor(
  Tensor && other
)

Yapıcıyı taşıyın.

Bu çağrının ardından güvenli bir şekilde yok edilebilir ve atanabilir, ancak üzerindeki diğer çağrılar (örn. şekil manipülasyonu) geçerli değildir.

Tensör

 Tensor(
  T *t
)=delete

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

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.

NDIMS > dims() ise çıktı sıralamasını NDIMS yapmak için boyut 1'in ön boyutları eklenecektir.

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

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.

NDIMS > dims() ise çıktı sıralamasını NDIMS yapmak için boyut 1'in sondaki boyutları eklenecektir.

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

Tensor verilerini sabit boyutlu 1 TensorMap olarak döndürün: TensorMap > TensorMap > .

scalar() kullanılması, derleme zamanında tensörün boyutu bilindiği için derleyicinin optimizasyonlar gerçekleştirmesine olanak tanır.

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