Shape

পাবলিক ফাইনাল ক্লাস আকৃতি

একটি টেনসর বা NdArray এর আকৃতি।

একটি Shape তার অক্ষ বরাবর আকার সংজ্ঞায়িত করে। এটি অক্ষগুলির একটির জন্য একটি অজানা আকার ধারণ করতে পারে বা সম্পূর্ণ অজানা হতে পারে, এই ক্ষেত্রে এমনকি অক্ষের সংখ্যাও জানা যায় না। একটি অক্ষের আকার অজানা হলে, UNKNOWN_SIZE এর আকার হিসাবে ব্যবহার করা উচিত৷

ক্ষেত্র

পাবলিক স্ট্যাটিক দীর্ঘ UNKNOWN_SIZE একটি অজানা অক্ষের আকার বা একটি অজানা আকৃতির জন্য মোট অজানা আকার।

পাবলিক পদ্ধতি

আকৃতি
যোগ করুন (দীর্ঘ শেষ মাত্রা)
একটি নতুন আকৃতি প্রদান করে, একটি নতুন শেষ মাত্রা যোগ করে।
আকৃতি
সংযোজন (অন্য আকার )
আরেকটি আকৃতির মাত্রা যুক্ত করে একটি নতুন আকৃতি প্রদান করে।
দীর্ঘ[]
অ্যারে ()
এই আকৃতির অক্ষগুলির একটি প্রতিরক্ষামূলক অনুলিপি প্রদান করে।
বুলিয়ান
সমান (অবজেক্ট অবজেক্ট)
আকারের জন্য সমান বাস্তবায়ন।
বুলিয়ান
আছে অজানা মাত্রা ()
এই আকৃতির এক বা একাধিক মাত্রার একটি অজানা আকার আছে কিনা তা প্রদান করে।
int
আকৃতি
মাথা ()
এই আকারের প্রথম মাত্রার সাথে মিলে যাওয়া প্রথম মাত্রা সহ একটি 1-মাত্রিক আকৃতি প্রদান করে।
স্ট্যাটিক বুলিয়ান
সামঞ্জস্যপূর্ণ (দীর্ঘ ম্লান, দীর্ঘ অন্য ডিম)
দুটি আকারের মাত্রা সামঞ্জস্যপূর্ণ কিনা তা পরীক্ষা করুন।
বুলিয়ান
এর সাথে সামঞ্জস্যপূর্ণ ( আকার আকৃতি)
এটির সাথে অন্য আকৃতি সামঞ্জস্যপূর্ণ কিনা তা নির্ধারণ করে।
বুলিয়ান
isMatrix ()
এই আকৃতিটি একটি ম্যাট্রিক্সের আকৃতি কিনা তা ফেরত দেয়
বুলিয়ান
isScalar ()
এই আকৃতিটি একটি স্কেলার প্রতিনিধিত্ব করে কিনা তা প্রদান করে।
বুলিয়ান
অজানা ()
এই আকৃতির মাত্রার সংখ্যা অজানা কিনা তা প্রদান করে।
বুলিয়ান
isVector ()
এই আকৃতিটি ভেক্টরের আকৃতি কিনা তা ফেরত দেয়।
int
সংখ্যা মাত্রা ()
এই আকৃতির মাত্রার সংখ্যা প্রদান করে।
স্ট্যাটিক আকৃতি
এর (দীর্ঘ... মাত্রা সাইজ)
একটি স্কেলার বা একটি N-মাত্রিক মান উপস্থাপন করে একটি আকৃতি তৈরি করুন।
আকৃতি
প্রিপেন্ড (অন্য আকার )
একটি নতুন আকৃতি ফেরত দেয়, যেখানে অন্য আকৃতির মাত্রা আগে থেকে থাকে।
আকৃতি
প্রিপেন্ড (দীর্ঘ প্রথম মাত্রা)
একটি নতুন প্রথম মাত্রা যোগ করে একটি নতুন আকৃতি প্রদান করে।
স্ট্যাটিক আকৃতি
স্কেলার ()
একটি স্কেলার মান প্রতিনিধিত্ব করে একটি আকৃতি তৈরি করে।
দীর্ঘ
আকার (আইটি)
প্রদত্ত সূচকের সাথে মাত্রার আকার।
দীর্ঘ
আকার ()
এই আকৃতির সাথে একটি টেনসরের উপাদানের মোট সংখ্যা প্রদান করে।
আকৃতি
সাবশেপ (int start, int end)
একটি end - begin begin থেকে end এই আকারের সাথে মেলে মাত্রিক আকৃতি শুরু করুন।
আকৃতি
লেজ ()
এই আকৃতির প্রথম মাত্রা মুছে দিয়ে একটি নতুন আকৃতি প্রদান করে।
আকৃতি
গ্রহণ (int n)
এই আকৃতির প্রথম n মাত্রার সাথে মিলিত মাত্রা সহ একটি n-মাত্রিক আকৃতি প্রদান করে
আকৃতি
takeLast (int n)
এই আকৃতির শেষ n মাত্রার সাথে মিলিত মাত্রা সহ একটি n-মাত্রিক আকৃতি প্রদান করে।
স্ট্রিং
স্ট্রিং ()
ডিবাগিংয়ের জন্য আকৃতির সংক্ষিপ্ত বিবরণ।
স্ট্যাটিক আকৃতি
অজানা ()
একটি অজানা সংখ্যক মাত্রা উপস্থাপন করে একটি আকৃতি তৈরি করে।

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

