tensorflow:: Tensor

#include <tensor.h>

এটি মানসমূহের একটি n-মাত্রিক অ্যারে উপস্থাপন করে।

সারসংক্ষেপ

নির্মাতা এবং ধ্বংসকারী

Tensor ()
একটি ১-মাত্রিক, ০-উপাদান বিশিষ্ট ফ্লোট টেনসর তৈরি করে।
Tensor (DataType type, const TensorShape & shape)
প্রদত্ত type ও shape একটি টেনসর তৈরি করে।
Tensor (Allocator *a, DataType type, const TensorShape & shape)
অন্তর্নিহিত বাফার বরাদ্দ করার জন্য অ্যালোকেটর a ব্যবহার করে, ইনপুট type ও shape অনুযায়ী একটি টেনসর তৈরি করে।
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr)
অন্তর্নিহিত বাফার বরাদ্দ করার জন্য অ্যালোকেটর a এবং নির্দিষ্ট 'allocation_attr' ব্যবহার করে, এটি ইনপুট type ও shape অনুযায়ী একটি টেনসর তৈরি করে।
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf)
ইনপুট ডেটাটাইপ, শেপ এবং বাফ ব্যবহার করে একটি টেনসর তৈরি করে।
Tensor (DataType type)
প্রদত্ত ডেটা টাইপের একটি খালি টেনসর তৈরি করে।
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)
কপি কনস্ট্রাক্টর।
Tensor ( Tensor && other)
কনস্ট্রাক্টর স্থানান্তর করুন।
~Tensor ()

