官术网_书友最值得收藏!

Declaring ragged tensors

A ragged tensor is a tensor with one or more ragged dimensions. Ragged dimensions are dimensions that have slices that may have different lengths.

There are a variety of methods for declaring ragged arrays, the simplest being a constant ragged array.

The following example shows how to declare a constant ragged array and the lengths of the individual slices:

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

print(ragged)
print(ragged[0,:])
print(ragged[1,:])
print(ragged[2,:])
print(ragged[3,:])
print(ragged[4,:])

The output is as follows:

<tf.RaggedTensor [[5, 2, 6, 1], [], [4, 10, 7], [8], [6, 7]]>
tf.Tensor([5 2 6 1], shape=(4,), dtype=int32)
tf.Tensor([], shape=(0,), dtype=int32)
tf.Tensor([ 4 10  7], shape=(3,), dtype=int32)
tf.Tensor([8], shape=(1,), dtype=int32)
tf.Tensor([6 7], shape=(2,), dtype=int32)

Note the shape of the individual slices.

A common way of creating a ragged array is by using the tf.RaggedTensor.from_row_splits() method, which has the following signature:

@classmethod
from_row_splits
(
cls
,
values
,
row_splits
,
name
=None
)

Here, values is a list of the values to be turned into the ragged array, and row_splits is a list of the positions where the value list is to be split, so that the values for row ragged[i] are stored in ragged.values[ragged.row_splits[i]:ragged.row_splits[i+1]]:

print(tf.RaggedTensor.from_row_splits(values=[5, 2, 6, 1, 4, 10, 7, 8, 6, 7],
row_splits=[0, 4, 4, 7, 8, 10]))

RaggedTensor is as follows:

<tf.RaggedTensor [[5, 2, 6, 1], [], [4, 10, 7], [8], [6, 7]]>
主站蜘蛛池模板: 台中县| 望江县| 江津市| 台中县| 梓潼县| 金塔县| 绵阳市| 连云港市| 阿鲁科尔沁旗| 田阳县| 长岭县| 綦江县| 宝应县| 紫金县| 鸡泽县| 龙南县| 梧州市| 竹北市| 金坛市| 平邑县| 福海县| 大宁县| 容城县| 迁安市| 原阳县| 灵寿县| 哈尔滨市| 呼和浩特市| 苏尼特左旗| 彩票| 深州市| 芜湖县| 克山县| 区。| 兴安盟| 卢龙县| 古蔺县| 进贤县| 务川| 株洲县| 连州市|