tensorflow:: Tensor
#include <tensor.h>Merepresentasikan larik nilai berdimensi n.
Ringkasan
Konstruktor dan Destruktor | |
|---|---|
Tensor () Membuat tensor float 1 dimensi dengan 0 elemen. | |
Tensor (DataType type, const TensorShape & shape) | |
Tensor (Allocator *a, DataType type, const TensorShape & shape) Membuat tensor dengan type dan shape input , menggunakan alokator a untuk mengalokasikan buffer yang mendasarinya. | |
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr) Membuat tensor dengan type dan shape input , menggunakan alokator a dan "allocation_attr" yang ditentukan untuk mengalokasikan buffer yang mendasarinya. | |
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf) Membuat tensor dengan tipe data input, bentuk, dan buffer. | |
Tensor (DataType type) Membuat Tensor kosong dengan tipe data yang diberikan. | |
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) Konstruktor salinan. | |
Tensor ( Tensor && other) Konstruktor pemindahan. | |
~Tensor () |
Fungsi publik | |
|---|---|
AllocatedBytes () const | size_t |
AsProtoField (TensorProto *proto) const | void Mengisi proto dengan konten tensor *this . |
AsProtoTensorContent (TensorProto *proto) const | void |
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape) | Salin tensor lain ke dalam tensor ini, ubah bentuknya, dan tafsirkan ulang tipe data buffer. |
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT | bool Salin tensor lain ke dalam tensor ini dan ubah bentuknya. |
DebugString (int num_values) const | string Ringkasan tensor yang mudah dibaca manusia dan cocok untuk debugging. |
DebugString () const | string |
DeviceSafeDebugString () const | string |
FillDescription (TensorDescription *description) const | void Isi proto TensorDescription dengan metadata tentang tensor yang berguna untuk pemantauan dan debugging. |
FromProto (const TensorProto & other) TF_MUST_USE_RESULT | bool Uraikan other dan bangun tensornya. |
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT | bool |
IsAligned () const | bool Mengembalikan nilai true jika dan hanya jika tensor ini sejajar. |
IsInitialized () const | bool Jika perlu, apakah Tensor ini sudah diinisialisasi? |
IsSameSize (const Tensor & b) const | bool |
NumElements () const | int64 Aksesori praktis untuk bentuk tensor. |
SharesBufferWith (const Tensor & b) const | bool |
Slice (int64 dim0_start, int64 dim0_limit) const | Iris tensor ini sepanjang dimensi pertama. |
SubSlice (int64 index) const | Pilih sub-irisan dari tensor ini sepanjang dimensi pertama. |
SummarizeValue (int64 max_entries, bool print_v2) const | string Ubah nilai max_entries pertama dalam *this menjadi string. |
TotalBytes () const | size_t Mengembalikan perkiraan penggunaan memori tensor ini. |
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape) | void Mirip dengan BitcastFrom, tetapi CHECK akan gagal jika salah satu prasyarat tidak terpenuhi. |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor Mengembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan diubah ke tipe data baru T |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor Mengembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan diubah ke tipe data baru T |
bit_casted_tensor () | TTypes< T, NDIMS >:: Tensor Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dengan konversi bitwise ke tipe data T yang ditentukan. |
bit_casted_tensor () const | TTypes< T, NDIMS >::ConstTensor Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dengan konversi bitwise ke tipe data T yang ditentukan. |
dim_size (int d) const | int64 Aksesori praktis untuk bentuk tensor. |
dims () const | int Aksesori praktis untuk bentuk tensor. |
dtype () const | DataType Mengembalikan tipe data. |
flat () | TTypes< T >::Flat Mengembalikan data tensor sebagai Eigen::Tensor dengan tipe data dan bentuk yang ditentukan. |
flat () const | TTypes< T >::ConstFlat |
flat_inner_dims () | TTypes< T, NDIMS >:: Tensor Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menggabungkan semua dimensi Tensor kecuali NDIMS-1 terakhir ke dalam dimensi pertama dari hasilnya. |
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 Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menggabungkan semua dimensi Tensor kecuali NDIMS-1 pertama ke dalam dimensi terakhir dari hasilnya. |
flat_outer_dims () const | TTypes< T, NDIMS >::ConstTensor |
matrix () | TTypes< T >::Matrix |
matrix () const | TTypes< T >::ConstMatrix |
operator= (const Tensor & other) | Tensor & Operator penugasan. Tensor ini berbagi penyimpanan dasar dengan tensor lainnya. |
operator= ( Tensor && other) | Tensor & Operator pemindahan. Lihat konstruktor pemindahan untuk detailnya. |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir dikonversi menjadi elemen tunggal dari tipe yang lebih besar. |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir dikonversi menjadi elemen tunggal dari tipe yang lebih besar. |
scalar () | TTypes< T >::Scalar |
scalar () const | TTypes< T >::ConstScalar |
shape () const | const TensorShape & Mengembalikan bentuk tensor. |
shaped (gtl::ArraySlice< int64 > new_sizes) | TTypes< T, NDIMS >:: Tensor |
shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor |
tensor () | TTypes< T, NDIMS >:: Tensor |
tensor () const | TTypes< T, NDIMS >::ConstTensor |
tensor_data () const | StringPiece Mengembalikan StringPiece yang memetakan buffer tensor saat ini. |
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 Mengembalikan data tensor sebagai Eigen::Tensor dengan tipe dan ukuran Tensor ini. |
vec () const | TTypes< T >::ConstVec Versi konstanta dari semua metode di atas. |
Fungsi publik
Byte yang Dialokasikan
size_t AllocatedBytes() const
SebagaiProtoField
void AsProtoField( TensorProto *proto ) const
Mengisi proto dengan konten tensor *this .
AsProtoField() mengisi field yang berulang untuk proto.dtype() , sedangkan AsProtoTensorContent() mengkodekan konten dalam proto.tensor_content() dalam bentuk yang ringkas.
AsProtoTensorContent
void AsProtoTensorContent( TensorProto *proto ) const
BitcastFrom
Status BitcastFrom( const Tensor & other, DataType dtype, const TensorShape & shape )
Salin tensor lain ke dalam tensor ini, ubah bentuknya, dan tafsirkan ulang tipe data buffer.
Jika Status::OK() dikembalikan, kedua tensor tersebut sekarang berbagi penyimpanan dasar yang sama.
Panggilan ini mensyaratkan bahwa tensor other dan tipe serta bentuk yang diberikan "kompatibel" (yaitu, keduanya menempati jumlah byte yang sama).
Secara khusus:
bentuk.num_elemen() * UkuranTipeData(tipe)
harus sama dengan
other.num_elements() * DataTypeSize(other.dtype())
Selain itu, fungsi ini membutuhkan:
- UkuranTipeData(other.dtype()) != 0
- UkuranTipeData(tipe) != 0
Jika salah satu persyaratan tidak terpenuhi, maka errors::InvalidArgument akan dikembalikan.
Salin Dari
bool CopyFrom( const Tensor & other, const TensorShape & shape ) TF_MUST_USE_RESULT
Salin tensor lain ke dalam tensor ini dan ubah bentuknya.
Tensor ini berbagi penyimpanan dasar dengan tensor lainnya. Mengembalikan true jika dan hanya jika other.shape() memiliki jumlah elemen yang sama dengan shape yang diberikan.
String Debug
string DebugString( int num_values ) const
Ringkasan tensor yang mudah dibaca manusia dan cocok untuk keperluan debugging.
String Debug
string DebugString() const
DeviceSafeDebugString
string DeviceSafeDebugString() const
IsiDeskripsi
void FillDescription( TensorDescription *description ) const
Isi proto TensorDescription dengan metadata tentang tensor yang berguna untuk pemantauan dan debugging.
DariProto
bool FromProto( const TensorProto & other ) TF_MUST_USE_RESULT
Uraikan other dan bangun tensornya.
Mengembalikan true jika penguraian berhasil. Jika penguraian gagal, keadaan *this tidak berubah.
DariProto
bool FromProto( Allocator *a, const TensorProto & other ) TF_MUST_USE_RESULT
Apakah Sejajar
bool IsAligned() const
Mengembalikan nilai true jika dan hanya jika tensor ini sejajar.
Diinisialisasi
bool IsInitialized() const
Jika perlu, apakah Tensor ini sudah diinisialisasi?
Tensor dengan nol elemen selalu dianggap telah diinisialisasi, meskipun belum pernah diberi nilai dan tidak memiliki alokasi memori.
Ukurannya Sama
bool IsSameSize( const Tensor & b ) const
JumlahElemen
int64 NumElements() const
Aksesori praktis untuk bentuk tensor.
SharesBufferWith
bool SharesBufferWith( const Tensor & b ) const
Mengiris
Tensor Slice( int64 dim0_start, int64 dim0_limit ) const
Iris tensor ini sepanjang dimensi pertama.
Artinya, tensor yang dikembalikan memenuhi returned[i, ...] == this[dim0_start + i, ...]. Tensor yang dikembalikan berbagi buffer tensor yang mendasarinya dengan tensor ini.
CATATAN: Tensor yang dikembalikan mungkin tidak memenuhi persyaratan perataan yang sama dengan tensor ini tergantung pada bentuknya. Pemanggil harus memeriksa perataan tensor yang dikembalikan sebelum memanggil metode tertentu yang memiliki persyaratan perataan (misalnya, flat() , tensor() ).
CATATAN: Saat diberi input tensor N-dimensi, metode ini akan mengembalikan tensor yang juga memiliki N dimensi. Jika Anda ingin memilih sub-tensor, lihat SubSlice.
MEMBUTUHKAN: dims() >= 1 MEMBUTUHKAN: 0 <= dim0_start <= dim0_limit <= dim_size(0)
SubSlice
Tensor SubSlice( int64 index ) const
Pilih sub-irisan dari tensor ini sepanjang dimensi pertama.
Saat diberi input tensor berdimensi N, metode ini mengembalikan tensor dengan N-1 dimensi, di mana tensor yang dikembalikan merupakan subslice dari tensor input sepanjang dimensi pertama. N-1 dimensi dari tensor yang dikembalikan adalah N-1 dimensi terakhir dari tensor input.
CATATAN: Tensor yang dikembalikan mungkin tidak memenuhi persyaratan perataan yang sama dengan tensor ini tergantung pada bentuknya. Pemanggil harus memeriksa perataan tensor yang dikembalikan sebelum memanggil metode tertentu yang memiliki persyaratan perataan (misalnya, flat() , tensor() ).
MEMBUTUHKAN: dims() >= 1 MEMBUTUHKAN: 0 <= dim0_start < dim_size(0)
Ringkaskan Nilai
string SummarizeValue( int64 max_entries, bool print_v2 ) const
Ubah nilai max_entries pertama dalam *this menjadi string.
Tensor
Tensor()
Membuat tensor float 1 dimensi dengan 0 elemen.
Tensor yang dikembalikan bukanlah skalar (bentuk {}), melainkan Tensor satu dimensi kosong (bentuk {0}, NumElements() == 0). Karena tidak memiliki elemen, Tensor ini tidak perlu diberi nilai dan diinisialisasi secara default ( IsInitialized() bernilai true). Jika ini tidak diinginkan, pertimbangkan untuk membuat skalar satu elemen yang memang memerlukan inisialisasi:
Tensor(DT_FLOAT, TensorShape({}))
Tensor
Tensor( DataType type, const TensorShape & shape )
Membuat Tensor dengan type dan shape yang diberikan.
Jika LogMemory::IsEnabled(), alokasi tersebut dicatat berasal dari kernel dan langkah yang tidak dikenal. Memanggil konstruktor Tensor secara langsung dari dalam Op sudah usang: gunakan metode allocate_* dari OpKernelConstruction/OpKernelContext untuk mengalokasikan tensor baru, yang mencatat kernel dan langkahnya.
Buffer yang mendasarinya dialokasikan menggunakan CPUAllocator .
Tensor
Tensor( Allocator *a, DataType type, const TensorShape & shape )
Membuat tensor dengan type dan shape input , menggunakan alokator a untuk mengalokasikan buffer yang mendasarinya.
Jika LogMemory::IsEnabled(), alokasi tersebut dicatat berasal dari kernel dan langkah yang tidak dikenal. Memanggil konstruktor Tensor secara langsung dari dalam Op sudah usang: gunakan metode allocate_* dari OpKernelConstruction/OpKernelContext untuk mengalokasikan tensor baru, yang mencatat kernel dan langkahnya.
a keharusan untuk bertahan lebih lama dari masa hidup Tensor ini.
Tensor
Tensor( Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr )
Membuat tensor dengan type dan shape input , menggunakan alokator a dan "allocation_attr" yang ditentukan untuk mengalokasikan buffer yang mendasarinya.
Jika kernel dan langkah diketahui, maka allocation_attr.allocation_will_be_logged harus diatur ke true dan LogMemory::RecordTensorAllocation harus dipanggil setelah tensor dibuat. Memanggil konstruktor Tensor secara langsung dari dalam Op sudah usang: gunakan metode allocate_* dari OpKernelConstruction/OpKernelContext untuk mengalokasikan tensor baru, yang mencatat kernel dan langkah.
a keharusan untuk bertahan lebih lama dari masa hidup Tensor ini.
Tensor
Tensor( DataType type, const TensorShape & shape, TensorBuffer *buf )
Membuat tensor dengan tipe data input, bentuk, dan buffer.
Memperoleh referensi pada buf yang dimiliki oleh Tensor ini.
Tensor
Tensor( DataType type )
Membuat Tensor kosong dengan tipe data yang diberikan.
Seperti Tensor() , mengembalikan Tensor 1 dimensi dengan 0 elemen dan IsInitialized() mengembalikan True. Lihat dokumentasi Tensor() untuk detailnya.
Tensor
Tensor( float scalar_value )
Tensor
Tensor( double scalar_value )
Tensor
Tensor( int32 scalar_value )
Tensor
Tensor( uint32 scalar_value )
Tensor
Tensor( uint16 scalar_value )
Tensor
Tensor( uint8 scalar_value )
Tensor
Tensor( int16 scalar_value )
Tensor
Tensor( int8 scalar_value )
Tensor
Tensor( tstring scalar_value )
Tensor
Tensor( complex64 scalar_value )
Tensor
Tensor( complex128 scalar_value )
Tensor
Tensor( int64 scalar_value )
Tensor
Tensor( uint64 scalar_value )
Tensor
Tensor( bool scalar_value )
Tensor
Tensor( qint8 scalar_value )
Tensor
Tensor( quint8 scalar_value )
Tensor
Tensor( qint16 scalar_value )
Tensor
Tensor( quint16 scalar_value )
Tensor
Tensor( qint32 scalar_value )
Tensor
Tensor( bfloat16 scalar_value )
Tensor
Tensor( Eigen::half scalar_value )
Tensor
Tensor( ResourceHandle scalar_value )
Tensor
Tensor( const char *scalar_value )
Tensor
Tensor( Tensor && other )
Konstruktor pemindahan.
Setelah panggilan ini,
Total Byte
size_t TotalBytes() const
Mengembalikan perkiraan penggunaan memori tensor ini.
Salinan Tidak AmanDariInternal
void UnsafeCopyFromInternal( const Tensor & other, DataType dtype, const TensorShape & shape )
Mirip dengan BitcastFrom, tetapi CHECK akan gagal jika salah satu prasyarat tidak terpenuhi.
Tidak digunakan lagi. Gunakan BitcastFrom sebagai gantinya dan periksa Status yang dikembalikan.
bit_cast_shaped
TTypes< T, NDIMS >::Tensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes )
Mengembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan diubah ke tipe data baru T
Penggunaan bitcast berguna untuk operasi pemindahan dan penyalinan. Bitcast yang diizinkan adalah satu-satunya perbedaan dari shaped() .
bit_cast_shaped
TTypes< T, NDIMS >::ConstTensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes ) const
Mengembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan diubah ke tipe data baru T
Penggunaan bitcast berguna untuk operasi pemindahan dan penyalinan. Bitcast yang diizinkan adalah satu-satunya perbedaan dari shaped() .
tensor_bit_casted
TTypes< T, NDIMS >::Tensor bit_casted_tensor()
Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dengan konversi bitwise ke tipe data T yang ditentukan.
Penggunaan bitcast berguna untuk operasi pemindahan dan penyalinan. CATATAN: ini sama dengan tensor() kecuali bitcast diperbolehkan.
tensor_bit_casted
TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const
Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dengan konversi bitwise ke tipe data T yang ditentukan.
Penggunaan bitcast berguna untuk operasi pemindahan dan penyalinan. CATATAN: ini sama dengan tensor() kecuali bitcast diperbolehkan.
ukuran_dimensi
int64 dim_size( int d ) const
Aksesori praktis untuk bentuk tensor.
dimensi
int dims() const
Aksesori praktis untuk bentuk tensor.
Untuk semua pengakses bentuk, lihat komentar untuk metode yang relevan dari TensorShape di tensor_shape.h .
tipe data
DataType dtype() const
Mengembalikan tipe data.
datar
TTypes< T >::Flat flat()
Mengembalikan data tensor sebagai Eigen::Tensor dengan tipe data dan bentuk yang ditentukan.
Metode-metode ini memungkinkan Anda mengakses data dengan dimensi dan ukuran pilihan Anda. Anda tidak perlu mengetahui jumlah dimensi Tensor untuk memanggilnya. Namun, metode ini CHECK apakah tipenya cocok dan dimensi yang diminta akan membuat Eigen::Tensor dengan jumlah elemen yang sama dengan tensor tersebut.
Contoh:
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<T, 2>({4, 15}); // CHECK fails, bad num elements: auto outer = my_ten.shaped<T, 2>({4, 8}); // 3D Eigen::Tensor 6 x 5 x 2: auto weird = my_ten.shaped<T, 3>({6, 5, 2}); // CHECK fails, type mismatch: auto bad = my_ten.flat ();
flat
TTypes< T >::ConstFlat flat() const
dimensi dalam datar
TTypes< T, NDIMS >::Tensor flat_inner_dims()
dimensi dalam datar
TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const
dimensi dalam_luar_datar
TTypes< T, NDIMS >::Tensor flat_inner_outer_dims( int64 begin )
Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menggabungkan dimensi Tensor 'begin' pertama ke dalam dimensi pertama hasil dan dimensi Tensor dari dims() - 'begin' - NDIMS terakhir ke dalam dimensi terakhir hasil.
Jika 'begin' < 0 maka |'begin'| dimensi terdepan dengan ukuran 1 akan ditambahkan. Jika 'begin' + NDIMS > dims() maka 'begin' + NDIMS - dims() dimensi belakang dengan ukuran 1 akan ditambahkan.
dimensi dalam_luar_datar
TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims( int64 begin ) const
dimensi_luar_datar
TTypes< T, NDIMS >::Tensor flat_outer_dims()
dimensi_luar_datar
TTypes< T, NDIMS >::ConstTensor flat_outer_dims() const
matriks
TTypes< T >::Matrix matrix()
matriks
TTypes< T >::ConstMatrix matrix() const
operator=
Tensor & operator=( const Tensor & other )
Operator penugasan. Tensor ini berbagi penyimpanan dasar dengan tensor lainnya.
operator=
Tensor & operator=( Tensor && other )
Operator pemindahan. Lihat konstruktor pemindahan untuk detailnya.
menafsirkan ulang dimensi terakhir
TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()
Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir dikonversi menjadi elemen tunggal dari tipe yang lebih besar.
Sebagai contoh, ini berguna untuk kernel yang dapat memperlakukan tensor NCHW_VECT_C int8 sebagai tensor NCHW int32. sizeof(T) harus sama dengan ukuran tipe elemen asli * num elemen pada dimensi terakhir asli. NDIMS harus 1 kurang dari jumlah dimensi asli.
menafsirkan ulang dimensi terakhir
TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const
Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir dikonversi menjadi elemen tunggal dari tipe yang lebih besar.
Sebagai contoh, ini berguna untuk kernel yang dapat memperlakukan tensor NCHW_VECT_C int8 sebagai tensor NCHW int32. sizeof(T) harus sama dengan ukuran tipe elemen asli * num elemen pada dimensi terakhir asli. NDIMS harus 1 kurang dari jumlah dimensi asli.
skalar
TTypes< T >::Scalar scalar()
skalar
TTypes< T >::ConstScalar scalar() const
membentuk
const TensorShape & shape() const
Mengembalikan bentuk tensor.
berbentuk
TTypes< T, NDIMS >::Tensor shaped( gtl::ArraySlice< int64 > new_sizes )
berbentuk
TTypes< T, NDIMS >::ConstTensor shaped( gtl::ArraySlice< int64 > new_sizes ) const
tensor
TTypes< T, NDIMS >::Tensor tensor()
tensor
TTypes< T, NDIMS >::ConstTensor tensor() const
tensor_data
StringPiece tensor_data() const
Mengembalikan StringPiece yang memetakan buffer tensor saat ini.
StringPiece yang dikembalikan mungkin menunjuk ke lokasi memori pada perangkat yang tidak dapat diakses langsung oleh CPU.
CATATAN: Buffer tensor yang mendasarinya dihitung referensinya, sehingga masa hidup konten yang dipetakan oleh StringPiece sesuai dengan masa hidup buffer; pemanggil harus mengatur agar buffer tidak dihancurkan saat StringPiece masih digunakan.
MEMBUTUHKAN: DataTypeCanUseMemcpy(dtype()) .
tidak sejajar
TTypes< T >::UnalignedFlat unaligned_flat()
tidak sejajar
TTypes< T >::UnalignedConstFlat unaligned_flat() const
berbentuk tidak sejajar
TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes )
berbentuk tidak sejajar
TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped( gtl::ArraySlice< int64 > new_sizes ) const
vektor
TTypes< T >::Vec vec()
Mengembalikan data tensor sebagai Eigen::Tensor dengan tipe dan ukuran Tensor ini.
Gunakan metode ini ketika Anda mengetahui tipe data dan jumlah dimensi Tensor, dan Anda menginginkan Eigen::Tensor yang ukurannya disesuaikan secara otomatis dengan ukuran Tensor tersebut. Pemeriksaan implementasi akan gagal jika tipe atau ukurannya tidak sesuai.
Contoh:
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<T, 2>(); // 2D Eigen::Tensor, 3 x 5. auto vec = my_mat.vec (); // CHECK fails as my_mat is 2D. auto vec = my_mat.tensor<T, 3>(); // CHECK fails as my_mat is 2D. auto mat = my_mat.matrix ();// CHECK fails as type mismatch.
vec
TTypes< T >::ConstVec vec() const
Versi konstanta dari semua metode di atas.
~Tensor
~Tensor()