ML Topluluk Günü 9 Kasım! TensorFlow, JAX güncellemeler için bize katılın ve daha fazla bilgi edinin

tensorflow :: Tensör

#include <tensor.h>

N boyutlu bir değerler dizisini temsil eder.

Özet

Yapıcılar ve Yıkıcılar

Tensor ()
1 boyutlu, 0 elemanlı bir kayan 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)
Giriş ile tensörünün oluşturur type ve shape ayırıcısı kullanarak, a , altta yatan bir tampon tahsis etmek.
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr)
Giriş type ve shape , temel tamponu tahsis etmek için ayırıcı a ve belirtilen "tahsis_attr" kullanarak bir tensör oluşturur.
Tensor (DataType type)
Verilen veri türünde boş bir Tensör 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 (string 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şı.
~Tensor ()

Kamusal işlevler

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
*this tensörün içeriği *this ile proto doldurur.
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Diğer tensörü bu tensöre kopyalayın, yeniden şekillendirin ve tamponun veri türünü 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 okunabilir 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
Ayrıştırma other ve tensörünün oluştururlar.
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT
bool
IsAligned () const
bool
Bu tensör hizalandığında doğru değeri 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 uygun erişimci.
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
1. boyut boyunca bu tensörden bir alt dilim seçin.
SummarizeValue (int64 max_entries, bool print_v2) const
string
*this max_entries ilk max_entries değerlerini bir dizeye dönüştür.
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 ön koş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 new_sizes ve yeni bir dtype T .
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 new_sizes ve yeni bir dtype T .
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
Tensör verilerini aynı boyutta ancak belirtilen T tipine bitsel olarak dönüştürülmüş bir Eigen::Tensor Tensor'a döndürün.
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
Tensör verilerini aynı boyutta ancak belirtilen T tipine bitsel olarak dönüştürülmüş bir Eigen::Tensor Tensor'a döndürün.
dim_size (int d) const
int64
Tensör şekli için uygun erişimci.
dims () const
int
Tensör şekli için uygun erişimci.
dtype () const
DataType
Veri türünü döndürür.
flat ()
TTypes< T >::Flat
Tensör verilerini, veri türünün Eigen::Tensor ve belirtilen bir şekil olarak döndür.
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, tüm Tensor boyutlarını ancak son NDIMS-1'i 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, ilk 'başlangıç' Tensör boyutlarını sonucun ilk boyutuna ve son dims () - 'begin' - NDIMS'in Tensor boyutlarını son boyutuna daraltır. sonuç.
flat_inner_outer_dims (int64 begin) const
TTypes< T, NDIMS >::ConstTensor
flat_outer_dims ()
TTypes< T, NDIMS >:: Tensor
Verileri, tüm Tensor boyutlarını, ancak ilk NDIMS-1'i sonucun son boyutuna daraltan NDIMS boyutlarına sahip bir Eigen :: Tensor olarak döndürü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ğerlerinin temel depolamasını paylaşır.
operator= ( Tensor && other)
Operatörü taşı. Ayrıntılar için yapıcıyı taşı konusuna bakın.
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
Tensör verilerini, son boyut öğelerinin daha büyük bir türün tek öğelerine dönüştürüldüğü bir Eigen::Tensor .
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
Tensör verilerini, son boyut öğelerinin daha büyük bir türdeki tek öğelere dönüştürüldüğü bir Eigen::Tensor .
scalar ()
TTypes< T >::Scalar
Tensor verilerini sabit boyut 1 olan bir TensorMap olarak TensorMap : TensorMap > TensorMap > .
scalar () const
TTypes< T >::ConstScalar
shape () const
const TensorShape &
Tensörün şeklini verir.
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 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 tipi ve boyutlarıyla bir Eigen::Tensor olarak Tensor .
vec () const
TTypes< T >::ConstVec
Yukarıdaki tüm yöntemlerin sabit sürümleri.

Kamusal işlevler

AllocatedBytes

size_t AllocatedBytes() const 

AsProtoField

void AsProtoField(
  TensorProto *proto
) const 

*this tensör içeriğiyle *this proto doldurur.

AsProtoField() için tekrar alanı doldurur proto.dtype() ise, AsProtoTensorContent() içeriği kodlayan proto.tensor_content() kompakt bir şekilde.

AsProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

BitcastFrom

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

Diğer tensörü bu tensöre kopyalayın, yeniden şekillendirin ve tamponun veri türünü 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ı gerektirir (yani, aynı sayıda bayt işgal ederler).

Özellikle:

shape.num_elements () * DataTypeSize (tür)

eşit olmalı

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

Ek olarak, bu işlev şunları gerektirir:

  • DataTypeSize (diğer.dtype ())! = 0
  • DataTypeSize (tür)! = 0

Gereksinimlerden herhangi biri karşılanmazsa, errors :: InvalidArgument döndürülür.

CopyFrom

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ğerlerinin temel depolamasını paylaşır. other.shape() verilen shape aynı sayıda elemanına sahipse, true other.shape() döndürür.

DebugString

string DebugString(
  int num_values
) const 

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

DebugString

string DebugString() const 

DeviceSafeDebugString

string DeviceSafeDebugString() const 

FillDescription

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

Ayrıştırma other ve tensörünün oluştururlar.

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

Hizalı

bool IsAligned() const 

Bu tensör hizalandığında doğru değeri döndürür.

Başlatıldı

bool IsInitialized() const 

Gerekirse, bu Tensör başlatıldı mı?

Sıfır elemanlı Tensörler, hiç atanmamış olsalar ve herhangi bir bellek tahsis edilmemiş olsalar bile, her zaman başlatılmış olarak kabul edilirler.

IsSameSize

bool IsSameSize(
  const Tensor & b
) const 

NumElements

int64 NumElements() const 

Tensör şekli için uygun erişimci.

Paylaşımlar

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önen tensör tatminleri [i, ...] == bu [dim0_start + i, ...] döndürdü. 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, hizalama gereksinimi olan belirli yöntemleri (örneğin, flat() , tensor() ) çağırmadan önce geri dönen tensör hizalamasını kontrol etmelidir.

NOT: N boyutlu bir tensörle beslendiğinde, bu yöntem aynı zamanda N boyutlu bir tensör verir. Bir alt tensör seçmek istiyorsanız, bkz. Alt Dilim.

GEREKSİNİMLER: dims() > = 1 0 <= dim0_start <= dim0_limit <= dim_size(0) : 0 <= dim0_start <= dim0_limit <= dim_size(0)

Alt Dilim

Tensor SubSlice(
  int64 index
) const 

1. boyut boyunca bu tensörden 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 geri dönen tensör, birinci boyut boyunca giriş tensörünün bir alt bölümüdür. Geri dönen 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, hizalama gereksinimi olan belirli yöntemleri (örneğin, flat() , tensor() ) çağırmadan önce geri dönen tensör hizalamasını kontrol etmelidir.

GEREKSİNİMLER: dims() > = 1 0 <= dim0_start < dim_size(0) : 0 <= dim0_start < dim_size(0)

Özet Değeri

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

*this max_entries ilk max_entries değerlerini bir dizeye dönüştür.

Tensör

 Tensor()

1 boyutlu, 0 elemanlı bir kayan tensör oluşturur.

Geri tensör skaler (şekil {}) değildir, ancak bunun yerine boş bir tek boyutludur tensör (şekil {0} numElements () == 0). Öğe içermediğinden , bir değer atanması gerekmez ve varsayılan olarak başlatılır ( IsInitialized () true'dur). Bu istenmeyen bir durumsa, başlatma gerektiren 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 kaydedilir. Tensor yapıcısını doğrudan bir Operasyon içinden çağırmak artık kullanılmıyor: Çekirdeği ve adımı kaydeden yeni bir tensör tahsis etmek için OpKernelConstruction / OpKernelContext ayırma_ * yöntemlerini kullanın.

Temel tampon, bir CPUAllocator kullanılarak CPUAllocator .

Tensör

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

Giriş ile tensörünün oluşturur type ve shape ayırıcısı kullanarak, a , altta yatan bir tampon tahsis etmek.

LogMemory :: IsEnabled () ise, ayırma bilinmeyen bir çekirdekten ve adımdan geliyormuş gibi kaydedilir. Tensor yapıcısını doğrudan bir İşlem içinden çağırmak artık kullanılmıyor: Çekirdeği ve adımı kaydeden yeni bir tensör tahsis etmek için OpKernelConstruction / OpKernelContext ayırma_ * yöntemlerini kullanın.

a bu ömrünü daha uzun yaşamak zorundadır Tensörünün .

Tensör

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

Giriş type ve shape , temel tamponu tahsis etmek için ayırıcı a ve belirtilen "tahsis_attr" kullanarak bir tensör oluşturur.

Çekirdek ve adım biliniyorsa, ayırma_attr.allocation_will_be_log true olarak ayarlanmalı ve LogMemory :: RecordTensorAllocation tensör oluşturulduktan sonra çağrılmalıdır. Tensor yapıcısını doğrudan bir İşlem içinden çağırmak artık kullanılmıyor: Çekirdeği ve adımı kaydeden yeni bir tensör tahsis etmek için OpKernelConstruction / OpKernelContext ayırma_ * yöntemlerini kullanın.

a bu ömrünü daha uzun yaşamak zorundadır Tensörünün .

Tensör

 Tensor(
  DataType type
)

Verilen veri türünde boş bir Tensör oluşturur.

Tensor () gibi , True döndüren IsInitialized () ile 1 boyutlu, 0 elemanlı bir Tensor 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(
  string 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şı.

Bu görüşmeden sonra güvenli bir şekilde yok edilebilir ve atanabilir, ancak üzerindeki diğer çağrılar (örneğin şekil değiştirme) geçerli değildir.

Toplam Bayt

size_t TotalBytes() const 

Bu tensörün tahmini bellek kullanımını döndürür.

UnsafeCopyFromInternal

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

BitcastFrom gibi, ancak herhangi bir ön koşul karşılanmazsa CHECK başarısız olur.

Kullanımdan kaldırıldı. Bunun yerine BitcastFrom kullanın ve döndürülen Durumu kontrol edin.

bit_casted_shaped

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 new_sizes ve yeni bir dtype T .

Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. İzin verilen bit yayını, shaped() den tek farktır.

bit_casted_shaped

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 new_sizes ve yeni bir dtype T .

Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. İzin verilen bit yayını, shaped() den tek farktır.

bit_casted_tensor

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

Tensör verilerini aynı boyutta ancak belirtilen T tipine bitsel olarak dönüştürülmüş bir Eigen::Tensor Tensor'a döndürün.

Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. NOT: Bu, bitcast'e izin verilmesi dışında tensor() aynıdır.

bit_casted_tensor

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

Tensör verilerini aynı boyutta ancak belirtilen T tipine bitsel olarak dönüştürülmüş bir Eigen::Tensor Tensor'a döndürün.

Bitcast kullanmak, taşıma ve kopyalama işlemleri için kullanışlıdır. NOT: Bu, bitcast'e izin verilmesi dışında tensor() aynıdır.

dim_size

int64 dim_size(
  int d
) const 

Tensör şekli için uygun erişimci.

karartmak

int dims() const 

Tensör şekli için uygun erişimci.

Tüm şekil erişimcilerine için ilgili yöntemleri için yorumları görmek TensorShape içinde tensor_shape.h .

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 bir Eigen::Tensor ve belirtilen bir şekil olarak döndür.

Bu yöntemler, verilere seçtiğiniz boyutlar ve boyutlarla erişmenizi sağlar. Onları çağırmak için Tensör'ün boyutlarının sayısını bilmenize gerek yoktur. Ancak, bunlar CHECK tip maçları ve istenen boyutlar bir oluşturur Eigen::Tensor tensörü olarak elementlerin aynı sayıda.

Misal:

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

Verileri NDIMS boyutlarına sahip bir Eigen :: Tensor olarak döndürür, tüm Tensor boyutlarını ancak son NDIMS-1'i sonucun ilk boyutuna daraltır.

NDIMS> karartırsa () , çıktı derecesi NDIMS yapmak için boyut 1'in ana boyutları eklenecektir.

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
)

Verileri NDIMS boyutlarına sahip bir Eigen :: Tensor olarak döndürür, ilk 'başlangıç' Tensör boyutlarını sonucun ilk boyutuna ve son dims () - 'begin' - NDIMS'in Tensor boyutlarını son boyutuna daraltır. sonuç.

'Başlamak' <0 ise | 'başla' | 1. boyutun ana boyutları eklenecektir. "Başla" + NDIMS> dims () ise "başla" + NDIMS - dims () boyut 1'in son boyutları eklenecektir.

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

Verileri, NDIMS boyutlarına sahip bir Eigen :: Tensor olarak döndürür, tüm Tensor boyutlarını, ancak ilk NDIMS-1'i sonucun son boyutuna daraltır.

NDIMS> dims () ise, çıktı derecesi NDIMS yapmak için boyut 1'in sondaki boyutları eklenecektir.

flat_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ğerlerinin temel depolama alanını paylaşır.

operatör =

Tensor & operator=(
  Tensor && other
)

Operatörü taşı. Ayrıntılar için yapıcıyı taşı konusuna bakın.

reinterpret_last_dimension

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

Tensör verilerini, son boyut öğelerinin daha büyük bir türün tek öğelerine dönüştürüldüğü bir Eigen::Tensor .

Örneğin, bu, NCHW_VECT_C int8 tensörlerini NCHW int32 tensörleri olarak ele alabilen çekirdekler için kullanışlıdır. Sizeof (T), orijinal son boyuttaki orijinal öğe türü * num öğelerinin boyutuna eşit olmalıdır. NDIMS, orijinal boyut sayısından 1 daha 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 bir türdeki tek öğelere dönüştürüldüğü bir Eigen::Tensor .

Örneğin, bu, NCHW_VECT_C int8 tensörlerini NCHW int32 tensörleri olarak ele alabilen çekirdekler için kullanışlıdır. Sizeof (T), orijinal son boyuttaki orijinal öğe türü * num öğelerinin boyutuna eşit olmalıdır. NDIMS, orijinal boyut sayısından 1 daha az olmalıdır.

skaler

TTypes< T >::Scalar scalar()

Tensor verilerini sabit boyut 1 olan bir TensorMap olarak TensorMap : TensorMap > TensorMap > .

scalar() kullanmak, derleyicinin tensörün boyutu derleme zamanında bilindiği için optimizasyonlar gerçekleştirmesine izin verir.

skaler

TTypes< T >::ConstScalar scalar() const 

şekil

const TensorShape & shape() const 

Tensörün şeklini verir.

ş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 

tensor_data

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 hesaplanır, bu nedenle StringPiece tarafından eşlenen içeriğin ömrü arabelleğin yaşam StringPiece eşleşir; arayanlar, StringPiece hala kullanılırken arabelleğin yok edilmediğinden emin olmak için düzenleme yapmalıdır.

DataTypeCanUseMemcpy(dtype()) : 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

TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped(
  gtl::ArraySlice< int64 > new_sizes
) const 

vec

TTypes< T >::Vec vec()

Tensör verilerini, bu Tensörün tipi ve boyutlarıyla bir Eigen :: Tensor olarak döndürün.

Tensor'un veri türünü ve boyutlarının sayısını bildiğinizde ve bir Eigen :: Tensor'un otomatik olarak Tensor boyutlarına göre boyutlandırılmasını istediğinizde bu yöntemleri kullanın. Tür veya boyut uyuşmazlığı varsa uygulama denetimi başarısız olur.

Misal:

  
    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 sabit sürümleri.

~ Tensör

 ~Tensor()