জনসাধারণের কার্যাবলী

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
*this টেনসরের বিষয়বস্তু দিয়ে proto পূরণ করে।
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Status
অন্য টেনসরটিকে এই টেনসরের মধ্যে কপি করুন, সেটির আকার পরিবর্তন করুন এবং বাফারটির ডেটাটাইপ পুনর্নির্ধারণ করুন।
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT
bool
অন্য টেনসরটিকে এই টেনসরের মধ্যে কপি করুন এবং এর আকার পরিবর্তন করুন।
DebugString (int num_values) const
string
ডিবাগিংয়ের জন্য উপযুক্ত, টেনসরটির একটি পাঠযোগ্য সারাংশ।
DebugString () const
string
DeviceSafeDebugString () const
string
FillDescription (TensorDescription *description) const
void
মনিটরিং এবং ডিবাগিংয়ের জন্য প্রয়োজনীয় টেনসর-সম্পর্কিত মেটাডেটা দিয়ে TensorDescription প্রোটোটি পূরণ করুন।
FromProto (const TensorProto & other) TF_MUST_USE_RESULT
bool
other পার্স করুন এবং টেনসরটি গঠন করুন।
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT
bool
IsAligned () const
bool
এই টেনসরটি অ্যালাইনড হলেই ট্রু রিটার্ন করে।
IsInitialized () const
bool
প্রয়োজন হলে, এই টেনসরটি কি প্রারম্ভিকীকরণ করা হয়েছে?
IsSameSize (const Tensor & b) const
bool
NumElements () const
int64
টেনসর শেপের জন্য সুবিধাজনক অ্যাক্সেসর।
RefCountIsOne () const
bool
SharesBufferWith (const Tensor & b) const
bool
Slice (int64 dim0_start, int64 dim0_limit) const
এই টেনসরটিকে প্রথম মাত্রা বরাবর ভাগ করুন।
SubSlice (int64 index) const
এই টেনসর থেকে প্রথম মাত্রা বরাবর একটি সাবস্লাইস নির্বাচন করুন।
SummarizeValue (int64 max_entries, bool print_v2) const
string
*this এর প্রথম max_entries মানগুলোকে একটি স্ট্রিং-এ রেন্ডার করুন।
TotalBytes () const
size_t
এই টেনসরটির আনুমানিক মেমরি ব্যবহারের পরিমাণ ফেরত দেয়।
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape)
void
BitcastFrom-এর মতোই, কিন্তু কোনো পূর্বশর্ত পূরণ না হলে CHECK ব্যর্থ হয়।
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
new_sizes এ নির্দিষ্ট করা নতুন আকৃতি অনুযায়ী টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন এবং এটিকে একটি নতুন dtype T তে কাস্ট করুন।
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const
TTypes< T, NDIMS >::ConstTensor
new_sizes এ নির্দিষ্ট করা নতুন আকৃতি অনুযায়ী টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন এবং এটিকে একটি নতুন dtype T তে কাস্ট করুন।
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
টেনসর ডেটাটিকে একই আকারের কিন্তু নির্দিষ্ট dtype T তে বিটওয়াইজ কাস্ট করে একটি Eigen::Tensor এ ফেরত দিন।
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
টেনসর ডেটাটিকে একই আকারের কিন্তু নির্দিষ্ট dtype T তে বিটওয়াইজ কাস্ট করে একটি Eigen::Tensor এ ফেরত দিন।
data () const
void *
dim_size (int d) const
int64
টেনসর শেপের জন্য সুবিধাজনক অ্যাক্সেসর।
dims () const
int
টেনসর শেপের জন্য সুবিধাজনক অ্যাক্সেসর।
dtype () const
DataType
ডেটা টাইপ ফেরত দেয়।
flat ()
TTypes< T >::Flat
টেনসর ডেটাটিকে একটি নির্দিষ্ট ডেটা টাইপ ও আকৃতির Eigen::Tensor হিসেবে ফেরত দিন।
flat () const
TTypes< T >::ConstFlat
flat_inner_dims ()
TTypes< T, NDIMS >:: Tensor
এটি ডেটাটিকে NDIMS ডাইমেনশনসহ একটি Eigen::Tensor হিসেবে ফেরত দেয় এবং শেষ NDIMS-1 ডাইমেনশনটি ছাড়া Tensor-এর বাকি সব ডাইমেনশনকে ফলাফলের প্রথম ডাইমেনশনের মধ্যে সংকুচিত করে।
flat_inner_dims () const
TTypes< T, NDIMS >::ConstTensor
flat_inner_outer_dims (int64 begin)
TTypes< T, NDIMS >:: Tensor
ডেটাটিকে NDIMS ডাইমেনশন সহ একটি Eigen::Tensor হিসেবে ফেরত দেয়, যেখানে প্রথম 'begin' Tensor ডাইমেনশনগুলোকে ফলাফলের প্রথম ডাইমেনশনে এবং শেষ dims() - 'begin' - NDIMS Tensor ডাইমেনশনগুলোকে ফলাফলের শেষ ডাইমেনশনে একত্রিত করা হয়।
flat_inner_outer_dims (int64 begin) const
TTypes< T, NDIMS >::ConstTensor
flat_outer_dims ()
TTypes< T, NDIMS >:: Tensor
এটি ডেটাটিকে NDIMS ডাইমেনশনসহ একটি Eigen::Tensor হিসেবে ফেরত দেয় এবং প্রথম NDIMS-1 বাদে Tensor-এর বাকি সমস্ত ডাইমেনশনকে ফলাফলের শেষ ডাইমেনশনের মধ্যে সংকুচিত করে।
flat_outer_dims () const
TTypes< T, NDIMS >::ConstTensor
matrix ()
TTypes< T >::Matrix
matrix () const
TTypes< T >::ConstMatrix
operator= (const Tensor & other)
অ্যাসাইন অপারেটর। এই টেনসরটি অন্য টেনসরের অন্তর্নিহিত স্টোরেজ ব্যবহার করে।
operator= ( Tensor && other)
মুভ অপারেটর। বিস্তারিত জানতে মুভ কনস্ট্রাক্টর দেখুন।
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন, যেখানে শেষ ডাইমেনশনের উপাদানগুলোকে একটি বৃহত্তর টাইপের একক উপাদানে রূপান্তরিত করা হবে।
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন, যেখানে শেষ ডাইমেনশনের উপাদানগুলোকে একটি বৃহত্তর টাইপের একক উপাদানে রূপান্তরিত করা হবে।
scalar ()
TTypes< T >::Scalar
টেনসর ডেটাটিকে ১ নির্দিষ্ট আকারের একটি TensorMap হিসেবে ফেরত দিন: TensorMap >
scalar () const
TTypes< T >::ConstScalar
shape () const
const TensorShape &
টেনসরটির আকৃতি ফেরত দেয়।
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
বর্তমান টেনসরের বাফারকে ম্যাপ করে এমন একটি StringPiece ফেরত দেয়।
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
এই Tensor টাইপ ও সাইজ ব্যবহার করে টেনসর ডেটাটিকে একটি Eigen::Tensor হিসেবে ফেরত দিন।
vec () const
TTypes< T >::ConstVec
উপরের সমস্ত পদ্ধতির ধ্রুবক সংস্করণ।

