টেনসরফ্লো :: টেনসর

#include <tensor.h>

মানের একটি n-মাত্রিক বিন্যাসের প্রতিনিধিত্ব করে।

সারাংশ

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

Tensor ()
একটি 1-মাত্রিক, 0-উপাদান ফ্লোট টেনসর তৈরি করে।
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)
প্রদত্ত ডেটা টাইপের একটি খালি টেনসর তৈরি করে।
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)
কপি কনস্ট্রাক্টর।
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)
অন্য টেনসরটিকে এই টেনসরে অনুলিপি করুন, এটিকে পুনরায় আকার দিন এবং বাফারের ডেটাটাইপটিকে পুনরায় ব্যাখ্যা করুন।
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
টেনসর আকৃতির জন্য সুবিধাজনক অ্যাক্সেসর।
SharesBufferWith (const Tensor & b) const
bool
Slice (int64 dim0_start, int64 dim0_limit) const
এই টেনসরটি 1ম মাত্রা বরাবর স্লাইস করুন।
SubSlice (int64 index) const
1ম মাত্রা বরাবর এই টেনসর থেকে একটি সাবস্লাইস নির্বাচন করুন।
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 এর মত, কিন্তু কোনো পূর্বশর্ত পূরণ না হলে চেক ব্যর্থ হয়।
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
টেনসর ডেটাকে একটি Eigen::Tensor নতুন new_sizes নির্দিষ্ট করা নতুন আকৃতি সহ টেনসরকে ফেরত দিন এবং একটি নতুন dtype T এ কাস্ট করুন।
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const
TTypes< T, NDIMS >::ConstTensor
টেনসর ডেটাকে একটি Eigen::Tensor নতুন new_sizes নির্দিষ্ট করা নতুন আকৃতি সহ টেনসরকে ফেরত দিন এবং একটি নতুন dtype T এ কাস্ট করুন।
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
টেনসর ডেটাকে একটি Eigen::Tensor ফিরিয়ে দিন কিন্তু নির্দিষ্ট dtype T এ বিটওয়াইজ কাস্ট করুন।
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
টেনসর ডেটাকে একটি Eigen::Tensor ফিরিয়ে দিন কিন্তু নির্দিষ্ট dtype T এ বিটওয়াইজ কাস্ট করুন।
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
Eigen::NDIMS ডাইমেনশন সহ টেনসর হিসাবে ডেটা ফেরত দেয়, ফলাফলের প্রথম ডাইমেনশনে শেষ এনডিআইএমএস-1 কিন্তু সব টেনসর ডাইমেনশন ভেঙে দেয়।
flat_inner_dims () const
TTypes< T, NDIMS >::ConstTensor
flat_inner_outer_dims (int64 begin)
TTypes< T, NDIMS >:: Tensor
Eigen::NDIMS ডাইমেনশন সহ টেনসর, ফলাফলের প্রথম ডাইমেনশনে প্রথম 'begin' টেনসর ডাইমেনশন এবং শেষ dims() - 'begin' - NDIMS-এর শেষ ডাইমেনশনের টেনসর ডাইমেনশনকে ভেঙে ফেলা ফলাফল
flat_inner_outer_dims (int64 begin) const
TTypes< T, NDIMS >::ConstTensor
flat_outer_dims ()
TTypes< T, NDIMS >:: Tensor
Eigen::NDIMS মাত্রা সহ টেনসর হিসাবে ডেটা ফেরত দেয়, ফলাফলের শেষ মাত্রায় প্রথম NDIMS-1 কিন্তু সমস্ত টেনসর মাত্রা ভেঙে দেয়।
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
নির্দিষ্ট আকার 1 এর TensorMap হিসাবে টেনসর ডেটা ফেরত দিন: 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 

BitcastFrom

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

অন্য টেনসরটিকে এই টেনসরে অনুলিপি করুন, এটিকে পুনরায় আকার দিন এবং বাফারের ডেটাটাইপটিকে পুনরায় ব্যাখ্যা করুন।

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

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

বিশেষভাবে:

shape.num_elements() * DataTypeSize(টাইপ)

সমান করতে হবে

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

উপরন্তু, এই ফাংশন প্রয়োজন:

  • DataTypeSize(other.dtype()) != 0
  • ডেটা টাইপ সাইজ(টাইপ) != 0

কোনো প্রয়োজনীয়তা পূরণ না হলে, errors::InvalidArgument ফেরত দেওয়া হয়।

কপিফ্রম

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

এই টেনসরে অন্য টেনসরটি কপি করুন এবং এটিকে পুনরায় আকার দিন।

