libtorch (pytorch c++) 教程(二)

本教程介绍了libtorch(PyTorch的C++版本)中张量的初始化、变形、截取和操作。内容包括固定尺寸和值的初始化、随机值初始化、从其他数据类型转换、张量变形、张量截取以及张量间的拼接、四则运算等操作,旨在帮助开发者从PyTorch平滑过渡到libtorch。
摘要由CSDN通过智能技术生成

本教程分多个章节:

张量初始化

libtorch(pytorch c++)的大多数api和pytorch保持一致,因此,libtorch中张量的初始化也和pytorch中的类似。本文介绍四种深度图像编程需要的初始化方法。
第一种,固定尺寸和值的初始化。

//常见固定值的初始化方式
auto b = torch::zeros({
   3,4});
b = torch::ones({
   3,4});
b= torch::eye(4);
b = torch::full({
   3,4},10);
b = torch::tensor({
   33,22,11});

pytorch中用[]表示尺寸,而cpp中用{}表示。zeros产生值全为0的张量。ones产生值全为1的张量。eye产生单位矩阵张量。full产生指定值和尺寸的张量。torch::tensor({})也可以产生张量,效果和pytorch的torch.Tensor([])或者torch.tensor([])一样。

第二种,固定尺寸,随机值的初始化方法

//随机初始化
auto r = torch::rand({
   3,4});
r = torch::randn({
   3, 4});
r = torch::randint(0, 4,{
   3,3});

rand产生0-1之间的随机值,randn取正态分布N(0,1)的随机值,randint取[min,max)的随机整型数值。

第三种,从c++的其他数据类型转换而来

int</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值