栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Pytorch C Extension(C拓展)(即时编译JIT)(pybind11)(torch.utils.cpp

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch C Extension(C拓展)(即时编译JIT)(pybind11)(torch.utils.cpp

在Pytorch中也可以自定义C拓展,并调用

并且可以不用setuptools, 采用即时编译(JIT)的方法来构建C++扩展。即时编译机制提供了一种简单调用PyTorch API中名为torch.utils.cpp_extension.load()的函数,来编译和加载扩展的方法:

这里还是采用pybind11的例子

hxx_test.cpp

#include 
 
int add( int i, int j ){
    return i+j;
}
 
PYBIND11_MODULE(python_example, m ){
    m.doc() = "pybind11 example";
    m.def("add", &add, "add two number" );
}

test.py

import torch
from torch.utils.cpp_extension import load

cpp_ext = load(
     name = "python_example",
     sources = ["hxx_test.cpp",], 
     verbose=True,
)

print(cpp_ext.add(2,3))

 

 

注意torch.utils.cpp_extension.load中的name参数一定要和PYBIND11_MODULE中的参数对应起来

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号