এই টেনসর অন্যের অন্তর্নিহিত স্টোরেজ শেয়ার করে। other.shape() shape উপাদানগুলির true একই সংখ্যক আছে.

DebugString

string DebugString(
  int num_values
) const 

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

DebugString

string DebugString() const 

DeviceSafeDebugString

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 

NumElements

int64 NumElements() const 

টেনসর আকৃতির জন্য সুবিধাজনক অ্যাক্সেসর।

SharesBufferWith

bool SharesBufferWith(
  const Tensor & b
) const 

স্লাইস

Tensor Slice(
  int64 dim0_start,
  int64 dim0_limit
) const 

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

অর্থাৎ, প্রত্যাবর্তিত টেনসর সন্তুষ্টি ফিরে এসেছে[i, ...] == this[dim0_start + i, ...]। ফিরে আসা টেনসর এই টেনসরের সাথে অন্তর্নিহিত টেনসর বাফার ভাগ করে।

দ্রষ্টব্য: প্রত্যাবর্তিত টেনসর আকৃতির উপর নির্ভর করে এই টেনসরের মতো একই প্রান্তিককরণের প্রয়োজনীয়তা পূরণ করতে পারে না। কলারকে অবশ্যই নির্দিষ্ট পদ্ধতিতে কল করার আগে রিটার্ন করা টেনসরের সারিবদ্ধতা পরীক্ষা করতে হবে (যেমন, flat() , tensor() )।

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

প্রয়োজন: dims() >= 1 প্রয়োজন: 0 <= dim0_start <= dim0_limit <= dim_size(0)

সাবস্লাইস

Tensor SubSlice(
  int64 index
) const 

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

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

দ্রষ্টব্য: প্রত্যাবর্তিত টেনসর আকৃতির উপর নির্ভর করে এই টেনসরের মতো একই প্রান্তিককরণের প্রয়োজনীয়তা পূরণ করতে পারে না। কলারকে অবশ্যই নির্দিষ্ট পদ্ধতিতে কল করার আগে রিটার্ন করা টেনসরের সারিবদ্ধতা পরীক্ষা করতে হবে (যেমন, flat() , tensor() )।

প্রয়োজন: dims() >= 1 প্রয়োজন: 0 <= dim0_start < dim_size(0)

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

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

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

টেনসর

 Tensor()

একটি 1-মাত্রিক, 0-উপাদান ফ্লোট টেনসর তৈরি করে।

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

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

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

LogMemory::IsEnabled() হলে বরাদ্দ একটি অজানা কার্নেল এবং ধাপ থেকে আসা হিসাবে লগ করা হয়। একটি অপের মধ্যে থেকে সরাসরি টেনসর কনস্ট্রাক্টরকে কল করা অবহেলিত: একটি নতুন টেনসর বরাদ্দ করতে OpKernelConstruction/OpKernelContext বরাদ্দ_* পদ্ধতি ব্যবহার করুন, যা কার্নেল এবং পদক্ষেপ রেকর্ড করে।

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

টেনসর

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

অন্তর্নিহিত বাফার বরাদ্দ করতে বরাদ্দকারী a ব্যবহার করে ইনপুট type এবং shape সহ একটি টেনসর তৈরি করে।

LogMemory::IsEnabled() হলে বরাদ্দ একটি অজানা কার্নেল এবং ধাপ থেকে আসা হিসাবে লগ করা হয়। একটি অপের মধ্যে থেকে সরাসরি টেনসর কনস্ট্রাক্টরকে কল করা অবহেলিত: একটি নতুন টেনসর বরাদ্দ করতে OpKernelConstruction/OpKernelContext বরাদ্দ_* পদ্ধতি ব্যবহার করুন, যা কার্নেল এবং পদক্ষেপ রেকর্ড করে।

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

টেনসর

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

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

যদি কার্নেল এবং ধাপটি জানা থাকে তাহলে allocation_attr.allocation_will_be_logged সত্যে সেট করা উচিত এবং LogMemory::RecordTensorAllocation টেনসর তৈরি হওয়ার পরে কল করা উচিত। একটি অপের মধ্যে থেকে সরাসরি টেনসর কনস্ট্রাক্টরকে কল করা অবহেলিত: একটি নতুন টেনসর বরাদ্দ করতে OpKernelConstruction/OpKernelContext বরাদ্দ_* পদ্ধতি ব্যবহার করুন, যা কার্নেল এবং পদক্ষেপ রেকর্ড করে।

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

টেনসর

 Tensor(
  DataType type
)

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

Tensor() এর মত, একটি 1-মাত্রিক, 0-এলিমেন্ট টেনসর প্রদান করে যার সাথে 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(
  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
)

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

টেনসর

 Tensor(
  Tensor && other
)

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

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

