Shape

کلاس نهایی عمومی شکل

شکل یک Tensor یا NdArray .

یک Shape اندازه ها را در امتداد محورهای خود تعریف می کند. ممکن است برای یکی از محورها اندازه نامشخصی داشته باشد یا کاملاً ناشناخته باشد، در این صورت حتی تعداد محورها نیز مشخص نیست. اگر اندازه یک محور ناشناخته است، باید UNKNOWN_SIZE به عنوان اندازه آن استفاده شود.

فیلدها

عمومی استاتیک طولانی UNKNOWN_SIZE اندازه یک محور ناشناخته یا اندازه مجهول کل برای یک شکل ناشناخته.

روش های عمومی

شکل
ضمیمه (long lastDimension)
یک شکل جدید را با آخرین بعد جدید اضافه می کند.
شکل
ضمیمه ( به شکل دیگر)
یک شکل جدید را با ابعاد شکل های دیگر اضافه می کند.
طولانی[]
asArray ()
یک کپی دفاعی از محورهای این شکل را برمی‌گرداند.
بولی
برابر است (object obj)
برابر است با اجرای Shapes.
بولی
دارای ابعاد ناشناخته ()
نشان می دهد که آیا یک یا چند بعد از این شکل اندازه نامعلومی دارند یا خیر.
بین المللی
شکل
سر ()
یک شکل 1 بعدی با بعد اول مطابق با بعد اول این شکل را برمی‌گرداند.
بولی استاتیک
سازگار است (تیرگی طولانی، تیرگی طولانی دیگر)
تست کنید تا ببینید آیا دو بعد شکل با هم سازگار هستند یا خیر.
بولی
isCompatibleWith ( شکل شکل)
تعیین می کند که آیا شکل دیگری با این شکل سازگار است یا خیر.
بولی
isMatrix ()
نشان می دهد که آیا این شکل شکل یک ماتریس است یا خیر
بولی
isScalar ()
نشان می دهد که آیا این شکل یک اسکالر را نشان می دهد یا خیر.
بولی
ناشناخته است ()
نشان می دهد که آیا تعداد ابعاد این شکل ناشناخته است یا خیر.
بولی
isVector ()
برمی‌گرداند که آیا این شکل شکل یک بردار است یا خیر.
بین المللی
ابعاد عددی ()
تعداد ابعاد این شکل را برمی‌گرداند.
شکل ایستا
از (بلند... ابعاد اندازه)
یک شکل ایجاد کنید که نشان دهنده یک مقدار اسکالر یا یک N بعدی است.
شکل
prepend ( به شکل دیگر)
یک شکل جدید را با ابعاد شکل دیگری برمی‌گرداند.
شکل
prepend (بعد اول طولانی)
یک شکل جدید را با یک بعد اول جدید اضافه می کند.
شکل ایستا
اسکالر ()
شکلی ایجاد می کند که یک مقدار اسکالر را نشان می دهد.
طولانی
اندازه (int i)
اندازه بعد با شاخص داده شده.
طولانی
اندازه ()
تعداد کل عناصری که یک تانسور با این شکل خواهد داشت را برمی‌گرداند.
شکل
زیرشکل (int start، int end)
یک شکل end - begin با ابعادی مطابق با این شکل از begin تا end برگردانید.
شکل
دم ()
یک شکل جدید را برمی‌گرداند که بعد اول این شکل حذف شده است.
شکل
گرفتن (int n)
یک شکل n بعدی را با ابعاد مطابق با n بعد اول این شکل برمی‌گرداند.
شکل
takeLast (int n)
یک شکل n بعدی با ابعاد مطابق با n بعد آخر این شکل برمی‌گرداند.
رشته
toString ()
شرح مختصر شکلی که برای اشکال زدایی در نظر گرفته شده است.
شکل ایستا
ناشناخته ()
شکلی ایجاد می کند که تعداد نامعلومی از ابعاد را نشان می دهد.

