aliran tensor:: Tensor

#include <tensor.h>

Mewakili array nilai n-dimensi.

Ringkasan

Konstruktor dan Destructor

Tensor ()
Membuat tensor float 0-elemen 1 dimensi.
Tensor (DataType type, const TensorShape & shape)
Membuat Tensor dari type dan shape yang diberikan .
Tensor (Allocator *a, DataType type, const TensorShape & shape)
Membuat tensor dengan type dan shape input , 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 input, menggunakan pengalokasi a dan "allocation_attr" yang ditentukan untuk mengalokasikan buffer yang mendasarinya.
Tensor (DataType type)
Membuat Tensor kosong dari 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 (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 konten *this tensor ini.
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Salin tensor lain ke dalam 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 dalam tensor ini dan bentuk ulang.
DebugString (int num_values) const
string
Ringkasan tensor yang dapat dibaca manusia yang cocok untuk debugging.
DebugString () const
string
DeviceSafeDebugString () const
string
FillDescription (TensorDescription *description) const
void
Isi proto TensorDescription dengan metadata tentang tensor yang berguna untuk monitoring 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 true jika tensor ini disejajarkan.
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 subslice dari tensor ini di sepanjang dimensi pertama.
SummarizeValue (int64 max_entries, bool print_v2) const
string
Render nilai max_entries pertama di *this menjadi 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
Kembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi sedikit ditransmisikan ke dtype T yang ditentukan.
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
Kembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi sedikit ditransmisikan 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
Kembalikan data tensor sebagai Eigen::Tensor dari 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, 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 redup terakhir() - 'mulai' - NDIMS ke dalam dimensi terakhir 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 orang lain.
operator= ( Tensor && other)
Pindahkan operator. Lihat memindahkan konstruktor untuk detailnya.
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
Kembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal dengan tipe yang lebih besar.
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
Kembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal dengan tipe yang lebih besar.
scalar ()
TTypes< T >::Scalar
Kembalikan 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

AlokasiByte

size_t AllocatedBytes() const 

SebagaiProtoField

void AsProtoField(
  TensorProto *proto
) const 

Mengisi proto dengan konten *this tensor ini.

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

SebagaiProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

BitcastDari

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

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

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

Panggilan ini mengharuskan tensor other serta jenis dan bentuk yang diberikan "kompatibel" (yaitu mereka menempati jumlah byte yang sama).

Secara khusus:

shape.num_elements() * DataTypeSize(type)

harus sama

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

Selain itu, fungsi ini membutuhkan:

  • DataTypeSize(other.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 dalam tensor ini dan bentuk ulang.

Tensor ini berbagi penyimpanan dasar orang lain. Mengembalikan nilai true jika other.shape() memiliki jumlah elemen yang sama dari shape yang diberikan.

DebugString

string DebugString(
  int num_values
) const 

Ringkasan tensor yang dapat dibaca manusia yang cocok untuk debugging.

DebugString

string DebugString() const 

DeviceSafeDebugString

string DeviceSafeDebugString() const 

IsiDeskripsi

void FillDescription(
  TensorDescription *description
) const 

Isi proto TensorDescription dengan metadata tentang tensor yang berguna untuk monitoring dan debugging.

DariProto

bool FromProto(
  const TensorProto & other
) TF_MUST_USE_RESULT

Parsing other dan buat tensor.

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

DariProto

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

selaras

bool IsAligned() const 

Mengembalikan nilai true jika tensor ini disejajarkan.

Diinisialisasi

bool IsInitialized() const 

Jika perlu, apakah Tensor ini sudah diinisialisasi?

Tensor elemen nol selalu dianggap diinisialisasi, meskipun tidak pernah ditetapkan dan tidak memiliki memori yang dialokasikan.

Ukurannya Sama

bool IsSameSize(
  const Tensor & b
) const 

Elemen Angka

int64 NumElements() const 

Aksesor praktis untuk bentuk tensor.

SahamBufferDengan

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 seperti 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 diumpankan dengan tensor dimensi-N, metode ini 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 subslice dari tensor ini di sepanjang dimensi pertama.

Saat diumpankan dengan tensor N-dimensi, metode ini mengembalikan tensor dengan dimensi N-1, di mana tensor yang dikembalikan adalah subslice dari tensor input di sepanjang dimensi pertama. Dimensi N-1 dari tensor yang dikembalikan adalah dimensi N-1 terakhir dari tensor input.

CATATAN: Tensor yang dikembalikan mungkin tidak memenuhi persyaratan penyelarasan yang sama seperti 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)

RangkumNilai

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

Render nilai max_entries pertama di *this menjadi string.

Tensor

 Tensor()

Membuat tensor float 0-elemen 1 dimensi.

Tensor yang dikembalikan bukan skalar (bentuk {}), melainkan Tensor satu dimensi kosong (bentuk {0}, NumElements() == 0). Karena tidak memiliki elemen, tidak perlu diberi nilai dan diinisialisasi secara default ( IsInitialized() adalah true). Jika ini tidak diinginkan, pertimbangkan untuk membuat skalar satu elemen yang memang membutuhkan inisialisasi:

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

Membuat Tensor dari type dan shape yang diberikan .

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

Buffer yang mendasari dialokasikan menggunakan CPUAllocator .

Tensor

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

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

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

harus a 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 input, menggunakan pengalokasi a dan "allocation_attr" yang ditentukan untuk mengalokasikan buffer yang mendasarinya.

Jika kernel dan langkah 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 tidak digunakan lagi: gunakan metode OpKernelConstruction/OpKernelContext mengalokasikan_* untuk mengalokasikan tensor baru, yang merekam kernel dan langkah.

harus a lebih lama dari masa pakai Tensor ini.

Tensor

 Tensor(
  DataType type
)

Membuat Tensor kosong dari tipe data yang diberikan.

Seperti Tensor() , mengembalikan Tensor 0-elemen 1 dimensi dengan 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(
  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, aman dirusak dan dapat ditugaskan, tetapi panggilan lain di atasnya (misalnya manipulasi bentuk) tidak valid.

TotalBytes

size_t TotalBytes() const 

Mengembalikan perkiraan penggunaan memori tensor ini.

Tidak AmanSalinDariInternal

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_shaped

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 memindahkan dan menyalin operasi. Bitcast yang diizinkan adalah satu-satunya perbedaan dari shaped() .

bit_casted_shaped

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 memindahkan dan menyalin operasi. Bitcast yang diizinkan adalah satu-satunya perbedaan dari shaped() .

bit_casted_tensor

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

Kembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi sedikit ditransmisikan ke dtype T yang ditentukan.

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

bit_casted_tensor

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

Kembalikan data tensor ke Eigen::Tensor dengan ukuran yang sama tetapi sedikit ditransmisikan ke dtype T yang ditentukan.

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

redup_ukuran

int64 dim_size(
  int d
) const 

Aksesor praktis untuk bentuk tensor.

redup

int dims() const 

Aksesor praktis untuk bentuk tensor.

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

tipe d

DataType dtype() const 

Mengembalikan tipe data.

datar

TTypes< T >::Flat flat()

Kembalikan data tensor sebagai Eigen::Tensor dari tipe data dan bentuk yang ditentukan.

Metode ini memungkinkan Anda untuk mengakses data dengan dimensi dan ukuran pilihan Anda. Anda tidak perlu mengetahui jumlah dimensi Tensor untuk memanggilnya. Namun, mereka CHECK bahwa 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 utama ukuran 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 redup terakhir() - 'mulai' - NDIMS ke dalam dimensi terakhir hasil.

Jika 'mulai' < 0 maka |'mulai'| dimensi utama ukuran 1 akan ditambahkan. Jika 'mulai' + NDIMS > dims() maka 'mulai' + NDIMS - dims() mengikuti dimensi 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 dari ukuran 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 orang lain.

operator=

Tensor & operator=(
  Tensor && other
)

Pindahkan operator. Lihat memindahkan konstruktor untuk detailnya.

menafsirkan ulang_dimensi_terakhir

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

Kembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal dengan tipe yang lebih besar.

Misalnya, ini berguna untuk kernel yang dapat memperlakukan tensor int8 NCHW_VECT_C sebagai tensor int32 NCHW. Sizeof(T) harus sama dengan ukuran tipe elemen asli * jumlah elemen dalam dimensi terakhir asli. NDIMS harus 1 kurang dari jumlah dimensi asli.

menafsirkan ulang_dimensi_terakhir

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

Kembalikan data tensor ke Eigen::Tensor dengan elemen dimensi terakhir diubah menjadi elemen tunggal dengan tipe yang lebih besar.

Misalnya, ini berguna untuk kernel yang dapat memperlakukan tensor int8 NCHW_VECT_C sebagai tensor int32 NCHW. Sizeof(T) harus sama dengan ukuran tipe elemen asli * jumlah elemen dalam dimensi terakhir asli. NDIMS harus 1 kurang dari jumlah dimensi asli.

skalar

TTypes< T >::Scalar scalar()

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

Menggunakan scalar() memungkinkan kompiler untuk 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 dikembalikan dapat menunjuk ke lokasi memori pada perangkat yang tidak dapat ditangani oleh CPU secara langsung.

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 dihancurkan saat StringPiece masih digunakan.

MEMBUTUHKAN: DataTypeCanUseMemcpy(dtype()) .

unaligned_flat

TTypes< T >::UnalignedFlat unaligned_flat()

unaligned_flat

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 

vec

TTypes< T >::Vec vec()

Kembalikan data tensor sebagai Eigen::Tensor dengan jenis dan ukuran Tensor ini.

Gunakan metode ini ketika Anda mengetahui tipe data dan jumlah dimensi Tensor dan Anda menginginkan Eigen::Tensor secara otomatis disesuaikan dengan ukuran Tensor. Pemeriksaan implementasi gagal jika salah satu jenis atau ukuran tidak cocok.

Contoh:

l10n-placeholder88

l10n-placeholder89

Versi const dari semua metode di atas.

~ Tensor

l10n-placeholder90