aliran tensor:: Tensor

#include <tensor.h>

Mewakili array nilai n-dimensi.

Ringkasan

Konstruktor dan Destruktor

Tensor ()
Membuat tensor float 1 dimensi dengan 0 elemen.
Tensor (DataType type, const TensorShape & shape)
Membuat Tensor dengan type dan shape tertentu.
Tensor (Allocator *a, DataType type, const TensorShape & shape)
Membuat tensor dengan type dan shape masukan, menggunakan pengalokasi a untuk mengalokasikan buffer yang mendasarinya.
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr)
Membuat tensor dengan type dan shape masukan, menggunakan pengalokasi a dan "allocation_attr" yang ditentukan untuk mengalokasikan buffer yang mendasarinya.
Tensor (DataType type)
Membuat Tensor kosong dari tipe data tertentu.
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)
Salin konstruktor.
Tensor ( Tensor && other)
Pindahkan konstruktor.
~Tensor ()

Fungsi publik

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
Mengisi proto dengan *this .
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Salin tensor lainnya ke tensor ini, bentuk ulang, dan tafsirkan ulang tipe data buffer.
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT
bool
Salin tensor lainnya ke tensor ini dan bentuk ulang.
DebugString (int num_values) const
string
Ringkasan tensor yang dapat dibaca manusia dan cocok untuk proses debug.
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
Parsing other dan buat tensornya.
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT
bool
IsAligned () const
bool
Mengembalikan nilai benar jika tensor ini sejajar.
IsInitialized () const
bool
Jika perlu, apakah Tensor ini sudah diinisialisasi?
IsSameSize (const Tensor & b) const
bool
NumElements () const
int64
Aksesor 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 subirisan dari tensor ini sepanjang dimensi pertama.
SummarizeValue (int64 max_entries, bool print_v2) const
string
Render nilai max_entries pertama di *this menjadi sebuah string.
TotalBytes () const
size_t
Mengembalikan perkiraan penggunaan memori tensor ini.
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape)
void
Seperti BitcastFrom, tetapi CHECK gagal jika ada prasyarat yang tidak terpenuhi.
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
Kembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan masukkan ke dtype T baru.
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const
TTypes< T, NDIMS >::ConstTensor
Kembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan masukkan ke dtype T baru.
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dilemparkan secara bitwise ke dtype T yang ditentukan.
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dilemparkan secara bitwise ke dtype T yang ditentukan.
dim_size (int d) const
int64
Aksesor praktis untuk bentuk tensor.
dims () const
int
Aksesor 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 tertentu.
flat () const
TTypes< T >::ConstFlat
flat_inner_dims ()
TTypes< T, NDIMS >:: Tensor
Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menciutkan semua dimensi Tensor kecuali NDIMS-1 terakhir ke dalam dimensi pertama hasil.
flat_inner_dims () const
TTypes< T, NDIMS >::ConstTensor
flat_inner_outer_dims (int64 begin)
TTypes< T, NDIMS >:: Tensor
Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menciutkan dimensi Tensor 'mulai' pertama ke dalam dimensi pertama hasil dan dimensi Tensor dari dims() - 'mulai' - NDIMS terakhir ke dalam dimensi terakhir dari hasil hasil.
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, menciutkan semua dimensi Tensor kecuali NDIMS-1 pertama ke dalam dimensi terakhir dari hasil.
flat_outer_dims () const
TTypes< T, NDIMS >::ConstTensor
matrix ()
TTypes< T >::Matrix
matrix () const
TTypes< T >::ConstMatrix
operator= (const Tensor & other)
Tetapkan operator. Tensor ini berbagi penyimpanan dasar lainnya.
operator= ( Tensor && other)
Pindahkan operator. Lihat memindahkan konstruktor untuk detailnya.
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal bertipe lebih besar.
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal bertipe lebih besar.
scalar ()
TTypes< T >::Scalar
Menampilkan data Tensor sebagai TensorMap dengan ukuran tetap 1: TensorMap > TensorMap > .
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
Kembalikan data tensor sebagai Eigen::Tensor dengan jenis dan ukuran Tensor ini.
vec () const
TTypes< T >::ConstVec
Versi const dari semua metode di atas.

Fungsi publik

AlokasiBytes

size_t AllocatedBytes() const 

SebagaiProtoField

void AsProtoField(
  TensorProto *proto
) const 

Mengisi proto dengan *this .

