这个问题类似于这个问题:

pad last dimension of tensor

除了我想用起始值预先填充这个张量.给定参差不齐的张量:

 [[1],
 [4, 2],
 [1, 2, 3]]

我预计输出结果为:

[[1 1 1],
 [4 4 2],
 [1 2 3]]

我希望能够将该解应用于较大的锯齿张量.

推荐答案

只需使用锯齿张量的性质:

import tensorflow as tf

x = tf.ragged.constant([[1],
                        [4, 2],
                        [1, 2, 3]])

rows_to_pad = tf.abs(x.row_lengths() - tf.reduce_max(x.row_lengths()))

padded_x = tf.concat([tf.RaggedTensor.from_row_lengths(
    values=tf.repeat(tf.gather(x.merge_dims(0, -1), x.row_starts()), rows_to_pad, axis=0),
    row_lengths=rows_to_pad), x], axis=-1).to_tensor()
[[1 1 1]
 [4 4 2]
 [1 2 3]]

另一个参差不齐的张量:

x = tf.ragged.constant([[1, 4, 5, 6, 7, 8, 3],
                        [4, 2],
                        [1, 2, 3], 
                        [1, 2, 3, 4, 5], 
                        [1]])

预填充值:

[[1 4 5 6 7 8 3]
 [4 4 4 4 4 4 2]
 [1 1 1 1 1 2 3]
 [1 1 1 2 3 4 5]
 [1 1 1 1 1 1 1]]

Python相关问答推荐

使用miniconda创建环境的问题

如何使用LangChain和AzureOpenAI在Python中解决AttribeHelp和BadPressMessage错误?

如何制作10,000年及以后的日期时间对象?

在Wayland上使用setCellWidget时,try 编辑QTable Widget中的单元格时,PyQt 6崩溃

使用groupby Pandas的一些操作

有没有一种方法可以从python的pussompy比较结果中提取文本?

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

driver. find_element无法通过class_name找到元素'""

Scrapy和Great Expectations(great_expectations)—不合作

Pandas GroupBy可以分成两个盒子吗?

为什么\b在这个正则表达式中不解释为反斜杠

ConversationalRetrivalChain引发键错误

从嵌套极轴列的列表中删除元素

numpy数组和数组标量之间的不同行为

裁剪数字.nd数组引发-ValueError:无法将空图像写入JPEG

如何获得满足掩码条件的第一行的索引?

如何关联来自两个Pandas DataFrame列的列表项?

#将多条一维曲线计算成其二维数组(图像)表示

牛郎星直方图中分类列的设置顺序

意外的麻木图像reshape 为网格问题