জনসাধারণের কার্যাবলী

বরাদ্দকৃত বাইট

size_t AllocatedBytes() const 

AsProtoField

void AsProtoField(
  TensorProto *proto
) const 

*this টেনসরের বিষয়বস্তু দিয়ে proto পূরণ করে।

AsProtoField() proto.dtype() এর পুনরাবৃত্ত ক্ষেত্রটি পূরণ করে, অপরদিকে AsProtoTensorContent() proto.tensor_content() এর বিষয়বস্তুকে একটি সংক্ষিপ্ত আকারে এনকোড করে।

AsProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

বিটকাস্টফ্রম

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

অন্য টেনসরটিকে এই টেনসরের মধ্যে কপি করুন, সেটির আকার পরিবর্তন করুন এবং বাফারটির ডেটাটাইপ পুনর্নির্ধারণ করুন।

যদি Status::OK() রিটার্ন করা হয়, তাহলে টেনসর দুটি এখন একই অন্তর্নিহিত স্টোরেজ শেয়ার করে।

এই কলটির জন্য প্রয়োজন যে other টেনসরটি এবং প্রদত্ত টাইপ ও শেপ "সামঞ্জস্যপূর্ণ" হবে (অর্থাৎ, তারা একই সংখ্যক বাইট জায়গা নেবে)।

বিশেষত:

shape.num_elements() * DataTypeSize(type)

অবশ্যই সমান হতে হবে

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

এছাড়াও, এই ফাংশনটির জন্য প্রয়োজন:

  • DataTypeSize(other.dtype()) != 0
  • DataTypeSize(type) != 0

যদি কোনো শর্ত পূরণ না হয়, তাহলে errors::InvalidArgument রিটার্ন করা হয়।

কপিফ্রম

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

অন্য টেনসরটিকে এই টেনসরের মধ্যে কপি করুন এবং এর আকার পরিবর্তন করুন।

এই টেনসরটি ‘other’-এর অন্তর্নিহিত স্টোরেজ ব্যবহার করে। এটি true রিটার্ন করে যদি এবং কেবল যদি other.shape() এর উপাদান সংখ্যা প্রদত্ত shape এর সমান হয়।

ডিবাগস্ট্রিং

string DebugString(
  int num_values
) const 

ডিবাগিংয়ের জন্য উপযুক্ত, টেনসরটির একটি পাঠযোগ্য সারাংশ।

ডিবাগস্ট্রিং

string DebugString() const 

ডিভাইসসেফডিবাগস্ট্রিং

string DeviceSafeDebugString() const 

বিবরণ পূরণ করুন

void FillDescription(
  TensorDescription *description
) const 

মনিটরিং এবং ডিবাগিংয়ের জন্য প্রয়োজনীয় টেনসর-সম্পর্কিত মেটাডেটা দিয়ে TensorDescription প্রোটোটি পূরণ করুন।

ফ্রমপ্রোটো

bool FromProto(
  const TensorProto & other
) TF_MUST_USE_RESULT

other পার্স করুন এবং টেনসরটি গঠন করুন।

পার্সিং সফল হলে true রিটার্ন করে। পার্সিং ব্যর্থ হলে, *this এর অবস্থা অপরিবর্তিত থাকে।

ফ্রমপ্রোটো

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

সারিবদ্ধ

bool IsAligned() const 

এই টেনসরটি অ্যালাইনড হলেই ট্রু রিটার্ন করে।

প্রারম্ভিক

bool IsInitialized() const 

