鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

random_choice

random_choice是一种用于从集合中按概率随机选择元素的算法。在计算机科学中,随机选择是一种常见的操作,它可以用于诸如随机采样、随机排列、蒙特卡罗模拟等应用中。

随机选择算法的核心思想是从给定的集合中随机选择一个元素:对于一个和为1的输入,按概率随机选择一个元素,并返回该元素的索引。

接口定义

def random_choice(arr: np.ndarray, seed: int)->List[int]

该函数接收numpy数组和随机数种子,返回random_choice计算的结果。

输入参数

参数

类型

说明

arr

ndarray

数据类型支持FP32,维度支持1D和2D。维度为2D时,形状需满足(1, N)、(N, 1)。

seed

int

随机数种子,seed=-1时,随机数种子由系统根据当前时间戳生成;seed!=-1时,随机数种子为传入的值。

返回值

类型

说明

List[int]

长度为1,如果发生异常,返回[-1]。

示例

>>> import numpy as np
>>> from libkdnn_ext import random_choice
>>> a = np.random.rand(1, 70336).astype(np.float32)
>>> a = np.abs(a)
>>> t = a.sum(axis=1)
>>> a = a / t
>>> random_choice(a, -1)
array([17630], dtype=int32)
>>> random_choice(a, 2)
array([49333], dtype=int32)