ক্ষেত্র

পাবলিক স্ট্যাটিক দীর্ঘ UNKNOWN_SIZE

একটি অজানা অক্ষের আকার বা একটি অজানা আকৃতির জন্য মোট অজানা আকার।

পাবলিক পদ্ধতি

সর্বজনীন আকৃতি সংযোজন (দীর্ঘ শেষ মাত্রা)

একটি নতুন আকৃতি প্রদান করে, একটি নতুন শেষ মাত্রা যোগ করে। এই কলটি সফল হওয়ার জন্য, isUnknown() অবশ্যই false হতে হবে।

পরামিতি
শেষ মাত্রা যোগ করার মাত্রা
রিটার্নস
  • এই আকৃতির মাত্রা সহ একটি নতুন আকৃতি প্রদত্ত মাত্রা অনুসরণ করে, কখনই শূন্য নয়

সর্বজনীন আকৃতি সংযোজন (অন্য আকার )

আরেকটি আকৃতির মাত্রা যুক্ত করে একটি নতুন আকৃতি প্রদান করে। এই আকৃতি এবং অন্য আকৃতি উভয়ের জন্য, isUnknown() অবশ্যই মিথ্যা ফেরত দিতে হবে। যেমন @code Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }

পরামিতি
অন্যান্য অন্য আকৃতি, null হতে হবে না, অজানা হতে হবে না
রিটার্নস
  • প্রদত্ত আকৃতির মাত্রা অনুসরণ করে এই আকৃতির মাত্রা নিয়ে গঠিত একটি নতুন আকৃতি

সর্বজনীন দীর্ঘ[] অ্যারে () হিসাবে

এই আকৃতির অক্ষগুলির একটি প্রতিরক্ষামূলক অনুলিপি প্রদান করে। এই আকৃতির অবস্থা পরিবর্তন না করার জন্য প্রত্যাবর্তিত অ্যারের পরিবর্তন। isUnknown() সত্য হলে নাল ফেরত দেয়।

পাবলিক বুলিয়ান সমান (অবজেক্ট অবজেক্ট)

আকারের জন্য সমান বাস্তবায়ন। দুটি আকার সমান IF হিসাবে বিবেচিত হয়:

  • উভয়ের জন্য মাত্রার সংখ্যা সংজ্ঞায়িত এবং সমান
  • প্রতিটি মাত্রার আকার উভয়ের জন্য সংজ্ঞায়িত এবং সমান

যদি হয় আকৃতির অজানা মাত্রা থাকে (যদিও তারা উভয়েই একই হয়) অথবা যদি উভয় আকারের একটি অজানা সংখ্যক মাত্রা থাকে (এমনকি যদি উভয়ই isUnknown() এর জন্য true হয়), তবে সেগুলি সমান হিসাবে বিবেচিত হবে না! যাইহোক, একটি আকৃতি সর্বদা নিজেকে সমান করবে, এমনকি যদি এটি অজানা বা অজানা মাত্রা থাকে।

পাবলিক বুলিয়ান আছে অজানা মাত্রা ()

এই আকৃতির এক বা একাধিক মাত্রার একটি অজানা আকার আছে কিনা তা প্রদান করে।

পাবলিক int হ্যাশকোড ()

পাবলিক আকৃতির মাথা ()