AsProtoField() mengisi kolom berulang untuk proto.dtype() , sementara AsProtoTensorContent() mengkodekan konten dalam proto.tensor_content() dalam bentuk yang ringkas.

SebagaiProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

BitcastDari

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

Salin tensor lainnya ke tensor ini, bentuk ulang, dan tafsirkan ulang tipe data buffer.

Jika Status::OK() dikembalikan, kedua tensor kini berbagi penyimpanan dasar yang sama.

Panggilan ini mengharuskan tensor other serta tipe dan bentuk tertentu "kompatibel" (yaitu menempati jumlah byte yang sama).

Secara khusus:

bentuk.num_elements() * DataTypeSize(tipe)

harus sama

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

Selain itu, fungsi ini memerlukan:

  • DataTypeSize(lainnya.dtype()) != 0
  • DataTypeSize(tipe) != 0

Jika salah satu persyaratan tidak terpenuhi, error::InvalidArgument dikembalikan.

SalinDari

bool CopyFrom(
  const Tensor & other,
  const TensorShape & shape
) TF_MUST_USE_RESULT

Salin tensor lainnya ke tensor ini dan bentuk ulang.

Tensor ini berbagi penyimpanan dasar lainnya. Mengembalikan true jika other.shape() memiliki jumlah elemen yang sama pada shape yang diberikan.

DebugString

string DebugString(
  int num_values
) const 

Ringkasan tensor yang dapat dibaca manusia dan cocok untuk proses debug.

DebugString

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

Parsing other dan buat tensornya.

Mengembalikan true jika penguraian berhasil. Jika penguraian gagal, status *this tidak berubah.

DariProto

bool FromProto(
  Allocator *a,
  const TensorProto & other
) TF_MUST_USE_RESULT

Sejajar

bool IsAligned() const 

Mengembalikan nilai benar jika tensor ini sejajar.

Diinisialisasi

bool IsInitialized() const 

Jika perlu, apakah Tensor ini sudah diinisialisasi?

Tensor elemen nol selalu dianggap diinisialisasi, meskipun Tensor tersebut belum pernah ditetapkan dan tidak memiliki alokasi memori apa pun.

AdalahUkuran yang Sama

bool IsSameSize(
  const Tensor & b
) const 

NomorElemen

int64 NumElements() const 

Aksesor praktis untuk bentuk tensor.

BagikanBufferDengan

bool SharesBufferWith(
  const Tensor & b
) const 

Mengiris

Tensor Slice(
  int64 dim0_start,
  int64 dim0_limit
) const 

Iris tensor ini sepanjang dimensi pertama.

Yaitu, tensor yang dikembalikan memenuhi return[i, ...] == this[dim0_start + i, ...]. Tensor yang dikembalikan berbagi buffer tensor yang mendasarinya dengan tensor ini.

CATATAN: Tensor yang dikembalikan mungkin tidak memenuhi persyaratan penyelarasan yang sama dengan tensor ini, bergantung pada bentuknya. Pemanggil harus memeriksa penyelarasan tensor yang dikembalikan sebelum memanggil metode tertentu yang memiliki persyaratan penyelarasan (misalnya, flat() , tensor() ).

CATATAN: Saat diumpankan dengan tensor berdimensi N, metode ini akan mengembalikan tensor juga dengan dimensi N. Jika Anda ingin memilih sub tensor, lihat SubSlice.

MEMBUTUHKAN: dims() >= 1 MEMBUTUHKAN: 0 <= dim0_start <= dim0_limit <= dim_size(0)

Subirisan

Tensor SubSlice(
  int64 index
) const 

Pilih subirisan dari tensor ini sepanjang dimensi pertama.

Saat diumpankan dengan tensor berdimensi N, metode ini akan mengembalikan tensor dengan dimensi N-1, dengan tensor yang dikembalikan adalah subbagian dari tensor masukan sepanjang dimensi pertama. Dimensi N-1 dari tensor yang dikembalikan adalah dimensi N-1 terakhir dari tensor masukan.

CATATAN: Tensor yang dikembalikan mungkin tidak memenuhi persyaratan penyelarasan yang sama dengan tensor ini, bergantung pada bentuknya. Pemanggil harus memeriksa penyelarasan tensor yang dikembalikan sebelum memanggil metode tertentu yang memiliki persyaratan penyelarasan (misalnya, flat() , tensor() ).

