pytorch c++部署编译?libtorch库加载报错?

pytorch有几个优点:

(1)强大的python接口,便于实验,比起tensorflow方便

(2)动态图计算,写网络就像写普通的加减乘除表达式一样,灵活组建网络,便于调试,mxnet等frame work也借鉴了这种模式,在这鄙视一下tensorflow,久久不支持动态图,直到去年2.0才效仿了动态图,美其名曰eager execution.

 

pytorch的c++接口也发布了(libtorch),便于c++平台环境和使用条件下的部署,但是,如果你是从官网上直接下载的release版本的话,有可能在你的系统下不能运行,libtorch.so根本就加载不成功,报错(还没到进入main函数就退出(ง •̀_•́)ง),主要原因是,本地的gcc版本太低,glibc版本低.

那么,两种方法解决:

(1)升级gcc版本:

pytorch实际是推荐最低编译要求是gcc4.9,但我的gcc版本是4.8.5

推荐使用scl方式升级,不会影响原有的系统和gcc,而且方便升级,例如:

yum install centos-release-scl -y

yum install devtoolset-3-toolchain -y // 此处是升级到gcc4.9.2

升级成功后,执行如下命令,切换gcc版本:

scl enable devtoolset-3 bash // 切换到4.9.2

但是我试了,libtorch.so还是加载失败,索性升级到5.3.1,问题解决:

yum install centos-release-scl -y

yum install devtoolset-4-toolchain -y // 此处是升级到gcc5.3.1

scl enable devtoolset-4 bash // 切换到5.3.1

(2)改用gcc4.8.5编译:

有时候,升级gcc的话,也比较不方便,即便是scl方式升级,因为生产环境的gcc都是4.8.5,不方便scl enable切换,那么我们可以直接用gcc4.8.5,从pytorch源码编译libtorch.

编译详见文档:https://github.com/pytorch/pytorch/blob/master/docs/libtorch.rst

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seasermy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值