รูปร่างของ Tensor หรือ NdArray
Shape
กำหนดขนาดตามแนวแกน อาจไม่ทราบขนาดสำหรับแกนใดแกนหนึ่งหรืออาจไม่ทราบขนาดทั้งหมด ซึ่งในกรณีนี้จะไม่ทราบจำนวนแกนด้วยซ้ำ หากไม่ทราบขนาดของแกน ควรใช้ UNKNOWN_SIZE
เป็นขนาดของแกน
เขตข้อมูล
สาธารณะคงยาว | UNKNOWN_SIZE | ขนาดของแกนที่ไม่รู้จักหรือขนาดที่ไม่ทราบทั้งหมดสำหรับรูปร่างที่ไม่รู้จัก |
วิธีการสาธารณะ
รูปร่าง | ผนวก (มิติสุดท้ายที่ยาวนาน) ส่งกลับรูปร่างใหม่ โดยเพิ่มมิติสุดท้ายใหม่เข้าไป |
รูปร่าง | |
ยาว[] | เป็นอาร์เรย์ () ส่งคืนสำเนาการป้องกันของขวานของ Shape นี้ |
บูลีน | เท่ากับ (วัตถุ obj) เท่ากับการใช้งานสำหรับรูปร่าง |
บูลีน | hasUnknownDimension () ส่งคืนว่ามิติหนึ่งของรูปร่างนี้มีขนาดที่ไม่รู้จักหรือไม่ |
ภายใน | แฮชโค้ด () |
รูปร่าง | ศีรษะ () ส่งกลับรูปร่าง 1 มิติโดยมิติแรกที่ตรงกับมิติแรกของรูปร่างนี้ |
บูลีนแบบคงที่ | เข้ากันได้ (สลัวยาว, สลัวอื่น ๆ ยาว) ทดสอบเพื่อดูว่าขนาดรูปร่างสองแบบเข้ากันได้หรือไม่ |
บูลีน | |
บูลีน | อิสแมทริกซ์ () คืนค่าว่ารูปร่างนี้เป็นรูปร่างของเมทริกซ์หรือไม่ |
บูลีน | เป็นสเกลาร์ () ส่งคืนว่ารูปร่างนี้แสดงถึงสเกลาร์หรือไม่ |
บูลีน | ไม่ทราบ () ส่งคืนว่าไม่ทราบจำนวนมิติของรูปร่างนี้หรือไม่ |
บูลีน | เป็นเวกเตอร์ () คืนค่าว่ารูปร่างนี้เป็นรูปร่างของเวกเตอร์หรือไม่ |
ภายใน | numขนาด () ส่งกลับจำนวนขนาดของรูปร่างนี้ |
รูปร่าง คงที่ | ของ (ยาว... มิติขนาด) สร้างรูปร่างที่แสดงถึงสเกลาร์หรือค่ามิติ N |
รูปร่าง | |
รูปร่าง | เติมหน้า (ยาวก่อนมิติ) ส่งกลับรูปร่างใหม่พร้อมกับมิติแรกที่เพิ่มเข้ามา |
รูปร่าง คงที่ | สเกลาร์ () สร้างรูปร่างที่แสดงถึงค่าสเกลาร์ |
ยาว | ขนาด (int i) ขนาดของมิติข้อมูลตามดัชนีที่กำหนด |
ยาว | ขนาด () ส่งกลับจำนวนองค์ประกอบทั้งหมดที่ Tensor ที่มีรูปร่างนี้จะมี |
รูปร่าง | รูปร่างย่อย (int เริ่มต้น, int end) คืนรูปร่างมิติ end - begin ด้วยมิติที่ตรงกับรูปร่างนี้ตั้งแต่ begin จน end |
รูปร่าง | หาง () ส่งกลับรูปร่างใหม่ โดยลบมิติแรกของรูปร่างนี้ออก |
รูปร่าง | ใช้เวลา (int n) ส่งกลับรูปร่าง n มิติที่มีขนาดตรงกับ n มิติแรกของรูปร่างนี้ |
รูปร่าง | ใช้เวลาสุดท้าย (int n) ส่งกลับรูปร่างขนาด n มิติที่มีขนาดตรงกับขนาด n สุดท้ายของรูปร่างนี้ |
สตริง | toString () คำอธิบายโดยย่อของรูปร่างที่มีไว้สำหรับการดีบัก |
รูปร่าง คงที่ | ไม่ทราบ () สร้างรูปร่างที่แสดงถึงจำนวนมิติที่ไม่รู้จัก |
วิธีการสืบทอด
เขตข้อมูล
ความยาวคงที่สาธารณะ UNKNOWN_SIZE
ขนาดของแกนที่ไม่รู้จักหรือขนาดที่ไม่ทราบทั้งหมดสำหรับรูปร่างที่ไม่รู้จัก
วิธีการสาธารณะ
รูปร่าง สาธารณะ ต่อท้าย (มิติสุดท้ายยาว)
ส่งกลับรูปร่างใหม่ โดยเพิ่มมิติสุดท้ายใหม่เข้าไป เพื่อให้การเรียกนี้สำเร็จ isUnknown()
จะต้องเป็น false
พารามิเตอร์
มิติสุดท้าย | มิติที่จะต่อท้าย |
---|
การส่งคืน
- รูปร่างใหม่ที่มีมิติของรูปร่างนี้ตามด้วยมิติที่กำหนด ไม่เป็นค่าว่าง
รูปร่าง สาธารณะ ต่อท้าย ( รูปร่าง อื่น ๆ )
ส่งกลับรูปร่างใหม่ โดยมีมิติของรูปร่างอื่นต่อท้าย สำหรับทั้งรูปร่างนี้และรูปร่างอื่น isUnknown()
จะต้องคืนค่าเท็จ เช่น @code Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }
พารามิเตอร์
อื่น | รูปร่างอื่นต้องไม่เป็น null ต้องไม่เป็นที่รู้จัก |
---|
การส่งคืน
- รูปร่างใหม่ประกอบด้วยขนาดของรูปร่างนี้ตามด้วยขนาดของรูปร่างที่กำหนด
สาธารณะยาว [] asArray ()
ส่งคืนสำเนาการป้องกันของขวานของ Shape นี้ เปลี่ยนแปลงอาร์เรย์ที่ส่งคืนเพื่อไม่ให้เปลี่ยนสถานะของรูปร่างนี้ ส่งคืนค่าว่างหาก isUnknown()
เป็นจริง
บูลีนสาธารณะ เท่ากับ (Object obj)
เท่ากับการใช้งานสำหรับรูปร่าง รูปร่างสองรูปถือว่าเท่ากัน iff:
- จำนวนมิติถูกกำหนดและเท่ากันสำหรับทั้งสอง
- ขนาดของแต่ละมิติถูกกำหนดและเท่ากันสำหรับทั้งสอง
หาก Shape ตัวใดตัวหนึ่งมีขนาดที่ไม่รู้จัก (แม้ว่าจะเหมือนกันในทั้งสองแบบก็ตาม) หรือหากรูปร่างใดรูปร่างหนึ่งมีจำนวนมิติที่ไม่ทราบ (แม้ว่าทั้งสองค่าจะคืนค่า true
สำหรับ isUnknown()
ก็ตาม รูปร่างเหล่านั้นจะไม่ถือว่าเท่ากัน! อย่างไรก็ตาม รูปร่างจะเท่ากันเสมอ แม้ว่าจะไม่ทราบหรือไม่ทราบขนาดก็ตาม
บูลีนสาธารณะ hasUnknownDimension ()
ส่งคืนว่ามิติหนึ่งของรูปร่างนี้มีขนาดที่ไม่รู้จักหรือไม่
สาธารณะ int hashCode ()
บูลีนคงที่สาธารณะ isCompatible (สลัวยาว, ยาว otherDim)
ทดสอบเพื่อดูว่าขนาดรูปร่างสองแบบเข้ากันได้หรือไม่
มิติข้อมูลจะเข้ากันได้หากมิติใดมิติหนึ่งคือ Shape.UNKNOWN_SIZE
หรือทั้งสองมิติเท่ากัน
พารามิเตอร์
สลัว | มิติแรก |
---|---|
อื่นๆDim | มิติที่สอง |
การส่งคืน
- จริง หากทั้งสองมิติเข้ากันได้
บูลีนสาธารณะ isCompatibleWith (รูปร่าง รูปร่าง )
กำหนดว่ารูปร่างอื่นเข้ากันได้กับรูปทรงนี้หรือไม่
รูปร่างที่อาจถูกกำหนดบางส่วนสองแบบอาจเข้ากันได้หากมีรูปร่างที่กำหนดไว้อย่างสมบูรณ์ซึ่งทั้งสองรูปร่างสามารถเป็นตัวแทนได้ ดังนั้นความเข้ากันได้ทำให้โค้ดการอนุมานรูปร่างสามารถให้เหตุผลเกี่ยวกับรูปร่างที่กำหนดไว้บางส่วนได้ ตัวอย่างเช่น:
-
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)
.
ความเข้ากันได้ไม่เหมือนกับการออกอากาศ รูปร่างที่เข้ากันได้จะต้องมีจำนวนมิติเท่ากัน และสำหรับคู่มิติแต่ละคู่ มิติหนึ่งจะต้องเท่ากับมิติอื่น หรืออย่างน้อยหนึ่งมิติในคู่นั้นจะต้องมี UNKNOWN_SIZE
การแพร่ภาพอนุญาตให้มีมิติที่แตกต่างกัน แต่มิติที่จับคู่จะต้องเท่ากัน หรือมิติหนึ่งต้องเป็น 1 หากรูปร่างหนึ่งมีขนาดน้อยกว่ารูปร่างอื่น รูปร่างที่เล็กกว่าจะถูก "ยืด" ด้วยขนาด 1
พารามิเตอร์
รูปร่าง | รูปร่างอื่น |
---|
การส่งคืน
- จริง ถ้าทั้งสองรูปร่างเข้ากันได้
บูลีนสาธารณะ isMatrix ()
คืนค่าว่ารูปร่างนี้เป็นรูปร่างของเมทริกซ์หรือไม่
isScalar บูลีนสาธารณะ ()
ส่งคืนว่ารูปร่างนี้แสดงถึงสเกลาร์หรือไม่
บูลีนสาธารณะ isUnknown ()
ส่งคืนว่าไม่ทราบจำนวนมิติของรูปร่างนี้หรือไม่
บูลีนสาธารณะ 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
พารามิเตอร์
ฉัน | ดัชนีของมิติเพื่อรับขนาด หากรูปร่างนี้มีจำนวนมิติที่ทราบ จะต้องเป็น < numDimensions() ดัชนีอาจเป็นลบ ซึ่งในกรณีนี้ตำแหน่งจะนับจากจุดสิ้นสุดของรูปทรง เช่น: size(-1) ส่งกลับขนาดของมิติสุดท้าย, size(-2) ขนาดของมิติที่สองถึงสุดท้าย เป็นต้น |
---|
การส่งคืน
- ขนาดของมิติข้อมูลพร้อมกับดัชนีที่กำหนด หากทราบ
UNKNOWN_SIZE
มิฉะนั้น
ขนาด ยาวสาธารณะ ()
ส่งกลับจำนวนองค์ประกอบทั้งหมดที่ Tensor ที่มีรูปร่างนี้จะมี
ถ้า isUnknown()
เป็นจริง หรือ hasUnknownDimension()
เป็นจริง UNKNOWN_SIZE
จะถูกส่งกลับ
การส่งคืน
- จำนวนองค์ประกอบทั้งหมดที่ Tensor ที่มีรูปร่างนี้จะมีหากสามารถคำนวณได้ มิฉะนั้น
UNKNOWN_SIZE
รูปร่าง ย่อย สาธารณะ (int เริ่มต้น, int end)
กลับ end - begin
รูปร่างมิติด้วยขนาดที่ตรงกับรูปร่างนี้ตั้งแต่ begin
จน end
พารามิเตอร์
เริ่ม | จะเริ่มรูปร่างย่อยได้ที่ไหน |
---|---|
จบ | ที่จะจบรูปทรงย่อยเฉพาะ |
การส่งคืน
- รูปร่างย่อยที่ล้อมรอบด้วยจุดเริ่มต้นและจุดสิ้นสุด
รูป แบบสาธารณะ ใช้ (int n)
ส่งกลับรูปร่าง n มิติที่มีขนาดตรงกับ n มิติแรกของรูปร่างนี้
พารามิเตอร์
n | จำนวนมิตินำหน้าที่จะได้รับ จะต้อง <= มากกว่า numDimensions() |
---|
การส่งคืน
- รูปร่าง n มิติที่มี n มิติแรกตรงกับ n มิติแรกของรูปร่างนี้
รูปร่าง สาธารณะ takeLast (int n)
ส่งกลับรูปร่างขนาด n มิติที่มีขนาดตรงกับขนาด n สุดท้ายของรูปร่างนี้
พารามิเตอร์
n | จำนวนมิติต่อท้ายที่จะได้รับ จะต้อง <= มากกว่า numDimensions() |
---|
การส่งคืน
- รูปร่าง n มิติที่มีขนาดตรงกับ n มิติสุดท้ายของรูปร่างนี้ ไม่เป็นค่าว่าง
สตริงสาธารณะ toString ()
คำอธิบายโดยย่อของรูปร่างที่มีไว้สำหรับการดีบัก
สาธารณะ รูปร่าง คง ที่ ไม่ทราบ ()
สร้างรูปร่างที่แสดงถึงจำนวนมิติที่ไม่รู้จัก
การส่งคืน
- รูปร่างที่
isUnknown()
เป็นจริง ไม่เป็นค่าว่าง