Qt pytorch libtorch配置

部署运行你感兴趣的模型镜像

新建 libtorch.pri

在libtorch的根目录中,新建libtorch.pri (名字随便起)
在这里插入图片描述

libtorch.pri 内容如下:

INCLUDEPATH += "C:/libtorch/include"
INCLUDEPATH += "C:/libtorch/include/torch/csrc/api/include"
LIBS += "C:/libtorch/lib/*.lib"

QMAKE_LFLAGS += -INCLUDE:?warp_size@cuda@at@@YAHXZ
QMAKE_LFLAGS += -INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z
QMAKE_LFLAGS += /machine:x64

添加环境变量

在这里插入图片描述

工程中使用

在这里插入图片描述

示例

在这里插入图片描述

避免报错

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

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

Qt 项目中配置 LibTorchPyTorchC++ 前端)需要对 CMake 配置进行适当调整,以确保项目能够正确找到 LibTorch 的头文件和库文件。以下是一个完整的配置流程说明: ### 配置步骤 #### 1. 下载 LibTorch 前往 [PyTorch 官方网站](https://pytorch.org/) 下载适合你平台的预编译 LibTorch 包。确保选择的版本与你的编译器和构建配置(如 Debug/Release)兼容。 #### 2. 解压 LibTorch 将下载的 LibTorch 包解压到一个已知路径,例如 `C:/libtorch` 或 `/home/user/libtorch`。 #### 3. 修改 CMakeLists.txt 在 Qt 项目的 `CMakeLists.txt` 文件中添加以下内容,以包含 LibTorch 的头文件路径和链接库: ```cmake # 设置 LibTorch 路径 set(LIBTORCH_DIR "C:/libtorch") # 替换为你的 LibTorch 解压路径 # 包含 LibTorch 头文件 include_directories(${LIBTORCH_DIR}/include) include_directories(${LIBTORCH_DIR}/include/torch/csrc/api/include) # 链接 LibTorch 库 link_directories(${LIBTORCH_DIR}/lib) # 添加可执行文件目标 add_executable(QtCMakeTest ${PROJECT_SOURCES} ${PROJECT_HEADERS_MOC} ${PROJECT_UI_UIC}) # 根据引用[^2]中的结构进行调整 # 链接 LibTorch 的库文件 target_link_libraries(QtCMakeTest PRIVATE ${LIBTORCH_DIR}/lib/torch.lib ${LIBTORCH_DIR}/lib/c10.lib ) ``` #### 4. 设置 CMake 配置选项 在 Qt Creator 中设置 CMake 的路径以确保其能找到 LibTorch配置。打开 Qt Creator,进入 `Preferences -> Build, Execution, Deployment -> CMake`,并在 `CMake options` 中添加以下内容(根据引用[^4]): ``` -DCMAKE_PREFIX_PATH=C:/libtorch/lib/cmake ``` #### 5. 设置构建类型 确保构建类型与 LibTorch 的构建版本一致(如 Release 或 Debug)。在 CMake 配置中添加: ```cmake set(CMAKE_BUILD_TYPE "Release") # 或 "Debug",根据引用[^5]中的建议 ``` #### 6. 构建项目 点击 Qt Creator 中的“构建”按钮,确保项目能够正确找到 LibTorch 并完成链接。 ### 示例代码 以下是一个简单的使用 LibTorchQt 项目代码示例: ```cpp #include <QApplication> #include <torch/torch.h> #include <iostream> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建一个简单的张量 torch::Tensor tensor = torch::rand({2, 3}); std::cout << "A random tensor:\n" << tensor << std::endl; return app.exec(); } ``` ### 注意事项 - 确保 LibTorch 的构建架构(如 x86/x64)与 Qt 项目使用的编译器一致。 - 如果遇到链接错误,请检查 `target_link_libraries` 中的库路径是否正确。 - 如果使用 MinGW 编译器,请确保 LibTorch 是为 MinGW 构建的,否则可能会出现兼容性问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

developer_wgl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值