প্রয়োজন হলে, এই টেনসরটি কি প্রারম্ভিকীকরণ করা হয়েছে?

শূন্য-উপাদান টেনসরকে সর্বদা প্রারম্ভিক অবস্থায় আছে বলে গণ্য করা হয়, এমনকি যদি সেগুলিতে কখনও কোনো কিছু বরাদ্দ করা না হয়ে থাকে বা কোনো মেমরি বরাদ্দ না করা হয়ে থাকে।

একই আকারের

bool IsSameSize(
  const Tensor & b
) const 

উপাদান সংখ্যা

int64 NumElements() const 

টেনসর শেপের জন্য সুবিধাজনক অ্যাক্সেসর।

RefCountIsOne

bool RefCountIsOne() const 

শেয়ারবাফারউইথ

bool SharesBufferWith(
  const Tensor & b
) const 

স্লাইস

Tensor Slice(
  int64 dim0_start,
  int64 dim0_limit
) const 

এই টেনসরটিকে প্রথম মাত্রা বরাবর ভাগ করুন।

অর্থাৎ, ফেরত আসা টেনসরটি returned[i, ...] == this[dim0_start + i, ...] শর্তটি পূরণ করে। ফেরত আসা টেনসরটি এই টেনসরের সাথে অন্তর্নিহিত টেনসর বাফারটি শেয়ার করে।

দ্রষ্টব্য: আকৃতির উপর নির্ভর করে, ফেরত আসা টেনসরটি এই টেনসরের মতো একই অ্যালাইনমেন্টের শর্ত পূরণ নাও করতে পারে। যেসব মেথডের অ্যালাইনমেন্টের শর্ত রয়েছে (যেমন, flat() , tensor() ), সেগুলোকে কল করার আগে কলারকে অবশ্যই ফেরত আসা টেনসরটির অ্যালাইনমেন্ট যাচাই করে নিতে হবে।

দ্রষ্টব্য: একটি N-মাত্রিক টেনসর প্রদান করা হলে, এই পদ্ধতিটি N-মাত্রার একটি টেনসর ফেরত দেয়। আপনি যদি কোনো উপ-টেনসর নির্বাচন করতে চান, তবে সাবস্লাইস (SubSlice) দেখুন।

আবশ্যক: dims() >= 1 আবশ্যক: 0 <= dim0_start <= dim0_limit <= dim_size(0)

সাবস্লাইস

Tensor SubSlice(
  int64 index
) const 

এই টেনসর থেকে প্রথম মাত্রা বরাবর একটি সাবস্লাইস নির্বাচন করুন।

একটি N-মাত্রিক টেনসর প্রদান করা হলে, এই পদ্ধতিটি N-1 মাত্রার একটি টেনসর ফেরত দেয়, যেখানে ফেরত আসা টেনসরটি ইনপুট টেনসরের প্রথম মাত্রা বরাবর একটি সাবস্লাইস হয়। ফেরত আসা টেনসরটির N-1 টি মাত্রা হলো ইনপুট টেনসরটির শেষ N-1 টি মাত্রা।

দ্রষ্টব্য: আকৃতির উপর নির্ভর করে, ফেরত আসা টেনসরটি এই টেনসরের মতো একই অ্যালাইনমেন্টের শর্ত পূরণ নাও করতে পারে। যেসব মেথডের অ্যালাইনমেন্টের শর্ত রয়েছে (যেমন, flat() , tensor() ), সেগুলোকে কল করার আগে কলারকে অবশ্যই ফেরত আসা টেনসরটির অ্যালাইনমেন্ট যাচাই করে নিতে হবে।

আবশ্যক: dims() >= 1 আবশ্যক: 0 <= index < dim_size(0)

সারসংক্ষেপমান

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

*this এর প্রথম max_entries মানগুলোকে একটি স্ট্রিং-এ রেন্ডার করুন।

টেনসর

 Tensor()

একটি ১-মাত্রিক, ০-উপাদান বিশিষ্ট ফ্লোট টেনসর তৈরি করে।

