问题描述
像这样:
'''
a = [1.0,2.0,3.0]
b = [[a,a,a],[a,a]]
c = tf.ragged.constant(b,dtype=tf.float32)
''' 我得到了一个形状为 [4,None,None] 的张量,但我期望 [4,3],
解决方法
根据文档 (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])
应该为您提供形状为 [4,None,3]
的参差不齐的张量。