Qt 使用 LibTorch

18 篇文章 0 订阅
8 篇文章 0 订阅

Qt 使用 LibTorch

qmake

官网下载 LibTorch 预编译版本

修改 .pro

CONFIG += c++14

QMAKE_CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0
CONFIG += no_keywords

INCLUDEPATH += \
    <path-to-libtorch-folder>/libtorch/include \
    <path-to-libtorch-folder>/libtorch/include/torch/csrc/api/include

LIBS += \
    -L<path-to-libtorch-folder>/libtorch/lib \
	-ltorch \
    -ltorch_cpu \
    -lc10 \
    -lc10_cuda \
    -lcaffe2_nvrtc \
    -lcpuinfo \
    -lprotobuf \
    -lprotobuf-lite \
    -lprotoc \
    -lcaffe2_module_test_dynamic \
    -lcaffe2_detectron_ops_gpu

修改 include 方式

#undef slots
#include <torch/torch.h>
#define slots Q_SLOTS

若没有

#include <QObject>

可以不作修改

cmake

官网下载LibTorch 预编译版本

创建 Qt 项目

Non-Qt Project
CMake

修改 CmakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(<project_name> LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(Torch_DIR <path-to-libtorch-folder>/libtorch/share/cmake/Torch)
find_package(Torch REQUIRED)

FILE(GLOB SC_FILES "*.cpp" "*.h")
add_executable(${PROJECT_NAME} ${SC_FILES})

target_link_libraries(${PROJECT_NAME} "${TORCH_LIBRARIES}")
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)

测试代码

#include <torch/torch.h>
#include <iostream>

using namespace std;

int main()
{
    torch::Tensor tensor = torch::eye(3);
    cout << tensor << endl;
}
 1  0  0
 0  1  0
 0  0  1
[ CPUFloatType{3,3} ]
按 <RETURN> 来关闭窗口...

include 头文件选择

若仅需要推理,则只需要这一个头文件

#include <torch/script.h>

尽情享用吧~

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值