ফেরত আসা টেনসরটি একটি স্কেলার (আকৃতি {}) নয়, বরং এটি একটি খালি এক-মাত্রিক টেনসর (আকৃতি {0}, NumElements() == 0)। যেহেতু এর কোনো উপাদান নেই, তাই এটিকে কোনো মান দেওয়ার প্রয়োজন হয় না এবং এটি ডিফল্টরূপে ইনিশিয়ালাইজড থাকে ( IsInitialized() ট্রু)। যদি এটি অনাকাঙ্ক্ষিত হয়, তবে একটি এক-উপাদান বিশিষ্ট স্কেলার তৈরি করার কথা বিবেচনা করতে পারেন, যেটির ইনিশিয়ালাইজেশনের প্রয়োজন হয়:

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

প্রদত্ত type ও shape একটি টেনসর তৈরি করে।

LogMemory::IsEnabled() সক্রিয় থাকলে, অ্যালোকেশনটি একটি অজানা কার্নেল এবং স্টেপ থেকে এসেছে বলে লগ করা হয়। একটি Op-এর ভেতর থেকে সরাসরি Tensor কনস্ট্রাক্টরকে কল করা এখন আর প্রচলিত নয়: একটি নতুন টেনসর অ্যালোকেট করতে OpKernelConstruction/OpKernelContext allocate_* মেথডগুলো ব্যবহার করুন, যা কার্নেল এবং স্টেপ রেকর্ড করে।

অন্তর্নিহিত বাফারটি একটি CPUAllocator ব্যবহার করে বরাদ্দ করা হয়।

টেনসর

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

অন্তর্নিহিত বাফার বরাদ্দ করার জন্য অ্যালোকেটর a ব্যবহার করে, ইনপুট type ও shape অনুযায়ী একটি টেনসর তৈরি করে।

LogMemory::IsEnabled() সক্রিয় থাকলে, অ্যালোকেশনটি একটি অজানা কার্নেল এবং স্টেপ থেকে এসেছে বলে লগ করা হয়। একটি Op-এর ভেতর থেকে সরাসরি Tensor কনস্ট্রাক্টরকে কল করা এখন আর প্রচলিত নয়: একটি নতুন টেনসর অ্যালোকেট করতে OpKernelConstruction/OpKernelContext allocate_* মেথডগুলো ব্যবহার করুন, যা কার্নেল এবং স্টেপ রেকর্ড করে।

a এই টেনসরের জীবনকালকে অতিক্রম করতে হবে।

টেনসর

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

অন্তর্নিহিত বাফার বরাদ্দ করার জন্য অ্যালোকেটর a এবং নির্দিষ্ট 'allocation_attr' ব্যবহার করে, এটি ইনপুট type ও shape অনুযায়ী একটি টেনসর তৈরি করে।

যদি কার্নেল এবং স্টেপ জানা থাকে, তাহলে allocation_attr.allocation_will_be_logged-কে true সেট করতে হবে এবং টেনসরটি কনস্ট্রাক্ট করার পরে LogMemory::RecordTensorAllocation কল করতে হবে। একটি Op-এর ভেতর থেকে সরাসরি Tensor কনস্ট্রাক্টরকে কল করা এখন আর প্রচলিত নয়: একটি নতুন টেনসর অ্যালোকেট করার জন্য OpKernelConstruction/OpKernelContext allocate_* মেথডগুলো ব্যবহার করুন, যা কার্নেল এবং স্টেপ রেকর্ড করে।

a এই টেনসরের জীবনকালকে অতিক্রম করতে হবে।

টেনসর

 Tensor(
  DataType type,
  const TensorShape & shape,
  TensorBuffer *buf
)

ইনপুট ডেটাটাইপ, শেপ এবং বাফ ব্যবহার করে একটি টেনসর তৈরি করে।

এই টেনসরের অন্তর্গত buf-এর উপর একটি ref অধিগ্রহণ করে।

টেনসর

 Tensor(
  DataType type
)

প্রদত্ত ডেটা টাইপের একটি খালি টেনসর তৈরি করে।

Tensor() এর মতোই, এটি একটি ১-মাত্রিক, ০-উপাদান বিশিষ্ট Tensor ফেরত দেয় এবং এর IsInitialized() ফাংশন True রিটার্ন করে। বিস্তারিত জানতে Tensor() এর ডকুমেন্টেশন দেখুন।

