c++ arrayfire库 af::constant, af::identity, af::randu

af::constant

在 ArrayFire 库中,af::constant 函数用于创建一个所有元素都相同的新数组。函数接口为

template<typename T>
array constant(T val, const dim_t d0, const dim_t d1, const dim_t d2, const dim_t d3, const af_dtype ty=(af_dtype)dtype_traits<T>::ctype);

举例如下

af::array S12 = af::constant(0, 2 , 2 , 2, 1, c32); //2*2的元素全部是0的矩阵, 第3维是2,第四维是1,数据类型为c32
af_print(S12);

af::identity 

在 ArrayFire 库中,af::identity 函数用于创建一个单位矩阵,即对角线元素为 1,其他元素为 0 的方阵。函数接口为

AFAPI array identity(const dim_t d0, const dim_t d1,  const dim_t d2, const dim_t d3, const dtype ty=f32);

举例如下

af::array i = af::identity(2, 2, c32);  //2*2的单位矩阵, 第3维是1,第四维是1,数据类型为c32
af_print(i);

af::array S122 = af::identity(2, 2, 2, 2, c32); //2*2的0矩阵, 第3维是2,第四维是2,数据类型为c32
af_print(S122);

af::randu 

在 ArrayFire 库中,af::randu 函数用于生成一个给定维度大小的数组,其元素是从均匀分布中随机抽取的。生成的随机数在 [0, 1) 区间内,这意味着它们可以取到 0 但不包括 1。函数接口为

AFAPI array randu(const dim_t d0, const dim_t d1, const dim_t d2, const dim_t d3, const dtype ty=f32);

举例如下

af::array i1 = af::randu(2, 2, c32);  //2*2的随机矩阵, 第3维是1,第四维是1,数据类型为c32
af_print(i1);

如果你想生成可重复的随机数序列,你可以通过设置随机数种子来实现:

// 设置随机数种子
af::setSeed(123);

// 使用相同种子生成随机数组,结果将每次都相同
af::array consistentRandArray = af::randu(5, 3);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值