روش های ارثی

فیلدها

عمومی استاتیک طولانی UNKNOWN_SIZE

اندازه یک محور ناشناخته یا اندازه مجهول کل برای یک شکل ناشناخته.

روش های عمومی

ضمیمه شکل عمومی (long lastDimension)

یک شکل جدید را با آخرین بعد جدید اضافه می کند. برای موفقیت این فراخوانی، isUnknown() باید false باشد.

پارامترها
آخرین بعد بعد برای اضافه کردن
برمی گرداند
  • یک شکل جدید با ابعاد این شکل و به دنبال آن بعد داده شده، هرگز تهی نیست

ضمیمه شکل عمومی ( شکل دیگر)

یک شکل جدید را با ابعاد شکل های دیگر اضافه می کند. هم برای این شکل و هم برای شکل دیگر، isUnknown() باید false را برگرداند. به عنوان مثال @code Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }

پارامترها
دیگر شکل دیگری، نباید null باشد، نباید ناشناخته باشد
برمی گرداند
  • یک شکل جدید متشکل از ابعاد این شکل و به دنبال آن ابعاد شکل داده شده

عمومی طولانی[] asArray ()

یک کپی دفاعی از محورهای این شکل را برمی‌گرداند. تغییر در آرایه برگشتی برای تغییر نکردن وضعیت این شکل. اگر isUnknown() true باشد، null را برمی گرداند.

بولین عمومی برابر است (Object Obj)

برابر است با اجرای Shapes. دو شکل برابر در نظر گرفته می شوند که:

  • تعداد ابعاد برای هر دو تعریف شده و برابر است
  • اندازه هر بعد تعریف شده و برای هر دو برابر است

اگر یکی از Shape ابعاد مجهولی داشته باشد (حتی اگر در هر دو یکسان باشند) یا اگر هر کدام از شکل ها دارای تعداد نامعلومی از ابعاد باشند (حتی اگر هر دو برای isUnknown() true باشند، آنها برابر در نظر گرفته نمی شوند! با این حال، یک شکل همیشه با خودش برابر است، حتی اگر ناشناخته باشد یا دارای ابعاد ناشناخته باشد.

بولی عمومی دارای ابعاد ناشناخته ()

نشان می دهد که آیا یک یا چند بعد از این شکل اندازه نامعلومی دارند یا خیر.

هش کد عمومی ()

سر شکل عمومی ()

یک شکل 1 بعدی با بعد اول مطابق با بعد اول این شکل را برمی‌گرداند.

بولین استاتیک عمومی سازگار است (کم نور طولانی، تیره دیگر طولانی)

تست کنید تا ببینید آیا دو بعد شکل با هم سازگار هستند یا خیر.

اگر هر یک از ابعاد Shape.UNKNOWN_SIZE یا هر دو بعد مساوی باشند، ابعاد سازگار هستند

پارامترها
کم نور بعد اول
otherDim بعد دوم
برمی گرداند
  • درست است، اگر هر دو بعد با هم سازگار باشند

بولین عمومی سازگار با ( شکل شکل) است

تعیین می کند که آیا شکل دیگری با این شکل سازگار است یا خیر.

اگر یک شکل کاملاً تعریف شده وجود داشته باشد که هر دو شکل بتوانند آن را نشان دهند، دو شکل احتمالاً جزئی با هم سازگار هستند. بنابراین، سازگاری به کد استنتاج شکل اجازه می دهد تا در مورد اشکال نیمه تعریف شده استدلال کند. به عنوان مثال:

  • 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) با تمام اشکال دو بعدی با اندازه 32 در بعد 0 و همچنین 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 در صورت ناشناخته بودن.
برمی گرداند
  • یک شکل جدید

عمومی Shape prepend ( Shape other)

یک شکل جدید را با ابعاد شکل دیگری برمی‌گرداند. هم برای این شکل و هم برای شکل دیگر، isUnknown() باید false را برگرداند. به عنوان مثال Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)