এই আকারের প্রথম মাত্রার সাথে মিলে যাওয়া প্রথম মাত্রা সহ একটি 1-মাত্রিক আকৃতি প্রদান করে।

পাবলিক স্ট্যাটিক বুলিয়ান সামঞ্জস্যপূর্ণ (দীর্ঘ ম্লান, দীর্ঘ অন্য ডিম)

দুটি আকারের মাত্রা সামঞ্জস্যপূর্ণ কিনা তা পরীক্ষা করুন।

মাত্রাগুলি সামঞ্জস্যপূর্ণ হয় যদি উভয় মাত্রাই আকার হয় Shape.UNKNOWN_SIZE বা উভয় মাত্রা সমান

পরামিতি
আবছা প্রথম মাত্রা
অন্য ডিম দ্বিতীয় মাত্রা
রিটার্নস
  • সত্য, যদি উভয় মাত্রা সামঞ্জস্যপূর্ণ হয়

পাবলিক বুলিয়ান এর সাথে সামঞ্জস্যপূর্ণ ( আকৃতি আকৃতি)

এটির সাথে অন্য আকৃতি সামঞ্জস্যপূর্ণ কিনা তা নির্ধারণ করে।

দুটি সম্ভাব্য-আংশিক-সংজ্ঞায়িত আকার সামঞ্জস্যপূর্ণ যদি একটি সম্পূর্ণ-সংজ্ঞায়িত আকৃতি বিদ্যমান থাকে যা উভয় আকার প্রতিনিধিত্ব করতে পারে। এইভাবে, সামঞ্জস্য আকৃতির অনুমান কোডকে আংশিকভাবে সংজ্ঞায়িত আকার সম্পর্কে যুক্তি দিতে দেয়। উদাহরণ স্বরূপ:

  • Shape.unknown() সব আকারের সাথে সামঞ্জস্যপূর্ণ।
  • Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) সমস্ত দ্বি-মাত্রিক আকারের সাথে সামঞ্জস্যপূর্ণ, যেমন Shape(32, 784) , এবং এছাড়াও Shape.unknown() । এটি সামঞ্জস্যপূর্ণ নয়, উদাহরণস্বরূপ, Shape(UNKNOWN_SIZE) বা Shape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE)
  • Shape(32, UNKNOWN_SIZE) 0ম মাত্রার আকার 32 সহ সমস্ত দ্বি-মাত্রিক আকারের সাথে সামঞ্জস্যপূর্ণ, এবং এছাড়াও Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) এবং Shape.unknown() । এটি সামঞ্জস্যপূর্ণ নয়, উদাহরণস্বরূপ, Shape(32) , Shape(32, UNKNOWN_SIZE, 1) বা Shape(64, UNKNOWN_SIZE)
  • Shape(32, 784) নিজের সাথে সামঞ্জস্যপূর্ণ, এবং এছাড়াও Shape(32, UNKNOWN_SIZE) , Shape(UNKNOWN_SIZE, 784) , Shape(UNKNOWN_SIZE, UNKNOWN_SIZE) এবং Shape.unknown() । এটি সামঞ্জস্যপূর্ণ নয়, উদাহরণস্বরূপ, Shape(32, 1, 784) বা Shape(UNKNOWN_SIZE)

সামঞ্জস্যের সম্পর্কটি প্রতিফলিত এবং প্রতিসম, কিন্তু ট্রানজিটিভ নয়। উদাহরণস্বরূপ, Shape(32, 784) Shape.unknown() এর সাথে সামঞ্জস্যপূর্ণ, এবং Shape.unknown() Shape(4, 4) এর সাথে সামঞ্জস্যপূর্ণ, কিন্তু Shape(32, 784) Shape(4, 4) ) এর সাথে সামঞ্জস্যপূর্ণ নয় Shape(4, 4)

সামঞ্জস্য সম্প্রচারের মতো নয়। সামঞ্জস্যপূর্ণ আকারগুলির অবশ্যই একই সংখ্যক মাত্রা থাকতে হবে এবং প্রতিটি মাত্রা জোড়ার জন্য, একটি মাত্রাকে অন্য মাত্রার সমান হতে হবে বা জোড়ার মধ্যে অন্তত একটি মাত্রা UNKNOWN_SIZE হতে হবে৷

ব্রডকাস্টিং বিভিন্ন মাত্রার অনুমতি দেয়, কিন্তু জোড়া করা মাত্রাগুলি হয় সমান হতে হবে, অথবা একটি মাত্রা অবশ্যই 1 হতে হবে। যদি একটি আকারের অন্য আকারের চেয়ে কম মাত্রা থাকে, তাহলে ছোট আকারটি 1 এর মাত্রা সহ "প্রসারিত" হয়।

পরামিতি
আকৃতি অন্য আকৃতি
রিটার্নস
  • সত্য, যদি দুটি আকার সামঞ্জস্যপূর্ণ হয়।

পাবলিক বুলিয়ান isMatrix ()

এই আকৃতিটি একটি ম্যাট্রিক্সের আকৃতি কিনা তা ফেরত দেয়

পাবলিক বুলিয়ান isScalar ()

এই আকৃতিটি একটি স্কেলার প্রতিনিধিত্ব করে কিনা তা প্রদান করে।

পাবলিক বুলিয়ান অজানা ()

এই আকৃতির মাত্রার সংখ্যা অজানা কিনা তা প্রদান করে।

পাবলিক বুলিয়ান isVector ()

এই আকৃতিটি ভেক্টরের আকৃতি কিনা তা ফেরত দেয়।

সর্বজনীন int numDimensions ()

এই আকৃতির মাত্রার সংখ্যা প্রদান করে। -1 অজানা থাকলে, স্কেলারের জন্য 0, ভেক্টরের জন্য 1, ম্যাট্রিক্সের জন্য 2 ইত্যাদি।

পাবলিক স্ট্যাটিক আকৃতির ( দীর্ঘ... মাত্রার আকার)

একটি স্কেলার বা একটি N-মাত্রিক মান উপস্থাপন করে একটি আকৃতি তৈরি করুন।

প্রতিটি মাত্রার জন্য প্রদত্ত আকার সহ একটি স্কেলার বা একটি N-মাত্রিক মান (N কমপক্ষে 1) উপস্থাপন করে একটি আকৃতি তৈরি করে। A -1 নির্দেশ করে যে সংশ্লিষ্ট মাত্রার আকার অজানা। যদি কোন মাপ প্রদান করা না হয়, একটি স্কেলার প্রতিনিধিত্বকারী একটি আকৃতি তৈরি করা হয়। যেমন:

// A 2-element vector.
 Shape vector = Shape.of(2);

 // A 2x3 matrix.
 Shape matrix = Shape.of(2, 3);

 // A matrix with 4 columns but an unknown number of rows.
 // This is typically used to indicate the shape of tensors that represent
 // a variable-sized batch of values. The Shape below might represent a
 // variable-sized batch of 4-element vectors.
 Shape batch = Shape.of(-1, 4);

 // A scalar. For readability, you should prefer calling Shape.scalar()
 Shape scalar = Shape.of()
 

পরামিতি
মাত্রার আকার এই আকারের প্রতিটি মাত্রায় উপাদানের সংখ্যা, যদি থাকে, অথবা UNKNOWN_SIZE যদি অজানা থাকে।
রিটার্নস
  • একটি নতুন আকৃতি

সর্বজনীন আকৃতি পূর্বপ্রান্ত (অন্য আকার )

একটি নতুন আকৃতি ফেরত দেয়, যেখানে অন্য আকৃতির মাত্রা আগে থেকে থাকে। এই আকৃতি এবং অন্য আকৃতি উভয়ের জন্য, isUnknown() অবশ্যই মিথ্যা ফেরত দিতে হবে। যেমন Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)

পরামিতি
অন্যান্য অন্য আকৃতি, null হতে হবে না, অজানা হতে হবে না
রিটার্নস
  • একটি নতুন আকৃতি যা প্রদত্ত আকৃতির মাত্রাগুলি নিয়ে গঠিত এবং তারপরে এই আকৃতির মাত্রাগুলিকে শূন্য করে না

সর্বজনীন আকৃতি প্রিপেন্ড (দীর্ঘ প্রথম মাত্রা)

একটি নতুন প্রথম মাত্রা যোগ করে একটি নতুন আকৃতি প্রদান করে। এই কলটি সফল হওয়ার জন্য, isUnknown() অবশ্যই false হতে হবে।

পরামিতি
প্রথম মাত্রা প্রিপেন্ড করার মাত্রা
রিটার্নস
  • প্রথমে প্রদত্ত মাত্রা সহ একটি নতুন আকৃতি, তারপরে এই আকারের মাত্রা, কখনই শূন্য নয়

