Xen kẽ các giá trị từ tensor `data` thành một tensor duy nhất.
Xây dựng một tensor đã hợp nhất sao cho
merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
Ví dụ: nếu mỗi `indices[m]` là vô hướng hoặc vector, thì chúng ta có # Scalar indices:
merged[indices[m], ...] = data[m][...]
# Vector indices:
merged[indices[m][i], ...] = data[m][i, ...]
Mỗi `data[i].shape` phải bắt đầu bằng `indices[i] tương ứng. hình dạng` và phần còn lại của `data[i].shape` phải có dạng không đổi wrt `i`. Nghĩa là, chúng ta phải có `data[i].shape = chỉ số[i].shape + constant`. Xét về `hằng số` này, hình dạng đầu ra làsáp nhập.shape = [max(chỉ số) + 1] + hằng số
Các giá trị được hợp nhất theo thứ tự, do đó, nếu một chỉ mục xuất hiện trong cả `indices[m][i]` và `indices[n][j]` cho `(m,i) < (n,j)` thì lát `data [n][j]` sẽ xuất hiện trong kết quả được hợp nhất. Nếu bạn không cần sự đảm bảo này, ParallelDynamicStitch có thể hoạt động tốt hơn trên một số thiết bị.
Ví dụ:
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]]
Phương thức này có thể được sử dụng để hợp nhất các phân vùng được tạo bởi `dynamic_partition` như minh họa trong ví dụ sau: # 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.
Phương pháp công cộng
Đầu ra <T> | asOutput () Trả về phần điều khiển tượng trưng của một tenxơ. |
tĩnh <T> DynamicStitch <T> | |
Đầu ra <T> | đã hợp nhất () |
Phương pháp kế thừa
Phương pháp công cộng
Đầu ra công khai <T> asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
public static DynamicStitch <T> tạo ( Phạm vi phạm vi, Iterable< Operand <Integer>> chỉ số, Iterable< Operand <T>> data)
Phương thức gốc để tạo một lớp bao bọc một thao tác DynamicStitch mới.
Thông số
phạm vi | phạm vi hiện tại |
---|
Trả lại
- một phiên bản mới của DynamicStitch