1,下载libtorch
(cuda版本与libtorch版本必须保持一致)
2,在Clion设置 C++编译平台
在Toolchains中配置visual studio的msvc编译
注意用户设备操作系统为32位还是64位
3, 编写CMakeLists.txt
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${ProjectId})
#list(APPEND CMAKE_PREFIX_PATH D:/clion/package/libtorch)
# 这里指定的话不必将Torch的路径加入环境变量
find_package(Torch REQUIRED)
message(STATUS "torch status: ${TORCH_FOUND}")
message(STATUS "torch library: ${TORCH_LIBRARIES}")
message(STATUS "TORCH_INSTALL_PREFIX: ${TORCH_INSTALL_PREFIX}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
add_executable(${ProjectId} torch_exam.cpp)
target_link_libraries(${ProjectId} "${TORCH_LIBRARIES}")
set_property(TARGET ${ProjectId} PROPERTY CXX_STANDARD 17)
if (MSVC)
file(GLOB TORCH_DLLS "${TORCH_INSTALL_PREFIX}/lib/*.dll")
add_custom_command(TARGET ${ProjectId}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${TORCH_DLLS}
$<TARGET_FILE_DIR:${ProjectId}>)
endif (MSVC)
4、编写测试代码
//
// Created by zzh on 2024/8/9.
//
#include <torch/torch.h>
#include <iostream>
int main() {
torch::Tensor tensor = torch::rand({2, 3});
std::cout << tensor << std::endl;
}