টেনসর

 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
)

কপি কনস্ট্রাক্টর।

টেনসর

 Tensor(
  Tensor && other
)

কনস্ট্রাক্টর স্থানান্তর করুন।

এই কলের পর, এটি নিরাপদে ধ্বংসযোগ্য এবং একে কোনো কিছু বরাদ্দ করা যায়, কিন্তু এর উপর অন্য কোনো কল (যেমন আকৃতি পরিবর্তন) বৈধ নয়।

মোট বাইটস

size_t TotalBytes() const 

এই টেনসরটির আনুমানিক মেমরি ব্যবহারের পরিমাণ ফেরত দেয়।

অভ্যন্তরীণ থেকে অনিরাপদ অনুলিপি

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

BitcastFrom-এর মতোই, কিন্তু কোনো পূর্বশর্ত পূরণ না হলে CHECK ব্যর্থ হয়।

অপ্রচলিত। এর পরিবর্তে BitcastFrom ব্যবহার করুন এবং ফেরত আসা Status পরীক্ষা করুন।

বিট_কাস্টেড_আকৃতির

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

new_sizes এ নির্দিষ্ট করা নতুন আকৃতি অনুযায়ী টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন এবং এটিকে একটি নতুন dtype T তে কাস্ট করুন।

মুভ এবং কপি অপারেশনের জন্য বিটকাস্ট ব্যবহার করা সুবিধাজনক। অনুমোদিত বিটকাস্টই হলো shaped() থেকে এর একমাত্র পার্থক্য।

বিট_কাস্টেড_আকৃতির

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

new_sizes এ নির্দিষ্ট করা নতুন আকৃতি অনুযায়ী টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন এবং এটিকে একটি নতুন dtype T তে কাস্ট করুন।

মুভ এবং কপি অপারেশনের জন্য বিটকাস্ট ব্যবহার করা সুবিধাজনক। অনুমোদিত বিটকাস্টই হলো shaped() থেকে এর একমাত্র পার্থক্য।

বিট_কাস্টেড_টেনসর

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

টেনসর ডেটাটিকে একই আকারের কিন্তু নির্দিষ্ট dtype T তে বিটওয়াইজ কাস্ট করে একটি Eigen::Tensor এ ফেরত দিন।

মুভ এবং কপি অপারেশনের জন্য বিটকাস্ট ব্যবহার করা সুবিধাজনক। দ্রষ্টব্য: এটি tensor() এর মতোই, তবে এক্ষেত্রে বিটকাস্ট ব্যবহারের অনুমতি আছে।

বিট_কাস্টেড_টেনসর

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

টেনসর ডেটাটিকে একই আকারের কিন্তু নির্দিষ্ট dtype T তে বিটওয়াইজ কাস্ট করে একটি Eigen::Tensor এ ফেরত দিন।

মুভ এবং কপি অপারেশনের জন্য বিটকাস্ট ব্যবহার করা সুবিধাজনক। দ্রষ্টব্য: এটি tensor() এর মতোই, তবে এক্ষেত্রে বিটকাস্ট ব্যবহারের অনুমতি আছে।

ডেটা

void * data() const 

ডিম_সাইজ

int64 dim_size(
  int d
) const 

টেনসর শেপের জন্য সুবিধাজনক অ্যাক্সেসর।

ডিম

int dims() const 

টেনসর শেপের জন্য সুবিধাজনক অ্যাক্সেসর।

সমস্ত শেপ অ্যাক্সেসরের জন্য, tensor_shape.h ফাইলে TensorShape এর প্রাসঙ্গিক মেথডগুলোর কমেন্ট দেখুন।

ডেটাটাইপ

DataType dtype() const 

ডেটা টাইপ ফেরত দেয়।

সমতল

TTypes< T >::Flat flat()

টেনসর ডেটাটিকে একটি নির্দিষ্ট ডেটা টাইপ ও আকৃতির Eigen::Tensor হিসেবে ফেরত দিন।

