0

像这样:
'''

a = [1.0, 2.0, 3.0]
b = [[a, a, a, a], [a, a, a], [a, a, a, a, a, a, a], [a, a]]
c = tf.ragged.constant(b, dtype=tf.float32)

''' 我得到了一个形状为 [4, None, None] 的张量,但我期望 [4, None, 3],

4

1 回答 1

1

根据文档(https://www.tensorflow.org/api_docs/python/tf/RaggedTensor#uniform_inner_dimensions_2),要在参差不齐的张量上获得统一的内部维度,您需要从值的多维张量开始,以便 TensorFlow知道该维度是统一的

对于您的示例情况,您首先要制作b一个 16x3 矩阵,然后使用“from_row_”方法之一(例如tf.RaggedTensor.from_row_lengths())将其划分为参差不齐的分割。例如像

import numpy as np
import tensorflow as tf

a = np.array([1.0, 2.0, 3.0])
b = np.tile(a, (16,1))
c = tf.RaggedTensor.from_row_lengths(values= b, row_lengths = [4,3,7,2])

应该让你得到你想要的参差不齐的张量 shape [4,None,3]

于 2021-03-29T18:24:46.907 回答