Shape

รูปร่าง คลาสสุดท้ายสาธารณะ

รูปร่างของ 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 ()

หัว รูปร่าง สาธารณะ ()

ส่งกลับรูปร่าง 1 มิติโดยมิติแรกที่ตรงกับมิติแรกของรูปร่างนี้

บูลีนคงที่สาธารณะ 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 จะถูกส่งกลับ

การส่งคืน
  • จำนวนองค์ประกอบทั้งหมดที่เทนเซอร์ที่มีรูปร่างนี้จะมีหากสามารถคำนวณได้ มิฉะนั้น 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() เป็นจริง ไม่เป็นค่าว่าง