pytorch c++ 切片

本文对比了NumPy和PyTorch中数组的切片操作,展示了如何使用切片来选择NumPy和PyTorch张量的部分元素。通过具体示例,读者可以了解到两种库中切片语法的区别,尤其是PyTorch C++ API的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0,nunpy切片

>>> import numpy as np
>>> a = np.arange(24).reshape(2,3,4)
>>> a
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],

       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
>>> a[:-1,:]
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]]])
>>>

1,pytorch 切片

#include <torch/script.h>
using namespace std;
using namespace at;
using namespace torch;

int main(int argc, const char* argv[])
{ 
    torch::manual_seed(0);
    // auto a = torch::randn({4,4,4});
    auto a = at::arange(24).view({2,3,4});
    cout << "a size is " << a.sizes() << endl;
    cout << a << endl;
    // cout << a.size(0) << endl;
    // cout << a.size(1) << endl;

    auto b = at::slice(a,1,-1,0);                        # 这行有问题,两周内修改,其他事情
    													 # pytorch c++切片,一次只能切割一个维度,与python非常不一样
    cout << "b size is " << b.sizes() << endl;
    cout << b << endl;

    cout<< "ok\n";
    return 1;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值