VS2017 libTorch cpu 环境搭建

2023-11-10

C++ libTorch cpu 环境搭建

一、下载libTorch

下载地址:Start Locally | PyTorch

可以在图中选择下载cuda版本或cpu版本的。

以CPU Release版本的libTorch为例,下载地址为:

https://download.pytorch.org/libtorch/cpu/libtorch-win-shared-with-deps-1.11.0%2Bcpu.zip

以CPU Debug版本的libTorch为例,下载地址为:

https://download.pytorch.org/libtorch/cpu/libtorch-win-shared-with-deps-debug-1.11.0%2Bcpu.zip

如果网址打不开,也可以在csdn中下载,地址为:

C++libTorchcpudebug版本-深度学习文档类资源-CSDN下载

C++libTorchcpudebug版本-深度学习文档类资源-CSDN下载(release版本,文件夹名称有误)

二、libTorch配置

1、解压下载下来的文件夹,解压结果如下图所示。

2、新建项目,配置项目属性,注意选择debug或者release,与下载的版本相对应。下面以release为例。

2.1 打开项目属性,设置环境为release x64。

2.2 配置属性->C/C++->常规->附加包含目录:添加libtorch头文件。

D:\libtorch\include;
D:\libtorch\include\torch\csrc\api\include;

2.3 配置属性->C/C++->常规->SDL检查:设置为否。

2.4 配置属性->C/C++->常规->符合模式:设置为否。

2.5 配置属性->链接器->输入->附加依赖项:添加链接库。注意,如果是debug环境,libprotobuf.lib需替换为libprotobufd.lib

c10.lib
libprotobuf.lib
torch.lib
torch_cpu.lib

2.6 配置属性->链接器->常规->附加库目录:添加lib路径

D:\libtorch\lib

2.7 配置完成后运行示例程序会提示找不到相应的dll,那么可以将上述lib中的dll拷贝至项目文件夹下,或者将上述lib路径添加到环境变量中。

三、测试代码

#include "torch/torch.h"
#include "torch/script.h"

int main()
{
    torch::Tensor output = torch::randn({ 3,2 });
    std::cout << output;

    return 0;
}

四、运行结果

-1.8589  3.4430
 0.0199 -0.4508
-0.2477 -1.3934
[ CPUFloatType{3,2} ]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS2017 libTorch cpu 环境搭建 的相关文章

  • 为什么在连接两个字符串时 Python 比 C 更快?

    目前我想比较 Python 和 C 用来处理字符串的速度 我认为 C 应该比 Python 提供更好的性能 然而 我得到了完全相反的结果 这是 C 程序 include
  • 适合初学者的良好调试器教程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有谁知道一个好的初学者教程 在 C 中使用调试器 我感觉自己好像错过了很多 我知道怎么做 单步执行代码并查看局部变量 虽然这常常给我带来问
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 使用 LINQ to SQL 时避免连接超时的最佳实践

    我需要知道在 net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳实践 特别是在返回时IQueryable
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re