এই পদ্ধতিগুলো আপনাকে আপনার পছন্দসই ডাইমেনশন ও সাইজ অনুযায়ী ডেটা অ্যাক্সেস করার সুযোগ দেয়। এগুলোকে কল করার জন্য টেনসরের ডাইমেনশন সংখ্যা জানার প্রয়োজন নেই। তবে, এগুলো CHECK যে টাইপটি মেলে কিনা এবং অনুরোধ করা ডাইমেনশনগুলো টেনসরের সমান সংখ্যক এলিমেন্টসহ একটি Eigen::Tensor তৈরি করে কিনা।

উদাহরণ:

  
    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 

ফ্ল্যাট_অভ্যন্তরীণ_মাত্রা

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

এটি ডেটাটিকে NDIMS ডাইমেনশনসহ একটি Eigen::Tensor হিসেবে ফেরত দেয় এবং শেষ NDIMS-1 ডাইমেনশনটি ছাড়া Tensor-এর বাকি সব ডাইমেনশনকে ফলাফলের প্রথম ডাইমেনশনের মধ্যে সংকুচিত করে।

যদি NDIMS > dims() হয় , তাহলে আউটপুট র‍্যাঙ্ক NDIMS করার জন্য শুরুতে ১ আকারের ডাইমেনশন যোগ করা হবে।

ফ্ল্যাট_অভ্যন্তরীণ_মাত্রা

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

flat_inner_outer_dims

TTypes< T, NDIMS >::Tensor flat_inner_outer_dims(
  int64 begin
)

ডেটাটিকে NDIMS ডাইমেনশন সহ একটি Eigen::Tensor হিসেবে ফেরত দেয়, যেখানে প্রথম 'begin' Tensor ডাইমেনশনগুলোকে ফলাফলের প্রথম ডাইমেনশনে এবং শেষ dims() - 'begin' - NDIMS Tensor ডাইমেনশনগুলোকে ফলাফলের শেষ ডাইমেনশনে একত্রিত করা হয়।

যদি 'begin' < 0 হয়, তাহলে ১ সাইজের |'begin'|টি অগ্রবর্তী ডাইমেনশন যোগ করা হবে। যদি 'begin' + NDIMS > dims() হয়, তাহলে ১ সাইজের 'begin' + NDIMS - dims() টি পশ্চাৎবর্তী ডাইমেনশন যোগ করা হবে।

flat_inner_outer_dims

TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims(
  int64 begin
) const 

ফ্ল্যাট_আউটার_ডাইম

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

এটি ডেটাটিকে NDIMS ডাইমেনশনসহ একটি Eigen::Tensor হিসেবে ফেরত দেয় এবং প্রথম NDIMS-1 বাদে Tensor-এর বাকি সমস্ত ডাইমেনশনকে ফলাফলের শেষ ডাইমেনশনের মধ্যে সংকুচিত করে।

যদি NDIMS > dims() হয় , তাহলে আউটপুট র‍্যাঙ্ক NDIMS করার জন্য শেষে ১ আকারের ডাইমেনশন যোগ করা হবে।

ফ্ল্যাট_আউটার_ডাইম

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

ম্যাট্রিক্স

TTypes< T >::Matrix matrix()

ম্যাট্রিক্স

TTypes< T >::ConstMatrix matrix() const 

অপারেটর=

Tensor & operator=(
  const Tensor & other
)

অ্যাসাইন অপারেটর। এই টেনসরটি অন্য টেনসরের অন্তর্নিহিত স্টোরেজ ব্যবহার করে।

অপারেটর=

Tensor & operator=(
  Tensor && other
)

মুভ অপারেটর। বিস্তারিত জানতে মুভ কনস্ট্রাক্টর দেখুন।

শেষ মাত্রা পুনরায় ব্যাখ্যা করুন

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

টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন, যেখানে শেষ ডাইমেনশনের উপাদানগুলোকে একটি বৃহত্তর টাইপের একক উপাদানে রূপান্তরিত করা হবে।

