alike-cpp 编译

news2024/9/22 9:42:09

1. 源码链接:

https://github.com/Shiaoming/ALIKE-cpp

2.已经安装好显卡驱动,cuda,cudnn,没安装的参考:

切记装cuda-11.x的版本,最好cuda11.3的版本

ubuntu重装系统后,安装cuda,cudnn-CSDN博客

3.安装opencv

下载所需要的版本,camke 安装即可

4.libtorch

官网给出了下载链接(用这个最好):https://download.pytorch.org/libtorch/cu113/libtorch-cxx11-abi-shared-with-deps-1.11.0%2Bcu113.zip

但是只支持cuda11.3的版本,由于系统是ubuntu 22.04,无法安装cuda11.3的版本,我这里是安装的cuda11.8的版本,需要pytorch的支持的版本也是11.8的,找到libtorch的下载网址:https://download.pytorch.org/libtorch/cu118,其他版本可参考:清华源和torch源_torch清华源-CSDN博客

将CMakeLists.txt中的torch路径指定到刚才下载的版本上:

set(Torch_DIR "/xx/libtorch/share/cmake/Torch")

然后开始编译:

mkdir build

cd build

cmake ..

make

编译完成后运行时报错:

terminate called after throwing an instance of 'c10::CUDAError' what(): CUDA error: an illegal memory access was encountered CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.

应该是torch版本不兼容,我下载的是torch2.0.0+cu118,应该用torch1.11.0+cu118, 

这里不要用cuda12以上的版本,编译很浪费时间,直接换成cuda-11.x的版本,别问我怎么知道的

5.下载pytorch源码进行编译

参考:【libtorch】pytorch源码编译生成c++ 17 libtorch记录_libtorch编译-CSDN博客

(1)先下载pytorch源码,不要从官网下载source,里面third_party中的内容还要单独下载,直接用下面的命令下载:

git clone https://github.com/pytorch/pytorch.git

(2)切换到libtorch版本对应tag

cd pytorch
git tag -l *1.11.0*        // git tag查看版本,git tag -l搜索特定版本的tag
git checkout v1.11.0    // 切换到特定tag的代码    

(3)更新所有显示modified的submodule

git submodule sync
git submodule update --init --recursive

(4)cmake 安装:

cd pytorch
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/libtorch -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_STANDARD_REQUIRED=ON -D USE_CUDA=ON -D USE_CUDNN=ON -DCMAKE_CUDA_ARCHITECTURES=86 ..
make -j4
make install

将CMakeLists.txt中的torch路径指定到刚才编译的版本上即可:

set(Torch_DIR "/opt/libtorch/share/cmake/Torch")

(5)编译时提示:

可忽略,也可参考:cmake配置libtorch报错Failed to compute shorthash for libnvrtc.so-CSDN博客,在CMakeLists.txt最开始加上find_package(PythonInterp REQUIRED)

(6)运行: ./demo 图像文件夹目录 模型 --cuda

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1927430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE5.4新功能 - MotionDesign上手简介

MotionDesign是UE中集成的运动图形功能,我们在游戏中经常会见到,例如前方漂浮于空中的若干碎石,当玩家走进时碎石自动吸附合并变成一条路,或者一些装饰性的物件做随机运动等等,在引擎没有集成运动图形时,这…

《0基础》学会Python——第九讲

函数 一、函数的定义: 指在程序中创建一个独立的代码块,用于完成特定的任务或执行特定的操作。函数通常接收输入参数,并返回输出结果。通过定义函数,可以将复杂的程序分解成更小的模块,提高代码的可读性和可维护性。 …

【密码学】密码学数学基础:群的定义

一、群的定义 在密码学中,群(Group)的概念是从抽象代数借用来的,它是一种数学结构,通常用于描述具有特定性质的运算集合。 群的定义 群定义中的几个关键要素: 集合:首先,群是由一系…

一文了解SpringCloud

Springcloud 什么是Springcloud? 官网:Spring Cloud Data Flow Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控…

保姆级教程--容器化部署prometheusd监控系统(yaml文件、docker命令均有详细解释、大白话描述服务作用、适合小白)

文章目录 前言用到的服务简述容器化部署prometheus的优势 环境一、安装docker二、容器化构建Prometheus监控系统1 部署Prometheus2.部署grafana 三、prometheus监控其他主机1.部署docker补充、如何查找仪表盘 前言 用到的服务简述 Prometheus:这是一个开源的监控系…

使用Copilot 高效开发繁忙的一天