随机推荐

  • HBase集群升级, 通过HBase rpm 或 tar包形式(以HDP 为例,包含 升级及HBCK2 介绍和使用)

    目录 1 前言 2 编译 HBase 报错处理 Caused by java lang AbstractMethodError org apache hadoop hbase ipc RpcScheduler getMetaPriority
  • 小程序中安装@vant依赖

    大家好 我是雄雄 今天给大家分享一篇 关于小程序中如何安装 vant依赖 小程序中安装 vant依赖 cd miniprogram npm i vant weapp S production 将node modules文件夹下面的 vant
  • 用GPT-4 写2022年天津高考作文能得多少分?

    正文共 792 字 阅读大约需要 3 分钟 学生必备技巧 您将在3分钟后获得以下超能力 积累作文素材 Beezy评级 B级 经过简单的寻找 大部分人能立刻掌握 主要节省时间 推荐人 Kim 编辑者 Linda 图片由Lexica 生成 输入
  • 一步一步学Qt(Qt Quick)/qml 开发第五篇(第一个可视的应用)

    现在我们开始仿照官网的demo做一个小东西 开始之前先看效果图 android如下 下面开始正文 因为在开始搞这个demo的时候 我遇到一个问题 所以为了避免这个 我将从创建项目开始 OK 废话不多说 第一步 打开你的QtCreator 选
  • SSH框架整合教程

    工程目录结构如下 本工程只介绍SSH整合的基本流程 所以没有写接口 1 导入jar包
  • CISSP-安全与风险管理

    安全管理 安全治理 Management 管理 管理者为了达到特定目的而对管理对象进行的计划 组织 指挥 协调和控制的一系列活动 governance 治理 治理是或公或私的个人和机构进行经营 管理相同事务的诸多方式的总和 安全治理是支持
  • mysql和sqlServer备份表以及表字段同步sql语句

    前言 要备份的表 old tablename 新表 new table name sql创建出新的表 old tablename ddl如下 CREATE TABLE exe type EXE TYPE ID int NOT NULL AU
  • 有趣的代码:一行Python代码能干嘛?

    前言 python有很多优雅有趣的代码写法 同时还很简短 以至于当我刚开始接触这个编程语言的时候 就爱不释手 而前几天的编程语言榜单中python也超越了java成为了第一 挺替python开心的 python到底有多有趣呢 一行代码告诉你
  • 版本号校验 例如V0.0.0.1和V0.0.0.2

    版本号比较 param v1 param v2 return 0代表相等 1代表左边大 1代表右边大 public int compareVersion String v1 String v2 v1 v1 substring 1 v1 le
  • Go学习教程大纲

    以下是Go学习教程的大纲 第一部分 基础知识 Go简介 什么是Go Go的历史和发展 Go的特点和优势 开发环境的搭建 安装Go编译器 配置开发环境 第一个Go程序 Hello World程序 程序的结构 编译和运行程序 数据类型和变量 基
  • 【拆盲盒啦】摸鱼时间到! iPhone 12、AirPods Pro、罗技鼠标等你拆~

    喜迎开学季 C 站开豪礼 最高可开 iphone 12 盲盒开出的不只是一份礼物 更是对于一切美好的期待 拆开一个盲盒 就像开始一场未知的爱丽丝梦游仙境 为 两点一线 朝九晚九 的生活 埋下一刻期待的种子 去收获一份未知的惊喜 这次 价格再
  • C++面向对象求圆的周长和面积

    include
  • 物联网上行数据实现tcp 负载均衡和高可用架构 nginx + keepalived方案

    文章目录 需求介绍 架构设计 具体配置 nginx 配置 keepalived 配置 需求介绍 之前有做过一个物联网设备接入的项目 项目中会启动一个数据接入服务 TCP server 用来接收传感器设备上传的数据 数据接入服务需要分布式部署
  • 文件系统的基本认知笔记

    1 什么是文件系统 常规认知 Linux下的根目录 文件系统是操作系统用于明确存储设备 常见的是磁盘 也有基于NAND Flash的固态硬盘 或分区上的文件的方法 即在存储设备上组织文件的方法 这种所谓的方法就是文件管理系统 程序 简称文件
  • Mac下使用Git和Git客户端

    先到git官网 https git scm com download 下载安装 这里的git服务器使用本地虚拟机centos来模拟 创建一个用户 名为gitter 用于专门管理git相关 adduser gitter passwd gitt
  • 飞翔的圆(Flappy Bird)游戏源码完整版

    这个源码是一个不错的休闲类的游戏源码 飞翔的圆 Flappy Bird 游戏源码V1 0 本项目是一个仿Flappy Bird的小游戏 只不过是把Flappy Bird里面的鸟替换成了简单的圆 感兴趣的朋友可以研究一下 本项目默认编码GBK
  • 【Ubuntu安装 Nginx】

    ubuntu安装nginx 目前支持两种安装方式 一种是apt get的方式 另一种是根据包安装的方式 为方便我统一使用root用户 一 apt get安装nginx 切换至root用户 sudo su root apt get insta
  • C语言深度剖析——bool类型,浮点数相等比较。

    目录 序言 一 bool类型 1 C语言中到底有没有bool类型 2 VS中的BOOL类型 二 浮点数与 0 比较 1 浮点数的精度缺失 2 浮点数判断相等解决方案 3 判断浮点数是否为 0 最后 序言 C语言中有很多类型 但是bool我们
  • 【AI人工智能】 最强大的语言模型镜像 使用起来真的太方便了! 真的要解放代码思维了吗?

    个人主页 极客小俊 作者简介 web开发者 设计师 技术分享博主 希望大家多多支持一下 我们一起进步 如果文章对你有帮助的话 欢迎评论 点赞 收藏 加关注 前言 AI 在某些基础应用领域可以帮助你减少很多工作量 很强大哦 嘿嘿 优点 这玩意
  • VS2017 libTorch cpu 环境搭建

    C libTorch cpu 环境搭建 一 下载libTorch 下载地址 Start Locally PyTorch 可以在图中选择下载cuda版本或cpu版本的 以CPU Release版本的libTorch为例 下载地址为 https