mindspore.ops.randperm
- mindspore.ops.randperm(n, seed=0, offset=0, dtype=mstype.int64)[源代码]
生成从 0 到 n-1 的整数随机排列。
返回由 n 推断出的具有确定shape的Tensor,其中的随机数取自给定类型可以表示的数据范围。
警告
这是一个实验性API,后续可能修改或删除。
- 参数:
n (Union[Tensor, int]) - 输入大小,如果为Tensor,则形状为()或(1,),数据类型为int64。数值必须大于0。
seed (int, 可选) - 随机种子。默认值:
0
。当seed为-1(只有负值)时,offset为0,随机数由时间决定。offset (int, 可选) - 偏移量,生成随机数,优先级高于随机种子。 默认值:
0
。必须是非负数。dtype (mindspore.dtype, 可选) - 输出的类型。必须是以下类型之一:int32、int16、int8、uint8、int64、float64、float32、float16。默认值:
mstype.int64
。
- 返回:
Tensor,shape由参数 n 决定,dtype由参数 dtype 决定。
- 异常:
TypeError - 如果 dtype 不是一个 mstype.float_type 类型。
ValueError - 如果 n 是负数或0。
ValueError - 如果 seed 不是非负整数。
ValueError - 如果 n 是超过指定数据类型的最大范围。
- 支持平台:
CPU
样例:
>>> from mindspore import ops >>> from mindspore import dtype as mstype >>> n = 4 >>> seed = 0 >>> offset = 0 >>> output = ops.randperm(n, seed, offset, dtype=mstype.int64) >>> print(output) [1 0 2 3]