MEMBUTUHKAN: dims() >= 1 MEMBUTUHKAN: 0 <= dim0_start < dim_size(0)

MeringkasNilai

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

Render nilai max_entries pertama di *this menjadi sebuah 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, maka tidak perlu diberi nilai dan diinisialisasi secara default ( IsInitialized() bernilai true). Jika hal ini tidak diinginkan, pertimbangkan untuk membuat skalar satu elemen yang memerlukan inisialisasi:

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

Membuat Tensor dengan type dan shape tertentu.

Jika LogMemory::IsEnabled() alokasi dicatat berasal dari kernel dan langkah yang tidak diketahui. Memanggil konstruktor Tensor langsung dari dalam Op sudah tidak digunakan lagi: gunakan metode OpKernelConstruction/OpKernelContext mengalokasikan_* untuk mengalokasikan tensor baru, yang mencatat kernel dan langkah.

Buffer yang mendasarinya dialokasikan menggunakan CPUAllocator .

Tensor

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

Membuat tensor dengan type dan shape masukan, menggunakan pengalokasi a untuk mengalokasikan buffer yang mendasarinya.

Jika LogMemory::IsEnabled() alokasi dicatat berasal dari kernel dan langkah yang tidak diketahui. Memanggil konstruktor Tensor langsung dari dalam Op sudah tidak digunakan lagi: gunakan metode OpKernelConstruction/OpKernelContext mengalokasikan_* untuk mengalokasikan tensor baru, yang mencatat kernel dan langkah.

a hidup lebih lama dari masa pakai Tensor ini.

Tensor

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

Membuat tensor dengan type dan shape masukan, menggunakan pengalokasi a dan "allocation_attr" yang ditentukan untuk mengalokasikan buffer yang mendasarinya.

Jika kernel dan langkahnya diketahui, alokasi_attr.allocation_will_be_logged harus disetel ke true dan LogMemory::RecordTensorAllocation harus dipanggil setelah tensor dibuat. Memanggil konstruktor Tensor langsung dari dalam Op sudah tidak digunakan lagi: gunakan metode OpKernelConstruction/OpKernelContext mengalokasikan_* untuk mengalokasikan tensor baru, yang mencatat kernel dan langkah.

a hidup lebih lama dari masa pakai Tensor ini.

Tensor

 Tensor(
  DataType type
)

Membuat Tensor kosong dari tipe data tertentu.

Seperti Tensor() , mengembalikan Tensor 1 dimensi 0 elemen dengan IsInitialized() mengembalikan True. Lihat dokumentasi Tensor() untuk mengetahui 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(
  string 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(
  const Tensor & other
)

Salin konstruktor.

Tensor

 Tensor(
  Tensor && other
)

Pindahkan konstruktor.

Setelah panggilan ini, dapat dirusak dengan aman dan dapat ditugaskan, tetapi panggilan lain ke dalamnya (misalnya manipulasi bentuk) tidak valid.

TotalByte

size_t TotalBytes() const 

Mengembalikan perkiraan penggunaan memori tensor ini.

Salinan Tidak AmanDariInternal

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

Seperti BitcastFrom, tetapi CHECK gagal jika ada prasyarat yang tidak terpenuhi.

Tidak digunakan lagi. Gunakan BitcastFrom sebagai gantinya dan periksa Status yang dikembalikan.

bit_casted_shape

TTypes< T, NDIMS >::Tensor bit_casted_shaped(
  gtl::ArraySlice< int64 > new_sizes
)

Kembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan masukkan ke dtype T baru.

Menggunakan bitcast berguna untuk operasi pemindahan dan penyalinan. Bitcast yang diizinkan adalah satu-satunya perbedaan dari shaped() .

bit_casted_shape

TTypes< T, NDIMS >::ConstTensor bit_casted_shaped(
  gtl::ArraySlice< int64 > new_sizes
) const 

Kembalikan data tensor ke Eigen::Tensor dengan bentuk baru yang ditentukan dalam new_sizes dan masukkan ke dtype T baru.

Menggunakan bitcast berguna untuk operasi pemindahan dan penyalinan. Bitcast yang diizinkan adalah satu-satunya perbedaan dari shaped() .

bit_casted_tensor

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

Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dilemparkan secara bitwise ke dtype T yang ditentukan.

Menggunakan bitcast berguna untuk operasi pemindahan dan penyalinan. CATATAN: ini sama dengan tensor() kecuali bitcast diperbolehkan.

bit_casted_tensor

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

Mengembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi dilemparkan secara bitwise ke dtype T yang ditentukan.

Menggunakan bitcast berguna untuk operasi pemindahan dan penyalinan. CATATAN: ini sama dengan tensor() kecuali bitcast diperbolehkan.

redup_ukuran

int64 dim_size(
  int d
) const 

Aksesor praktis untuk bentuk tensor.

meredup

int dims() const 

Aksesor praktis untuk bentuk tensor.

Untuk semua pengakses bentuk, lihat komentar untuk metode TensorShape yang relevan di tensor_shape.h .

tipe

DataType dtype() const 

Mengembalikan tipe data.

datar

TTypes< T >::Flat flat()

Mengembalikan data tensor sebagai Eigen::Tensor dengan tipe data dan bentuk tertentu.

Metode ini memungkinkan Anda mengakses data dengan dimensi dan ukuran pilihan Anda. Anda tidak perlu mengetahui jumlah dimensi Tensor untuk memanggilnya. Namun, mereka CHECK apakah jenisnya cocok dan dimensi yang diminta membuat Eigen::Tensor dengan jumlah elemen yang sama dengan tensor.

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

Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menciutkan semua dimensi Tensor kecuali NDIMS-1 terakhir ke dalam dimensi pertama hasil.

Jika NDIMS > dims() maka dimensi terdepan berukuran 1 akan ditambahkan untuk membuat peringkat keluaran NDIMS.

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
)

Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menciutkan dimensi Tensor 'mulai' pertama ke dalam dimensi pertama hasil dan dimensi Tensor dari dims() - 'mulai' - NDIMS terakhir ke dalam dimensi terakhir dari hasil.