পাবলিক স্ট্যাটিক আকৃতি স্কেলার ()

একটি স্কেলার মান প্রতিনিধিত্ব করে একটি আকৃতি তৈরি করে।

রিটার্নস
  • মাত্রা ছাড়া একটি আকৃতি যার জন্য isScalar() সত্য, কখনই শূন্য নয়।

সর্বজনীন দীর্ঘ আকার (int i)

প্রদত্ত সূচকের সাথে মাত্রার আকার।

যদি isUnknown() সত্য হয় বা প্রদত্ত সূচকের সাথে মাত্রার আকার একটি অজানা আকার থাকে, UNKNOWN_SIZE ফেরত দেওয়া হয়।

পরামিতি
i আকার পেতে মাত্রার সূচক। যদি এই আকৃতির একটি পরিচিত সংখ্যক মাত্রা থাকে তবে এটি অবশ্যই < numDimensions() হতে হবে। সূচকটি নেতিবাচক হতে পারে, এই ক্ষেত্রে অবস্থানটি আকৃতির শেষ থেকে গণনা করা হয়। যেমন: size(-1) শেষ ডাইমেনশনের সাইজ, size(-2) সেকেন্ড থেকে লাস্ট ডাইমেনশনের মাপ ইত্যাদি।
রিটার্নস
  • প্রদত্ত সূচকের সাথে মাত্রার আকার যদি জানা থাকে, অন্যথায় UNKNOWN_SIZE

পাবলিক লম্বা আকার ()

এই আকৃতির সাথে একটি টেনসরের উপাদানের মোট সংখ্যা প্রদান করে।

যদি isUnknown() সত্য হয় বা hasUnknownDimension() সত্য হয়, UNKNOWN_SIZE ফেরত দেওয়া হয়।

রিটার্নস
  • এই আকৃতির একটি টেনসরের মোট উপাদানের সংখ্যা যদি গণনা করা যায়, অন্যথায় UNKNOWN_SIZE

পাবলিক শেপ সাবশেপ (int start, int end)

একটি end - begin begin থেকে end এই আকারের সাথে মেলে মাত্রিক আকৃতি শুরু করুন।

পরামিতি
শুরু সাব-শেপ কোথায় শুরু করবেন।
শেষ যেখানে সাব-শেপ শেষ করতে হবে, এক্সক্লুসিভ।
রিটার্নস
  • উপ-আকৃতি শুরু এবং শেষ দ্বারা আবদ্ধ।

পাবলিক আকৃতির লেজ ()

এই আকৃতির প্রথম মাত্রা মুছে দিয়ে একটি নতুন আকৃতি প্রদান করে।

সর্বজনীন আকৃতি গ্রহণ (int n)

এই আকৃতির প্রথম n মাত্রার সাথে মিলিত মাত্রা সহ একটি n-মাত্রিক আকৃতি প্রদান করে

পরামিতি
n নেতৃস্থানীয় মাত্রা পেতে সংখ্যা, numDimensions() এর চেয়ে <= হতে হবে
রিটার্নস
  • এই আকৃতির প্রথম n মাত্রার সাথে মিলে যাওয়া প্রথম n মাত্রা সহ একটি n-মাত্রিক আকৃতি

সর্বজনীন আকৃতি টেকলাস্ট (int n)

এই আকৃতির শেষ n মাত্রার সাথে মিলিত মাত্রা সহ একটি n-মাত্রিক আকৃতি প্রদান করে।

পরামিতি
n প্রাপ্ত করার জন্য অনুগামী মাত্রার সংখ্যা, numDimensions() এর চেয়ে <= হতে হবে
রিটার্নস
  • এই আকৃতির শেষ n মাত্রার সাথে মিলে যাওয়া মাত্রা সহ একটি n-মাত্রিক আকৃতি, কখনই শূন্য নয়

পাবলিক স্ট্রিং থেকে স্ট্রিং ()

ডিবাগিংয়ের জন্য আকৃতির সংক্ষিপ্ত বিবরণ।

পাবলিক স্ট্যাটিক আকৃতি অজানা ()

একটি অজানা সংখ্যক মাত্রা উপস্থাপন করে একটি আকৃতি তৈরি করে।

রিটার্নস
  • একটি আকৃতি যার জন্য isUnknown() সত্য, কখনই শূন্য নয়।