簡體   English   中英

如何在張量流中加入/連接/組合參差不齊的張量?

[英]How to join/concat/combine ragged tensors in tensorflow?

所以基本上我有一個參差不齊的張量(例如 [[1, 2, 3], [4, 5], [6]]),我想在它們之間用一個特殊字符連接它們,比如一個特定的數字,比如 0 . 所以結果將是 [[1, 2, 3, 0, 4, 5, 0, 6]]。 所以這有點像加入字符串,但我想用不規則的整數來做。 我沒有解決方案可以將其變成@tf.function。 此外,這樣做的目的是連接文檔句子的標記,並且該特殊字符是指示一個句子在哪里結束,另一個從哪里開始。

嘗試使用tf.concatragged.merge_dims

import tensorflow as tf

ragged = tf.ragged.constant([[1, 2, 3], [4, 5], [6]])
rows = ragged.bounding_shape()[0]
ragged = tf.concat([ragged, tf.concat([tf.expand_dims(tf.repeat([0], repeats=rows-1), axis=-1), tf.ragged.constant([[]], dtype=tf.int32)], axis=0)], axis=-1)
ragged = tf.expand_dims(ragged.merge_dims(0, 1), axis=0)
print(ragged)
# tf.Tensor([[1 2 3 0 4 5 0 6]], shape=(1, 8), dtype=int32)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM