首页 > 其他分享 >libtorch win10上使用

libtorch win10上使用

时间:2024-10-25 22:47:59浏览次数:4  
标签:TORCH app torch libtorch 使用 win10 home example

目录

说明

libtorch使用MSVC编译,需要本机安装,并在IDE中使用MSVC工具链。

下载官方libtorch包,或者本机安装了python环境,并且安装了pytorch。(pytorch核心是c++编写的,pytorch包含了libtorch的所有内容)

编译最好使用与libtorch相同的版本,debug/release,避免各种链接问题。下面的配置中是读取的torch_home环境变量进行获取的libtorch包目录,可以手动配置。

如果是python环境安装的pytorch,可以在python中使用以下方式获取torch_home:

import torch
print(torch.utils.cmake_prefix_path)

配置CMakeLists.txt:

set(torch_home $ENV{torch_home})

find_package(Torch 2.2.1 REQUIRED HINTS ${torch_home})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")

add_executable(example-app example-app.cpp)
#add_library(example-app SHARED example-app.cpp)
target_link_libraries(example-app "${TORCH_LIBRARIES}")
set_property(TARGET example-app PROPERTY CXX_STANDARD 17)

# The following code block is suggested to be used on Windows.
# According to https://github.com/pytorch/pytorch/issues/25457,
# the DLLs need to be copied to avoid memory errors.
if (MSVC)
    message("MSVC, torch home:" ${TORCH_INSTALL_PREFIX})
    file(GLOB TORCH_DLLS "${TORCH_INSTALL_PREFIX}/lib/*.dll")
    add_custom_command(TARGET example-app
            POST_BUILD
            COMMAND ${CMAKE_COMMAND} -E copy_if_different
            ${TORCH_DLLS}
            $<TARGET_FILE_DIR:example-app>) # 放入目标所在的目录
endif (MSVC)

example-app.cpp

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

int main() {
    torch::Tensor tensor = torch::rand({2, 3});
    std::cout << tensor << std::endl;
}

标签:TORCH,app,torch,libtorch,使用,win10,home,example
From: https://www.cnblogs.com/bingmous/p/18503396

相关文章

  • Markdown语法详解及常见的使用场景
    Markdown语法详解Markdown概念一、标题二、段落三、字体样式四、列表五、链接和图片六、代码八、分隔线九、引用十、删除线和下划线十一、脚注十二、任务列表十三、高级技巧十四、目录生成Markdown的应用场景Markdown概念Markdown是一种轻量级标记语言,以其简洁、......
  • caffe为什么要使用lmdb数据库
    caffe要使用lmdb数据库的原因有:1、性能高;2、安全性好;3、空间利用率高。LMDB采用内存映射(Memory-Mapped)的方式,可以快速读取和写入大量数据。Caffe选择LMDB作为数据存储的方式,主要是因为LMDB的高性能和高空间利用率。在深度学习训练过程中,需要频繁读取和写入大量数据,LMDB的内存映射......
  • Laravel开发:如何使用Laravel Excel处理Excel文件
    ​​在Laravel项目中,处理Excel文件通常是一项经常性的任务。本文将教你如何使用LaravelExcel扩展包进行Excel的导入、导出和操作:1.安装LaravelExcel扩展包;2.导入Excel数据到数据库;3.从数据库导出数据到Excel;4.操作Excel文件中的数据。首先,我们需要安装和配置LaravelExcel......
  • 如何使用Service Workers_1
    使用ServiceWorkers的步骤:1.了解ServiceWorkers;2.检查浏览器支持;3.注册ServiceWorker;4.创建ServiceWorker文件;5.安装和激活ServiceWorker;6.拦截和处理请求;7.测试ServiceWorker等。首先,要了解ServiceWorkers是什么以及它们的作用。1.了解ServiceWorkers首先,要......
  • VUE使用什么连接并搭建搭建本地数据库
    VUE连接并搭建搭建本地数据库需要一些项目:vue-cli2全局安装npminstallvue-cli-g局部安装项目vueinitwebpack项目名称例如:vueinitwebpackdemo1二、express-generator1.全局安装npminstallexpress-generator-g2.express–view=ejs。局部安装项目。vueinitwebpack项......
  • 在 PowerShell 中使用 dir | % { $_.CreationTime } 可以列出当前目录中所有文件和文
    在PowerShell中使用dir|%{$_.CreationTime}可以列出当前目录中所有文件和文件夹的创建时间。这里的%是ForEach-Object的简写,$_表示当前对象。如果你想要以更友好的格式输出这些创建时间,可以使用以下命令:powershellCopyCodedir|ForEach-Object{$_.CreationTi......
  • Autohotkey脚本bug.n(窗口管理器)怎样使用
    使用AutoHotkey脚本bug.n(窗口管理器)的步骤:一、安装AutoHotkey;二、下载并安装bug.n;三、创建bug.n配置文件;四、编写bug.n脚本;五、运行bug.n脚本等。安装AutoHotkey是指,首先要在计算机上安装AutoHotkey软件,它是一个免费且强大的自动化脚本语言,用于创建自定义的快捷键和脚本。一、......
  • 【STC8H】使用ADC第15通道测量外部电压及电池电压详解
     STC8H系列ADC的第15通道用于测量内部参考信号源,由于内部参考信号源很稳定,约为1.19V,且不会随芯片的工作电压的改变而变化,所以可以通过测量内部1.19V参考信号源,然后通过ADC的值便可反推出外部电压或外部电池电压。以下是如何设置和读取ADC第15通道的详细步骤: 1......
  • 如何在Swoole中使用协程实现高并发的swoole_smtp函数
    ​使用Swoole的协程功能可以高效地处理大量的并发请求。本文详细介绍如何在Swoole中通过协程实现高并发的swoole_smtp函数。我们将依次探讨:1.什么是Swoole和协程;2.swoole_smtp函数的基础知识;3.协程如何增强swoole_smtp的并发性能;4.具体的实现步骤;5.实践中的注意事项。1.什么是S......
  • 如何使用Amazon S3存储和检索数据
    摘要在使用AmazonS3存储和检索数据时,需要做到以下三点:1、创建并配置S3桶;2、上传和管理文件;3、实现文件的获取和分发。创建并配置S3桶是基础步骤,在AmazonS3中,桶是容纳数据的基本容器。Usersneedtoselecttheappropriateregiontooptimizeperformanceandcompliance,and......