پارامترها
دیگر شکل دیگری، نباید null باشد، نباید ناشناخته باشد
برمی گرداند
  • یک شکل جدید متشکل از ابعاد شکل داده شده به دنبال ابعاد این شکل، هرگز تهی نیست.

عمومی Shape prepend (بعد اول بلند)

یک شکل جدید را با یک بعد اول جدید اضافه می کند. برای موفقیت این فراخوانی، isUnknown() باید false باشد.

پارامترها
بعد اول بعد برای آماده کردن
برمی گرداند
  • یک شکل جدید با بعد داده شده ابتدا، و سپس ابعاد این شکل، هرگز تهی نیست

اسکالر شکل استاتیک عمومی ()

شکلی ایجاد می کند که یک مقدار اسکالر را نشان می دهد.

برمی گرداند
  • یک شکل بدون ابعاد که برای آن isScalar() درست است، هرگز تهی نیست.

اندازه بلند عمومی (int i)

اندازه بعد با شاخص داده شده.

اگر isUnknown() درست باشد یا اندازه بعد با شاخص داده شده دارای اندازه ناشناخته باشد، UNKNOWN_SIZE برگردانده می شود.

پارامترها
من شاخص ابعاد برای به دست آوردن اندازه. اگر این شکل دارای تعداد مشخصی از ابعاد باشد، باید < numDimensions() باشد. ممکن است شاخص منفی باشد، در این صورت موقعیت از انتهای شکل شمارش می شود. به عنوان مثال: size(-1) اندازه آخرین بعد، size(-2) اندازه بعد دوم تا آخرین و غیره را برمی‌گرداند.
برمی گرداند
  • اندازه بعد با شاخص داده شده اگر مشخص باشد، در غیر این صورت UNKNOWN_SIZE .

سایز بلند عمومی ()

تعداد کل عناصری که یک تانسور با این شکل خواهد داشت را برمی‌گرداند.

اگر isUnknown() true باشد یا hasUnknownDimension() true باشد، UNKNOWN_SIZE برگردانده می شود.

برمی گرداند
  • تعداد کل عناصر یک تانسور با این شکل اگر بتوان آن را محاسبه کرد، در غیر این صورت UNKNOWN_SIZE .

عمومی شکل زیرشکل (int start، int end)

یک شکل end - begin با ابعادی مطابق با این شکل از begin تا end برگردانید.

پارامترها
آغاز شود شکل فرعی را از کجا شروع کنیم.
پایان جایی که برای پایان دادن به شکل فرعی، منحصر به فرد.
برمی گرداند
  • شکل فرعی که با شروع و پایان محدود شده است.

دم شکل عمومی ()

یک شکل جدید را برمی‌گرداند که بعد اول این شکل حذف شده است.

گرفتن شکل عمومی (int n)

یک شکل n بعدی را با ابعاد مطابق با n بعد اول این شکل برمی‌گرداند.

پارامترها
n تعداد ابعاد اصلی برای بدست آوردن، باید <= از numDimensions() باشد.
برمی گرداند
  • یک شکل n بعدی با n بعد اول با n بعد اول این شکل مطابقت دارد

عمومی Shape takeLast (int n)

یک شکل n بعدی با ابعاد مطابق با n بعد آخر این شکل برمی‌گرداند.

پارامترها
n تعداد ابعاد انتهایی برای بدست آوردن، باید <= از numDimensions() باشد.
برمی گرداند
  • یک شکل n بعدی با ابعاد منطبق با n بعد آخر این شکل، هرگز پوچ

رشته عمومی toString ()

شرح مختصر شکلی که برای اشکال زدایی در نظر گرفته شده است.

شکل ثابت عمومی ناشناخته ()

شکلی ایجاد می کند که تعداد نامعلومی از ابعاد را نشان می دهد.

برمی گرداند
  • شکلی که برای آن isUnknown() درست است، هرگز تهی نیست.