DepthToSpace

คลาสสุดท้ายสาธารณะ DepthToSpace

DepthToSpace สำหรับเทนเซอร์ประเภท T

จัดเรียงข้อมูลจากความลึกลงในบล็อกข้อมูลเชิงพื้นที่ นี่คือการเปลี่ยนแปลงแบบย้อนกลับของ SpaceToDepth โดยเฉพาะอย่างยิ่ง สหกรณ์นี้จะส่งออกสำเนาของเทนเซอร์อินพุตโดยที่ค่าจากมิติ "ความลึก" ถูกย้ายในบล็อกเชิงพื้นที่ไปยังมิติ "ความสูง" และ "ความกว้าง" attr `block_size` ระบุขนาดบล็อกอินพุตและวิธีการย้ายข้อมูล

* ชิ้นข้อมูลขนาด `block_size * block_size` จากความลึกจะถูกจัดเรียงใหม่เป็นบล็อกที่ไม่ทับซ้อนกันขนาด `block_size x block_size` * ความกว้างของเทนเซอร์เอาต์พุตคือ `input_deep * block_size` ในขณะที่ความสูงคือ `input_height * block_size` * พิกัด Y, X ภายในแต่ละบล็อกของภาพที่ส่งออกถูกกำหนดโดยองค์ประกอบลำดับสูงของดัชนีช่องสัญญาณอินพุต * ความลึกของเทนเซอร์อินพุตต้องหารด้วย `block_size * block_size` ลงตัว

`data_format` attr ระบุโครงร่างของเทนเซอร์อินพุตและเอาท์พุตด้วยตัวเลือกต่อไปนี้: "NHWC": `[ แบทช์ ความสูง ความกว้าง แชนเนล ]` "NCHW": `[ แบทช์ แชนเนล ความสูง ความกว้าง ]` " NCHW_VECT_C": `qint8 [ ชุด, ช่อง / 4, ความสูง, ความกว้าง, 4 ]`

การพิจารณาการดำเนินการเป็นการแปลงเทนเซอร์ 6-D จะเป็นประโยชน์ เช่น สำหรับ data_format = NHWC แต่ละองค์ประกอบในเทนเซอร์อินพุตสามารถระบุได้ผ่าน 6 พิกัด เรียงลำดับโดยการลดความสำคัญเค้าโครงหน่วยความจำเป็น: n,iY,iX,bY,bX,oC (โดยที่ n=ดัชนีแบทช์, iX, iY หมายถึง X หรือพิกัด Y ภายในรูปภาพอินพุต, bX, bY หมายถึงพิกัดภายในบล็อกเอาต์พุต, oC หมายถึงช่องสัญญาณเอาท์พุต) เอาต์พุตจะเป็นอินพุตที่ถูกย้ายไปยังโครงร่างต่อไปนี้: n,iY,bY,iX,bX,oC

การดำเนินการนี้มีประโยชน์สำหรับการปรับขนาดการเปิดใช้งานระหว่างการโนโวลูชั่น (แต่เก็บข้อมูลทั้งหมด) เช่น แทนที่จะรวมกลุ่ม นอกจากนี้ยังมีประโยชน์สำหรับการฝึกโมเดลแบบ Convolutional เพียงอย่างเดียวอีกด้วย

ตัวอย่างเช่น เมื่อป้อนข้อมูลรูปร่าง `[1, 1, 1, 4]`, data_format = "NHWC" และ block_size = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
การดำเนินการนี้จะส่งออกเทนเซอร์ของรูปร่าง `[1, 2, 2, 1 ]`:
[[[[1], [2]],
      [[3], [4]]]]
 
ที่นี่ อินพุตมีแบทช์ 1 และแต่ละองค์ประกอบแบทช์มีรูปร่าง `[1, 1, 4]` เอาต์พุตที่สอดคล้องกันจะมีองค์ประกอบ 2x2 และจะมีความลึก 1 ช่อง (1 = ` 4 / (block_size * block_size)`) รูปร่างองค์ประกอบเอาต์พุตคือ `[2, 2, 1]`

สำหรับเทนเซอร์อินพุตที่มีความลึกมากกว่า รูปร่างในที่นี้ `[1, 1, 1, 12]` เช่น

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
การดำเนินการนี้ สำหรับขนาดบล็อก 2 จะส่งกลับเทนเซอร์ของรูปร่างต่อไปนี้ `[1, 2, 2 , 3]`
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
ในทำนองเดียวกัน สำหรับอินพุตรูปร่างต่อไปนี้ `[1 2 2 4]` และขนาดบล็อกเป็น 2:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
ผู้ดำเนินการจะส่งคืนเทนเซอร์ของรูปร่างต่อไปนี้ `[1 4 4 1] `:
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

คลาสที่ซ้อนกัน

ระดับ DepthToSpace.ตัวเลือก แอ็ตทริบิวต์ทางเลือกสำหรับ DepthToSpace

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

เอาท์พุต <T>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คงที่ <T ขยาย TType > DepthToSpace <T>
สร้าง (ขอบเขต ขอบเขต , อินพุต ตัวดำเนินการ <T>, ขนาดบล็อกยาว, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ DepthToSpace ใหม่
DepthToSpace.Options แบบคงที่
dataFormat (สตริง dataFormat)
เอาท์พุต <T>

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "DepthToSpace"

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ <T> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง DepthToSpace <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , อินพุต Operand <T>, Long blockSize, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ DepthToSpace ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
บล็อกขนาด ขนาดของบล็อกเชิงพื้นที่ เช่นเดียวกับใน Space2Depth
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • อินสแตนซ์ใหม่ของ DepthToSpace

สาธารณะ DepthToSpace.Options dataFormat แบบคงที่ (String dataFormat)

เอาท์พุท สาธารณะ <T> เอาท์พุท ()