টোটালবাইটস

size_t TotalBytes() const 

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

অরক্ষিত কপি অভ্যন্তরীণ থেকে

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

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

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

bit_casted_shaped

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

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

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

bit_casted_shaped

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

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

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

bit_casted_tensor

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

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

একটি বিটকাস্ট ব্যবহার করা সরানো এবং অনুলিপি অপারেশন জন্য দরকারী. দ্রষ্টব্য: এটি একটি বিটকাস্ট ব্যতীত tensor() এর মতই।

bit_casted_tensor

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

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

একটি বিটকাস্ট ব্যবহার করা সরানো এবং অনুলিপি অপারেশন জন্য দরকারী. দ্রষ্টব্য: এটি একটি বিটকাস্ট ব্যতীত tensor() এর মতই।

dim_size

int64 dim_size(
  int d
) const 

টেনসর আকৃতির জন্য সুবিধাজনক অ্যাক্সেসর।

অনুজ্জ্বল

int dims() const 

টেনসর আকৃতির জন্য সুবিধাজনক অ্যাক্সেসর।

সমস্ত আকৃতির অ্যাক্সেসরগুলির জন্য, tensor_shape.hTensorShape এর প্রাসঙ্গিক পদ্ধতির জন্য মন্তব্যগুলি দেখুন।

dtype

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

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

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

সমতল_অভ্যন্তরীণ_ডিমস

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

সমতল_অভ্যন্তরীণ_বাহ্যিক_অন্ধ

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

Eigen::NDIMS ডাইমেনশন সহ টেনসর, ফলাফলের প্রথম ডাইমেনশনে প্রথম 'begin' টেনসর ডাইমেনশন এবং শেষ dims() - 'begin' - NDIMS-এর শেষ ডাইমেনশনের টেনসর ডাইমেনশনকে ভেঙে ফেলা ফলাফল

যদি 'শুরু' < 0 তাহলে |'শুরু'| সাইজ 1 এর অগ্রগণ্য মাত্রা যোগ করা হবে। যদি 'begin' + NDIMS > dims() হয় তাহলে 'begin' + NDIMS - dims() সাইজ 1 এর ট্রেইলিং ডাইমেনশন যোগ করা হবে।

সমতল_অভ্যন্তরীণ_বাহ্যিক_অন্ধ

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

ফ্ল্যাট_বাইরের_ডিমস

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

Eigen::NDIMS মাত্রা সহ টেনসর হিসাবে ডেটা ফেরত দেয়, ফলাফলের শেষ মাত্রায় প্রথম NDIMS-1 কিন্তু সমস্ত টেনসর মাত্রা ভেঙে দেয়।

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

ফ্ল্যাট_বাইরের_ডিমস

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 টেনসর হিসাবে বিবেচনা করতে পারে। সাইজফ(টি) মূল উপাদানের আকারের সমান হওয়া উচিত * মূল শেষ মাত্রার উপাদান সংখ্যা। NDIMS মাত্রার মূল সংখ্যা থেকে 1 কম হওয়া উচিত।

পুনঃব্যাখ্যা_শেষ_মাত্রা

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

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

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

স্কেলার

TTypes< T >::Scalar scalar()

নির্দিষ্ট আকার 1 এর TensorMap হিসাবে টেনসর ডেটা ফেরত দিন: 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 

tensor_data

StringPiece tensor_data() const 

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

প্রত্যাবর্তিত StringPiece ডিভাইসগুলিতে মেমরি অবস্থান নির্দেশ করতে পারে যা CPU সরাসরি সম্বোধন করতে পারে না।

দ্রষ্টব্য: অন্তর্নিহিত টেনসর বাফারটি পুনরায় গণনা করা হয়েছে, তাই StringPiece দ্বারা ম্যাপ করা বিষয়বস্তুর জীবনকাল বাফারের জীবনকালের সাথে মেলে; StringPiece ব্যবহার করার সময় বাফার যাতে নষ্ট না হয় তা নিশ্চিত করার জন্য কলারদের ব্যবস্থা করা উচিত।

প্রয়োজন: DataTypeCanUseMemcpy(dtype())

unaligned_flat

TTypes< T >::UnalignedFlat unaligned_flat()

unaligned_flat

TTypes< T >::UnalignedConstFlat unaligned_flat() const 

unaligned_shaped

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

unaligned_shaped

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

vec

TTypes< T >::Vec vec()

এই টেনসরের ধরন এবং আকার সহ একটি Eigen::টেনসর হিসাবে টেনসর ডেটা ফেরত দিন।

আপনি যখন টেনসরের ডাটা টাইপ এবং মাত্রার সংখ্যা জানেন এবং আপনি একটি 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()