แทรกค่าจากเทนเซอร์ "ข้อมูล" ลงในเทนเซอร์ตัวเดียว
สร้างเทนเซอร์ที่ผสานเช่นนั้น
merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
ตัวอย่างเช่น หาก `ดัชนี[m]` แต่ละรายการเป็นสเกลาร์หรือเวกเตอร์ เราก็จะได้ # Scalar indices:
merged[indices[m], ...] = data[m][...]
# Vector indices:
merged[indices[m][i], ...] = data[m][i, ...]
`data[i].shape` แต่ละรายการจะต้องเริ่มต้นด้วย `indices[i].shape` ที่สอดคล้องกัน และส่วนที่เหลือของ `data[i].shape` จะต้องเป็นค่าคงที่ wrt `i` นั่นคือ เราต้องมี `data[i].shape = indices[i].shape + Constant` ในแง่ของ "ค่าคงที่" นี้ รูปร่างผลลัพธ์จะเป็นmerged.shape = [สูงสุด (ดัชนี) + 1] + ค่าคงที่
ค่าจะถูกผสานตามลำดับ ดังนั้นหากดัชนีปรากฏในทั้ง `indices[m][i]` และ `indices[n][j]` สำหรับ `(m,i) < (n,j)` ส่วน `data [n][j]` จะปรากฏในผลลัพธ์ที่รวมเข้าด้วยกัน หากคุณไม่ต้องการการรับประกันนี้ ParallelDynamicStitch อาจทำงานได้ดีกว่าในอุปกรณ์บางชนิด
ตัวอย่างเช่น:
indices[0] = 6
indices[1] = [4, 1]
indices[2] = [[5, 2], [0, 3]]
data[0] = [61, 62]
data[1] = [[41, 42], [11, 12]]
data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],
[51, 52], [61, 62]]
วิธีการนี้สามารถใช้เพื่อรวมพาร์ติชั่นที่สร้างโดย `dynamic_partition` ดังที่แสดงในตัวอย่างต่อไปนี้: # Apply function (increments x_i) on elements for which a certain condition
# apply (x_i != -1 in this example).
x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
condition_mask=tf.not_equal(x,tf.constant(-1.))
partitioned_data = tf.dynamic_partition(
x, tf.cast(condition_mask, tf.int32) , 2)
partitioned_data[1] = partitioned_data[1] + 1.0
condition_indices = tf.dynamic_partition(
tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
x = tf.dynamic_stitch(condition_indices, partitioned_data)
# Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
# unchanged.
วิธีการสาธารณะ
เอาท์พุต <T> | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
คงที่ <T> DynamicStitch <T> | |
เอาท์พุต <T> | รวม () |
วิธีการสืบทอด
วิธีการสาธารณะ
เอาท์พุท สาธารณะ <T> asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
สร้าง DynamicStitch <T> แบบคงที่สาธารณะ (ขอบเขตขอบเขต ดัชนี Iterable < Operand <Integer>> ข้อมูล Iterable < Operand <T>>)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ DynamicStitch ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|
การส่งคืน
- อินสแตนซ์ใหม่ของ DynamicStitch