উদাহরণস্বরূপ, এটি সেইসব কার্নেলের জন্য উপযোগী যেগুলো NCHW_VECT_C int8 টেনসরকে NCHW int32 টেনসর হিসেবে বিবেচনা করতে পারে। sizeof(T)-এর মান মূল এলিমেন্ট টাইপের সাইজ * মূল শেষ ডাইমেনশনের এলিমেন্টের সংখ্যার সমান হওয়া উচিত। NDIMS-এর মান মূল ডাইমেনশনের সংখ্যার চেয়ে ১ কম হওয়া উচিত।

শেষ মাত্রা পুনরায় ব্যাখ্যা করুন

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

টেনসর ডেটা একটি Eigen::Tensor এ ফেরত দিন, যেখানে শেষ ডাইমেনশনের উপাদানগুলোকে একটি বৃহত্তর টাইপের একক উপাদানে রূপান্তরিত করা হবে।

উদাহরণস্বরূপ, এটি সেইসব কার্নেলের জন্য উপযোগী যেগুলো NCHW_VECT_C int8 টেনসরকে NCHW int32 টেনসর হিসেবে বিবেচনা করতে পারে। sizeof(T)-এর মান মূল এলিমেন্ট টাইপের সাইজ * মূল শেষ ডাইমেনশনের এলিমেন্টের সংখ্যার সমান হওয়া উচিত। NDIMS-এর মান মূল ডাইমেনশনের সংখ্যার চেয়ে ১ কম হওয়া উচিত।

স্কেলার

TTypes< T >::Scalar scalar()

টেনসর ডেটাকে ১ নির্দিষ্ট আকারের একটি TensorMap হিসেবে ফেরত দিন: TensorMap >

scalar() ব্যবহার করলে কম্পাইলার অপটিমাইজেশন করতে পারে, কারণ টেনসরের আকার কম্পাইল করার সময়েই জানা থাকে।

স্কেলার

TTypes< T >::ConstScalar scalar() const 

আকৃতি

const TensorShape & shape() const 

টেনসরটির আকৃতি ফেরত দেয়।

আকৃতি দেওয়া

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

আকৃতি দেওয়া

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

টেনসর

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

টেনসর

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

টেনসর_ডেটা

StringPiece tensor_data() const 

বর্তমান টেনসরের বাফারকে ম্যাপ করে এমন একটি StringPiece ফেরত দেয়।

ফেরত আসা StringPiece ডিভাইসের এমন কোনো মেমরি লোকেশন নির্দেশ করতে পারে, যা সিপিইউ সরাসরি অ্যাড্রেস করতে পারে না।

দ্রষ্টব্য: অন্তর্নিহিত টেনসর বাফারটি রেফকাউন্টেড, তাই StringPiece দ্বারা ম্যাপ করা বিষয়বস্তুর জীবনকাল বাফারের জীবনকালের সাথে মিলে যায়; কলারদের এমন ব্যবস্থা করতে হবে যাতে StringPiece ব্যবহৃত হওয়ার সময় বাফারটি নষ্ট না হয়ে যায়।

আবশ্যক: DataTypeCanUseMemcpy(dtype()) .

অসমতল_সমতল

TTypes< T >::UnalignedFlat unaligned_flat()

অসমতল_সমতল

TTypes< T >::UnalignedConstFlat unaligned_flat() const 

অসম_আকৃতির

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

অসম_আকৃতির

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

ভেক্টর

TTypes< T >::Vec vec()

এই টেনসরের টাইপ ও সাইজ ব্যবহার করে টেনসর ডেটাটিকে একটি Eigen::Tensor হিসেবে ফেরত দিন।

যখন আপনি টেনসরের ডেটা টাইপ এবং ডাইমেনশনের সংখ্যা জানেন এবং একটি Eigen::Tensor-কে স্বয়ংক্রিয়ভাবে টেনসরের আকার অনুযায়ী সাইজ করতে চান, তখন এই পদ্ধতিগুলো ব্যবহার করুন। টাইপ বা সাইজের কোনো অমিল হলে ইমপ্লিমেন্টেশন চেকটি ব্যর্থ হয়।

উদাহরণ:

  
    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 

উপরের সমস্ত পদ্ধতির ধ্রুবক সংস্করণ।

~টেনসর

 ~Tensor()