在现代软件开发的世界里,使用AI工具如GitHub Copilot可以显著提高开发效率。 早晨:规划与启动 7:00 AM - 起床与准备 开发者早早起床,享用健康的早餐,并浏览新闻和技术博客,了解最新的科技动态。快速整理思路&#x…

WordPress:无法创建新文章?创建新帖子时候页面空白

wordPress中我们新建文章的时候,会遇到页面空白,这个问题是怎么导致呢?我们可以打开F12开发者模式看下报错信息,这是一个警告信息 Warning: Creating default object from empty value in /pub 到数据库 wp_posts中查看生成了很…

网络配置命令

文章目录 一、查看网络接口信息 ifconfig1.1 网络接口名称1.2 使用 ifconfig 查看网络接口信息1.2.1 输出示例1.2.2 输出解释 1.3 查看特定网络接口信息1.3.1 输出示例 1.4 查看所有网络接口信息1.5 特殊网络接口 二、修改网络配置文件2.1 配置文件示例2.2 使配置生效2.3 关闭 …

【07】分布式事务解决方案

1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有ACID四个特性:原子性、一致性、隔离性、持久性。任何事务机制在实现时,都应该考虑事务…

【Nuxt3】vue3+tailwindcss+vuetify引入自定义字体样式

一、目的 在项目中引入自定义的字体样式(全局页面都可使用) 二、步骤 1、下载好字体 字体的后缀可以是ttf、otf、woff、eot或者svg(推荐前三种) 以抖音字体为例下载好放在静态文件夹(font)下 案例字…

Python for循环while循环实战: 原神加载画面

原神加载画面在我们看起来是能一直运行的,实际上,它就是用了循环。今天,我们来模拟一下。 我们用123、234、345、456分别代表四个画面,结果是这样的。 这是代码: a [123, 234, 345, 456] while True:for i in a:pri…

python获取豆瓣评分9分以上的电影

我想生成的文件用excel保存,所以得安装一下这个 pip install pandas openpyxl代码 import requests import pandas as pd# 模拟浏览器请求头 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91…

轻空间强势维护知识产权,捍卫气膜声学专利

在当前创新驱动的时代,知识产权已成为企业核心竞争力的重要组成部分。轻空间,作为一家以技术创新为驱动的公司,一直致力于为客户提供高质量的气膜建筑产品和服务。近期,我们注意到有不法分子冒用苏州大学多功能气膜综合馆项目的名…

springboot 适配ARM 架构

下载对应的maven https://hub.docker.com/_/maven/tags?page&page_size&ordering&name3.5.3-alpinedocker pull maven:3.5.3-alpinesha256:4c4e266aacf8ea6976b52df8467134b9f628cfed347c2f6aaf9e6aff832f7c45 2、下载对应的jdk https://hub.docker.com/_/o…

Ceph集群部署(基于ceph-deploy)

目录 部署Ceph集群的方法 Ceph生产环境推荐 部署Ceph实验(基于ceph-deploy) 一、准备工作 二、环境准备 1.关闭selinux与防火墙 2.修改主机名并且配置hosts解析映射 3.admin管理节点配置ssh免密登录node节点 4.安装常用软件和依赖包 5.配置时间…

【全网最全最详细】Spring与SpringBoot最新面试题

目录 一、Spring框架概述 1.1 什么是Spring? 1.2 spring优点有哪些? 二、IOC与DI 2.1 你知道getBean方法的有几种重载方式吗? 2.2 Spring有几种依赖注入方式? 2.3 为什么Spring不建议使用字段注入方式? 2.4 B…

数据结构_顺序表专题

何为数据结构? 咱今天也来说道说道...... 数据结构介绍 准确概念 数据结构就是计算机存储、组织数据的方式 概念分析 从上句分析,数据结构是一种方式。一种管理数据的方式。为了做什么?为的就是计算机存储数据,组织数据。 …

docker部署seata 2.0.0

环境准备 当前使用的环境: MySQL:8.0 nacos:2.2.3 关于如何在docker中部署nacos 2.2.3,请参考之前文章: docker部署nacos 2.2.3 拉取镜像 docker pull seataio/seata-server:2.0.0查看nacos、mysql、宿主机的ip d…

探索Facebook:数字社交的魔力源泉

在当今信息爆炸和全球互联的时代,社交媒体平台成为了人们生活中不可或缺的一部分。而在这些平台中,Facebook无疑是最具影响力和创新性的代表之一。自2004年成立以来,Facebook不仅改变了人们的沟通方式,更通过不断的技术创新和用户…

Oracle查询超时问题,聊聊思路!

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…