BatchToSpaceNd

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

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

การดำเนินการนี้จะปรับรูปร่างมิติ "แบทช์" 0 ใหม่ให้เป็นขนาด `M + 1` ของรูปร่าง `block_shape + [แบทช์]` โดยแทรกบล็อกเหล่านี้กลับเข้าไปในตารางที่กำหนดโดยมิติเชิงพื้นที่ `[1, ..., M]`, เพื่อให้ได้ผลลัพธ์ที่มีอันดับเดียวกันกับอินพุต มิติเชิงพื้นที่ของผลลัพธ์ระดับกลางนี้จะถูกครอบตัดตาม "การครอบตัด" เพื่อสร้างผลลัพธ์ นี่คือสิ่งที่ตรงกันข้ามกับ SpaceToBatch ดูด้านล่างสำหรับคำอธิบายที่ชัดเจน

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

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

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

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

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

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

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

สร้าง BatchToSpaceNd <T> สาธารณะแบบคงที่ (ขอบเขต ขอบเขต , อินพุต Operand <T>, Operand <U> blockShape, Operand <V> ครอบตัด)

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

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล ND ที่มีรูปร่าง `input_shape = [ชุด] + รูปร่างเชิงพื้นที่ + รูปร่างที่เหลือ` โดยที่รูปร่างเชิงพื้นที่มีขนาด M
บล็อกรูปร่าง 1-D ที่มีรูปร่าง `[M]` ค่าทั้งหมดต้องเป็น >= 1
พืชผล 2-D ที่มีรูปร่าง `[M, 2]` ค่าทั้งหมดต้องเป็น >= 0 `crops[i] = [crop_start, crop_end]` ระบุจำนวนที่จะครอบตัดจากมิติอินพุต `i + 1` ซึ่งสอดคล้องกับ มิติเชิงพื้นที่ `i` จำเป็นต้องมี `crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]`

การดำเนินการนี้เทียบเท่ากับขั้นตอนต่อไปนี้:

1. เปลี่ยนรูปร่าง `อินพุต` เป็น `เปลี่ยนรูปร่าง` ของรูปร่าง: [block_shape[0], ..., block_shape[M-1], แบทช์ / prod(block_shape), input_shape[1], ..., input_shape[N- 1]]

2. ปรับขนาดของ `เปลี่ยนรูปร่าง` เพื่อสร้าง `รูปร่างที่ดัดแปลง` ของรูปร่าง [batch / prod(block_shape)

input_shape[1], block_shape[0], ..., input_shape[M], block_shape[M-1],

input_shape[M+1], ..., input_shape[N-1]]

3. ปรับรูปร่าง `permuted` ใหม่เพื่อสร้าง `reshape_permuted` ของรูปร่าง [batch / prod(block_shape)

input_shape[1] * block_shape[0], ..., input_shape[M] * block_shape[M-1],

input_shape[M+1], ..., input_shape[N-1]]

4. ครอบตัดจุดเริ่มต้นและจุดสิ้นสุดของขนาด `[1, ..., M]` ของ `reshape_permuted` ตาม `ครอบตัด` เพื่อสร้างผลลัพธ์ของรูปร่าง: [batch / prod(block_shape),

input_shape[1] * block_shape[0] - ครอบตัด[0,0] - ครอบตัด[0,1], ..., input_shape[M] * block_shape[M-1] - ครอบตัด[M-1,0] - ครอบตัด [ม-1,1]

input_shape[M+1], ..., input_shape[N-1]]

ตัวอย่างบางส่วน:

(1) สำหรับการป้อนรูปร่างต่อไปนี้ `[4, 1, 1, 1]`, `block_shape = [2, 2]` และ `crops = [[0, 0], [0, 0]]`:

[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
 
เอาท์พุตเทนเซอร์มีรูปร่าง `[1, 2, 2, 1]` และค่า:
x = [[[[1], [2]], [[3], [4]]]]
 
(2) สำหรับอินพุตต่อไปนี้ของรูปร่าง `[4, 1, 1, 3]`, `block_shape = [ 2, 2]` และ `crops = [[0, 0], [0, 0]]`:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
 
เทนเซอร์เอาท์พุตมีรูปร่าง `[1, 2, 2, 3]` และค่า:
x = [[[[1, 2, 3], [4, 5, 6]],
       [[7, 8, 9], [10, 11, 12]]]]
 
(3) สำหรับการป้อนรูปร่างต่อไปนี้ `[4, 2, 2, 1]`, `block_shape = [2, 2]` และ `crops = [[0, 0], [0, 0]]`:
x = [[[[1], [3]], [[9], [11]]],
      [[[2], [4]], [[10], [12]]],
      [[[5], [7]], [[13], [15]]],
      [[[6], [8]], [[14], [16]]]]
 
เอาท์พุตเทนเซอร์มีรูปร่าง `[1, 4, 4, 1]` และค่า:
x = [[[[1],   [2],  [3],  [4]],
      [[5],   [6],  [7],  [8]],
      [[9],  [10], [11],  [12]],
      [[13], [14], [15],  [16]]]]
 
(4) สำหรับอินพุตต่อไปนี้ของรูปร่าง `[8, 1, 3, 1]`, `block_shape = [ 2, 2]` และ `crops = [[0, 0], [2, 0]]`:
x = [[[[0], [1], [3]]], [[[0], [9], [11]]],
      [[[0], [2], [4]]], [[[0], [10], [12]]],
      [[[0], [5], [7]]], [[[0], [13], [15]]],
      [[[0], [6], [8]]], [[[0], [14], [16]]]]
 
เทนเซอร์เอาท์พุตมีรูปร่าง `[2, 2, 4, 1]` และค่า:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]]],
      [[[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 

การส่งคืน
  • อินสแตนซ์ใหม่ของ BatchToSpaceNd

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