pytorch拓展——Ubuntu vscode配置pytorch C++拓展环境

引言:pytorch的官方教程中

  • 例子1是用numpy+Funciton手动写的一个前向传播和反向传播
  • 例子2是一个有需要优化参数的例子
  • 例子3是用c++写的拓展,1.0之前是用c写的拓展
  • 这里记录用vscode配置c++,然后导入torch的TH.h头文件的过程

ubuntu配置vscode支持c++调试

具体参考网上的教程: Ubuntu16.04下配置VScode的C/C++开发环境

注意:

tasks.json中需要加上“-std=c++11”这个参数表示支持c++11标准

重点:将pytorch的头文件TH.h等加入到C++的编译路径

1. 软链接的方式

  • 找到c++编译器的路径,本人的在/usr/include/c++/9/, 可以通过一下命令找到位置:
locate iostream
  • 找到pytorch的拓展TH.h所在的位置,命令:locate TH.h 或者find -name TH.h,如下是本人的:
/home/yunjie/.local/lib/python3.8/site-packages/torch/include/ATen/core/UnsafeFromTH.h
/home/yunjie/.local/lib/python3.8/site-packages/torch/include/TH/TH.h
/home/yunjie/anaconda3/lib/python3.10/site-packages/torch/include/ATen/core/UnsafeFromTH.h
/home/yunjie/anaconda3/pkgs/pytorch-1.12.1-cpu_py310hb1f1ab4_1/lib/python3.10/site-packages/torch/include/ATen/core/UnsafeFromTH.h
/usr/share/doc/info/html/INFOPATH.html

这里因为有多个conda环境所以有多个TH.h

  • 建立软链接,
sudo ln -s /home/yunjie/.local/lib/python3.8/site-packages/torch/include/ATen /usr/include/c++/9/    # 可能要sudo,不加可能权限不够

2. 在.bashrc中添加环境变量

  • 在~/.bashrc中为c++添加环境变量,具体语句如下:
export CPLUS_INCLUDE_PATH=/home/yunjie/.local/lib/python3.8/site-packages/torch/include/:$CPLUS_INCLUDE_PATH     # 改为自己的位置就行

添加完成之后,好像一定要重启,不然无法导入。

测试

直接上代码,如果编译能通过则没有问题。

#include <TH/TH.h>      // pytorch的头文件
#include <math.h>
#include <iostream>

int main(int argc, char const *argv[])
{
    std::cout << "chenjun" << std::endl;
    return 0;
}

以上代码只是在普通的c++代码中,导入了pytorch的头文件。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值