Jika 'mulai' < 0 maka |'mulai'| dimensi terdepan ukuran 1 akan ditambahkan. Jika 'begin' + NDIMS > dims() maka 'begin' + NDIMS - dims() dimensi akhir ukuran 1 akan ditambahkan.

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

Mengembalikan data sebagai Eigen::Tensor dengan dimensi NDIMS, menciutkan semua dimensi Tensor kecuali NDIMS-1 pertama ke dalam dimensi terakhir dari hasil.

Jika NDIMS > dims() maka dimensi tambahan berukuran 1 akan ditambahkan untuk membuat peringkat keluaran NDIMS.

flat_outer_dims

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
)

Tetapkan operator. Tensor ini berbagi penyimpanan dasar lainnya.

operator=

Tensor & operator=(
  Tensor && other
)

Pindahkan operator. Lihat memindahkan konstruktor untuk detailnya.

menafsirkan ulang_dimensi_terakhir

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

Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal bertipe lebih besar.

Misalnya, 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 * jumlah elemen dalam dimensi terakhir asli. NDIMS harus lebih kecil 1 dari jumlah dimensi aslinya.

menafsirkan ulang_dimensi_terakhir

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

Mengembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal bertipe lebih besar.

Misalnya, 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 * jumlah elemen dalam dimensi terakhir asli. NDIMS harus kurang 1 dari jumlah dimensi aslinya.

skalar

TTypes< T >::Scalar scalar()

Menampilkan data Tensor sebagai TensorMap dengan ukuran tetap 1: TensorMap > TensorMap > .

Penggunaan scalar() memungkinkan kompiler melakukan pengoptimalan karena ukuran tensor diketahui pada waktu kompilasi.

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 ditangani langsung oleh CPU.

CATATAN: Buffer tensor yang mendasarinya dihitung ulang, sehingga masa pakai konten yang dipetakan oleh StringPiece cocok dengan masa pakai buffer; penelepon harus mengatur untuk memastikan buffer tidak hancur saat StringPiece masih digunakan.

MEMBUTUHKAN: DataTypeCanUseMemcpy(dtype()) .

tidak selaras_datar

TTypes< T >::UnalignedFlat unaligned_flat()

tidak selaras_datar

TTypes< T >::UnalignedConstFlat unaligned_flat() const 

tidak selaras_berbentuk

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

tidak selaras_berbentuk

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

vektor

TTypes< T >::Vec vec()

Kembalikan 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 ingin Eigen::Tensor otomatis berukuran sesuai ukuran Tensor. Pemeriksaan implementasi gagal jika jenis atau ukuran tidak cocok.

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

Versi const dari semua metode di atas.

~ Tensor

 ~Tensor()