টেনসরফ্লো :: টেনসর
#include <tensor.h>
মানের একটি n-মাত্রিক বিন্যাসের প্রতিনিধিত্ব করে।
সারাংশ
কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর | |
---|---|
Tensor () একটি 1-মাত্রিক, 0-উপাদান ফ্লোট টেনসর তৈরি করে। | |
Tensor (DataType type, const TensorShape & 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 |
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) | Tensor & অপারেটর বরাদ্দ করুন। এই টেনসর অন্যের অন্তর্নিহিত স্টোরেজ শেয়ার করে। |
operator= ( Tensor && other) | Tensor & অপারেটর সরান। বিস্তারিত জানার জন্য মুভ কনস্ট্রাক্টর দেখুন। |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor টেনসর ডেটাকে একটি Eigen::Tensor ফেরত দিন যার শেষ মাত্রা উপাদানগুলিকে একটি বড় ধরনের একক উপাদানে রূপান্তরিত করা হয়। |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor টেনসর ডেটাকে একটি Eigen::Tensor ফেরত দিন যার শেষ মাত্রা উপাদানগুলিকে একটি বড় ধরনের একক উপাদানে রূপান্তরিত করা হয়। |
scalar () | TTypes< T >::Scalar |
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( 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.h
এ TensorShape
এর প্রাসঙ্গিক পদ্ধতির জন্য মন্তব্যগুলি দেখুন।
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()
স্কেলার
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()