DynamicStitch

lớp cuối cùng công khai DynamicStitch

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>
tạo ( Phạm vi phạm vi, Iterable< Toán hạng <Integer>> chỉ số, Iterable< Toán hạng <T>> dữ liệu)
Phương thức gốc để tạo một lớp bao bọc một thao tác DynamicStitch mới.
Đầu ra <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

Đầu ra công khai <T> được hợp nhất ()