maxframe.tensor.compress#
- maxframe.tensor.compress(condition, a, axis=None, out=None)[源代码]#
返回沿给定轴的张量的选定切片。
当沿着给定轴工作时,对于 condition 为 True 的每个索引,将返回沿该轴的一个切片到 output 中。当处理一维数组时,compress 等价于 extract。
- 参数:
condition (1-D tensor of bools) -- 选择要返回哪些条目的张量。如果 condition 的长度小于 a 沿给定轴的大小,则输出会被截断为条件张量的长度。
a (array_like) -- 要从中提取部分的张量。
axis (int, optional) -- 沿其取切片的轴。如果为 None(默认值),则在展平后的张量上操作。
out (Tensor, optional) -- 输出张量。其类型会被保留,并且必须具有能够容纳输出结果的正确形状。
- 返回:
compressed_array -- 一个 a 的副本,其中移除了 condition 为假值的轴上的切片。
- 返回类型:
Tensor
示例
>>> import maxframe.tensor as mt
>>> a = mt.array([[1, 2], [3, 4], [5, 6]]) >>> a.execute() array([[1, 2], [3, 4], [5, 6]]) >>> mt.compress([0, 1], a, axis=0).execute() array([[3, 4]]) >>> mt.compress([False, True, True], a, axis=0).execute() array([[3, 4], [5, 6]]) >>> mt.compress([False, True], a, axis=1).execute() array([[2], [4], [6]])
对展平张量进行操作不会返回沿轴的切片,而是选择元素。
>>> mt.compress([False, True], a).execute() array([2])