شکل یک Tensor یا NdArray
.
یک Shape
اندازه ها را در امتداد محورهای خود تعریف می کند. ممکن است برای یکی از محورها اندازه نامشخصی داشته باشد یا کاملاً ناشناخته باشد، در این صورت حتی تعداد محورها نیز مشخص نیست. اگر اندازه یک محور ناشناخته است، باید UNKNOWN_SIZE
به عنوان اندازه آن استفاده شود.
فیلدها
عمومی استاتیک طولانی | UNKNOWN_SIZE | اندازه یک محور ناشناخته یا اندازه مجهول کل برای یک شکل ناشناخته. |
روش های عمومی
شکل | ضمیمه (long lastDimension) یک شکل جدید را با آخرین بعد جدید اضافه می کند. |
شکل | |
طولانی[] | asArray () یک کپی دفاعی از محورهای این شکل را برمیگرداند. |
بولی | برابر است (object obj) برابر است با اجرای Shapes. |
بولی | دارای ابعاد ناشناخته () نشان می دهد که آیا یک یا چند بعد از این شکل اندازه نامعلومی دارند یا خیر. |
بین المللی | هش کد () |
شکل | سر () یک شکل 1 بعدی با بعد اول مطابق با بعد اول این شکل را برمیگرداند. |
بولی استاتیک | سازگار است (تیرگی طولانی، تیرگی طولانی دیگر) تست کنید تا ببینید آیا دو بعد شکل با هم سازگار هستند یا خیر. |
بولی | |
بولی | isMatrix () نشان می دهد که آیا این شکل شکل یک ماتریس است یا خیر |
بولی | isScalar () نشان می دهد که آیا این شکل یک اسکالر را نشان می دهد یا خیر. |
بولی | ناشناخته است () نشان می دهد که آیا تعداد ابعاد این شکل ناشناخته است یا خیر. |
بولی | isVector () برمیگرداند که آیا این شکل شکل یک بردار است یا خیر. |
بین المللی | ابعاد عددی () تعداد ابعاد این شکل را برمیگرداند. |
شکل ایستا | از (بلند... ابعاد اندازه) یک شکل ایجاد کنید که نشان دهنده یک مقدار اسکالر یا یک N بعدی است. |
شکل | |
شکل | 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
باشند، آنها برابر در نظر گرفته نمی شوند! با این حال، یک شکل همیشه با خودش برابر است، حتی اگر ناشناخته باشد یا دارای ابعاد ناشناخته باشد.
بولی عمومی دارای ابعاد ناشناخته ()
نشان می دهد که آیا یک یا چند بعد از این شکل اندازه نامعلومی دارند یا خیر.
هش کد عمومی ()
بولین استاتیک عمومی سازگار است (کم نور طولانی، تیره دیگر طولانی)
تست کنید تا ببینید آیا دو بعد شکل با هم سازگار هستند یا خیر.
اگر هر یک از ابعاد 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()
درست است، هرگز تهی نیست.