Ubuntu24.04配置STMTrack
项目地址:https://github.com/fzh0917/STMTrack
一、安装 CUDA
参考链接:
Ubuntu24.04配置DINO-Tracker
Ubuntu多CUDA版本安装及切换
由于之前在其他项目中已经安装了 CUDA12.1,这次需要安装另一个版本。
1. 查看安装版本
按照 requirement.txt 中的要求,CUDA的版本为10.0,torch版本高于1.4。在 pytorch 官网上查看对应版本:
这里可以看到 pytorch1.4 对应 torchvision0.5,对应 CUDA10.1。
2. 安装CUDA
1) 下载安装包
下载地址: https://developer.nvidia.com/cuda-toolkit
历史版本下载地址: https://developer.nvidia.com/cuda-toolkit-archive
依次执行两条指令。
安装过程中如果提示 gcc 版本不匹配导致安装失败,需要在指令后添加--override
。
安装过程中注意不安装驱动,提示“A symlink already exists at /usr/local/cuda. Update to this installation?”
选择 No。
2) 创建软链接
参考链接:
anzhuang
Ubuntu多CUDA版本安装及切换
由于我电脑中已经存在了一个 12.1 版本,CUDA 软链接是指向 12.1 的。上面那个选项选了 yes 会改变 CUDA 的软链接。
- 查看当前使用的 CUDA版本
在/usr/local
路径下通过stat cuda
命令查看当前使用的 CUDA 版本: - 删除原本的 CUDA 软链接
sudo rm -rf /usr/local/cuda
- 建立新的指向 CUDA-10.1 的软链接
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda
-
重新查看当前 CUDA 版本
-
检查是否添加到环境变量
sudo gedit ~/.bashrc
在最后确认有没有下面这几行内容
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
如果没有,将其添加到~/.bashrc
的最后,然后运行命令
source ~/.bashrc
使配置的环境变量生效。
3. 安装 cudnn
1) 下载对应版本cudnn
官网
2) cd到cudnn所在的文件夹下进行解压等操作:
tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h /usr/local/cuda-10.0/lib64/libcudnn*cd /usr/local/cuda-10.0/lib64/
sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7
4. 新建环境
conda create -n STMTrack python=3.7 -y
conda activate STMTrack
二、安装 torch
参考链接:
- Ubuntu18.04+Cuda10.1+Python3.6 下安装 PyTorch1.4.0+torchvision0.5.0,成功安装torch1.4.0和torchvision并解决安装速度过慢
- ubuntu linux安装pytorch和torchvision
1. 添加镜像源安装(失败)
2. 使用 whl 文件安装(成功)
1) 下载镜像
镜像网址:https://download.pytorch.org/whl/torch_stable.html
2) 安装
在whl文件目录打开终端,输入:
pip install torch-1.4.0+cu100-cp36-cp36m-linux_x86_64.whlpip install torchvision-0.5.0+cu100-cp36-cp36m-linux_x86_64.whl
3) 检查是否安装成功
pythonimport torch
print(torch.version.cuda)
print(torch.backends.cudnn.version())
三、安装其他库
在项目地址打开终端,运行:
pip install -r requirements.txt
四、实验设置
参考链接:
- 把STMTrack跑起来
- CVPR2021跟踪算法STMTrack的配置
1. 预训练模型下载
在got上训练的https://drive.google.com/file/d/1AT6SAieig8oNQ-MJ6dUhCfgYCyJEdxfj/view
在全部数据集上训练的https://drive.google.com/file/d/1w7nhGZR53FQnh3fVbIcbj08hxa2Zjvub/view
将下载的预训练模型放入工程目录下新建的pretrain_model
路径中
2. 其他设置
- 在
STMTrack-main/experiments/stmtrack/test/
目录下对 otb,uav,got 等数据集进行配置,以 uav 为例,打开STMTrack/experiments/stmtrack/test/UAV123/stmtrack-googlenet-uav123.yaml
1). 更改预训练模型所在路径
pretrain_model_path: "/root/STMTrack/epoch-19_fulldata.pkl"
,注意冒号与双引号之间有一个空格,提醒一下,要看一下原来文件中的与训练文件写的是 fulldata.pk1 还是 gotdata.pk1,改成对应文件的路径
2). 更改 device_num
好像是可用于计算任务的 GPU 数量,这里原代码中为10,我改为了1,可以通过以下方式在终端查询:
python
import torch
print(torch.cuda.device_count())
3). 添加数据集所在路径
在yaml 文件的最后一行添加数据集的路径 data_root: “数据集的绝对路径”
4). 下载 uav123.json 和 lasot.json
链接:git clone https://github.com/megvii-research/video_analyst/tree/master/videoanalyst/evaluation/got_benchmark/datasets 。
下载好后放入/videoanalyst/evaluation/got_benchmark/datasets
3.测试代码
在终端输入:
python main/test.py --config testing_dataset_config_file_path
或直接在test.py
中添加默认 config 路径。
五、问题
RuntimeError: CUDA error: no kernel image is available for execution on the device
经过查阅,大部分帖子都说是 CUDA 版本和 torch 版本不匹配造成的,但我这个应该是匹配的:
python
import torch
print(torch.__version__)
# 显示torch和cuda版本
print(torch.cuda.is_available())
# 显示True
也有人说是由于算力和 CUDA 不匹配造成的,但是在浏览的过程中发现大家提到的由于算力不匹配导致的 CUDA erroe 似乎会详细提示算力不匹配,但我这里也没有提示,而且输入:
torch.ones((1, 1, 1, 1, 1)).cuda()
输出:
tensor([[[[[1.]]]]], device='cuda:0')
这算是能够调用成功?所以我也不太确定是不是算力问题导致的。按照这位大佬的方法,在 .bashrc 文件中改了算力也没用。
我的显卡为 RTX4090,在浏览的过程中发现有人说 4090 对应的最低 CUDA 版本为 11.8,有人说是 11.7, 在官方文档中查看 CUDA 与 算力的对应关系,没看懂,似乎是与 cudnn 有关?但是这个问题我始终不知道怎么改,抱着试试的心态重新配置了一个环境 CUDA11.7+torch1.13.0+torchvision0.14.0
,配置完成后直接运行 test.py,成功。
相关文章:
Ubuntu24.04配置STMTrack
项目地址:https://github.com/fzh0917/STMTrack 一、安装 CUDA 参考链接: Ubuntu24.04配置DINO-Tracker Ubuntu多CUDA版本安装及切换 由于之前在其他项目中已经安装了 CUDA12.1,这次需要安装另一个版本。 1. 查看安装版本 按照 requireme…...
【Java学习笔记】Map接口和常用方法
一、 Map接口实现类的 特点[很实用] key是自己存的java对象 value是一个固定的 //当有相同的 k ,就等价于替换. 二、 Map常用方法 (根据键–>k) 三、Map接口遍历方法 package com.hspedu.map_; import java.util.*; /** * author 韩顺平 * ver…...
uniapp支持App横竖屏开发总结
一、需求: app要支持重力感应自动切换横竖屏,并切换后样式不能错乱 二、实现 官方文档 官方Git manifest.json文件中 "app-plus" : {"screenOrientation" : ["portrait-primary","portrait-secondary","…...
【工作笔记】Lombok版本变化导致的反序列化异常
Lombok版本变化导致的反序列化异常 背景 因为安全性的考虑,最近在梳理旧系统的系统依赖。改动依赖时候还好,毕竟只是换掉不再合作公司的旧依赖,没敢动别的太多东西。不过没多久,测试团队就找来了… 排查问题之第一次跑偏 旧系…...
多模态大语言模型 MLLM 部署微调实践
1 MLLM 1.1 什么是 MLLM 多模态大语言模型(MultimodalLargeLanguageModel)是指能够处理和融合多种不同类型数据(如文本、图像、音频、视频等)的大型人工智能模型。这些模型通常基于深度学习技术,能够理解和生成多种模…...
LNMP和Discuz论坛
文章目录 LNMP和Discuz论坛1 LNMP搭建1.1 编译安装nginx服务1.1.1 编译安装1.1.2 添加到系统服务 1.2 编译安装MySQL服务1.2.1 准备工作1.2.2 编辑配置文件1.2.3 设置路径环境变量1.2.4 数据库初始化1.2.5 添加mysqld系统服务1.2.6 修改mysql的登录密码 1.3 编译安装PHP服务1.3…...
Cadence学习笔记 2 PCB封装绘制
基于Cadence 17.4,四层板4路HDMI电路 更多Cadence学习笔记:Cadence学习笔记 1 原理图库绘制 目录 2、PCB封装绘制 2、PCB封装绘制 封装尺寸如下。 用Allegro做PCB封装前,要先做焊盘(Allegro 比AD、PADS多一个步骤:绘制…...
网络安全——防火墙
基本概念 防火墙是一个系统,通过过滤传输数据达到防止未经授权的网络传输侵入私有网络,阻止不必要流量的同时允许必要流量进入。防火墙旨在私有和共有网络间建立一道安全屏障,因为网上总有黑客和恶意攻击入侵私有网络来破坏,防火…...
【CSS in Depth 2 精译_074】第 12 章 CSS 排版与间距概述 + 12.1 间距设置(下):行内元素的间距设置
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 12 章 CSS 排版与间距】 ✔️ 12.1 间距设置 12.1.1 使用 em 还是 px12.1.2 对行高的深入思考12.1.3 行内元素的间距设置 ✔️ 12.2 Web 字体12.3 谷歌字体 文章目…...
短视频矩阵抖音SEO源码OEM独立部署
短视频优化矩阵源码涉及对抖音平台上的视频内容进行筛选与排序,目的是增强其在搜索引擎中的可见度,以便更多用户能够浏览到这些视频。而抖音SEO优化系统则是通过构建一个分析框架,来解析抖音上的用户数据、视频信息及标签等元素,并…...
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
文章目录 应用快速部署NginxRedisMySQLTomcat 制作镜像镜像原理基于已有容器创建使用 Dockerfile 创建镜像指令说明构建应用创建 Dockerfile 文件创建镜像 应用快速部署 Nginx docker run -d -p 80:80 nginx使用浏览器访问虚拟机地址 Redis docker pull redis docker run --…...
在ensp中ACL路由控制实验
一、实验目的 掌握ACL路由控制管理 二、实验要求 要求: 配置路由策略,左右两边不公开区域对方不可达,其他区域可以互相ping通 设备: 1、三台路由器 2、四台交换机 3、四台电脑 4、四台服务器 使用ensp搭建实验环境,如图所…...
μC/OS-Ⅱ源码学习(3)---事件模型
快速回顾 μC/OS-Ⅱ中的多任务 μC/OS-Ⅱ源码学习(1)---多任务系统的实现 μC/OS-Ⅱ源码学习(2)---多任务系统的实现(下) 本文开始,进入事件源码的学习。 事件模型 在一个多任务系统里,各个任务在系统的统筹下相继执行,由于执行速度极快&a…...
Jmeter进阶篇(30)深入探索 JMeter 监听器
前言 在性能测试领域里,Apache JMeter 是一款经典而强大的工具,而其中的监听器(Listeners)组件更是发挥着不可或缺的关键作用。 监听器就像敏锐的观察者,默默记录测试执行过程中的各种数据,作为系统性能分析的数据依据。 本文将带你全方位走进 JMeter 监听器的奇妙世界,…...
虚幻引擎的工程目录结构
虚幻引擎的工程目录结构如下: .idea/.vs:用于IDE(如IntelliJ IDEA或Visual Studio)的项目配置文件,包含工程设置和解决方案文件。 Binaries:存放编译后的可执行文件和相关的动态链接库(DLL&…...
深度学习中的yield
以下为例: def data_iter(batch_size, features, labels):num_examples len(features)indices list(range(num_examples))# 这些样本是随机读取的,没有特定的顺序random.shuffle(indices)for i in range(0, num_examples, batch_size):batch_indices …...
数据库数据恢复—ORACLE常见故障有哪些?如何恢复数据?
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。 Oracle数据库数据恢复方案: 1、检测存放数据库的服务器/存储设备是否存…...
使用JavaScrip和HTML搭建一个简单的博客网站系统
搭建一个简单的博客网站系统,我们需要创建几个基本的页面和功能:登录、注册、文章发布等。这里我们先实现一个基础版本,包括用户登录、注册以及文章发布的功能。由于这是一个简化版的示例,我们将所有逻辑集成在一个HTML文件中&…...
算法-字符串-76.最小覆盖子串
一、题目 二、思路解析 1.思路: 滑动窗口!!! 2.常用方法: 无 3.核心逻辑: 1.特殊情况:s或t是否为空字符串 if(snull||tnull)return ""; 2.声明一个字符数组——用于记录对应字符出现…...
Python爬虫之Selenium的应用
【1】Selenium基础介绍 1.什么是selenium? (1)Selenium是一个用于Web应用程序测试的工具。 (2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 (3)支持通过各种driv…...
粉丝生产力与开源 AI 智能名片 2+1 链动模式商城小程序的融合创新与价值拓展
摘要:本文聚焦于粉丝生产力在当代文化与商业语境中的独特作用,并深入探讨其与开源 AI 智能名片 21 链动模式商城小程序的有机结合。通过剖析粉丝生产力的多元表现形式、内在驱动机制以及开源 AI 智能名片 21 链动模式商城小程序的功能特性与商业潜力&…...
红黑树(Red-Black Tree)
一、概念 红黑树(Red Black Tree)是一种自平衡的二叉搜索树,通过添加颜色信息来确保在进行插入和删除操作时,树的高度保持在对数级别,从而保证了查找、插入和删除操作的时间复杂度为 O(log n)。这种树可以很好地解决普…...
Cocos 资源加载(以Json为例)
resources 通常我们会把项目中需要动态加载的资源放在 resources 目录下,配合 resources.load 等接口动态加载。你只要传入相对 resources 的路径即可,并且路径的结尾处 不能 包含文件扩展名。 resources.load("Inf", JsonAsset, (error, ass…...
解决 IntelliJ IDEA 启动错误:插件冲突处理
引言 在使用 IntelliJ IDEA 进行开发时,我们可能会遇到各种启动错误。本文将详细介绍一种常见的错误:插件冲突,并提供解决方案。 错误背景 最近,有用户在启动 IntelliJ IDEA 时遇到了一个错误,提示信息为:…...
SQL——DQL分组聚合
分组聚合: 格式: select 聚合函数1(聚合的列),聚合函数2(聚合的列) from 表名 group by 标识列; ###若想方便分辨聚合后数据可在聚合函数前加上标识列(以标识列进行分组) 常见的聚合函数: sum(列名):求和函数 avg(列名)…...
Ripro V5日主题 v8.3 开心授权版 wordpress主题虚拟资源下载站首选主题模板
RiPro主题全新V5版本,是一个优秀且功能强大、易于管理、现代化的WordPress虚拟资源商城主题。支持首页模块化布局和WP原生小工具模块化首页可拖拽设置,让您的网站设计体验更加舒适。同时支持了高级筛选、自带会员生态系统、超全支付接口等众多功能&#…...
分布式搜索引擎之elasticsearch基本使用2
分布式搜索引擎之elasticsearch基本使用2 在分布式搜索引擎之elasticsearch基本使用1中,我们已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以j接下来,我们研究下…...
java学习-第十五章-IO流(java.io包中)
一、理解 1. 简单而言:流就是内存与存储设备之间传输数据的通道、管道。 2. 分类: (1) 按方向(以JVM虚拟机为参照物)【重点】 输入流:将中的内容读入到中。 输出流:将中的内容写入到中。 (2) 按单位: 字节流…...
企业如何实现数据从源端到消费端的全链路加工逻辑可视化?
要想实现数据加工链路的可视化,血缘图谱无疑是一个有效的工具。血缘图谱能够清晰地展示数据从产生、流转、加工到最终消费的每一个环节,帮助企业直观地理解数据之间的关联和依赖关系,轻松追溯数据来源和去向,并在数据出现问题时快…...
Toxicity of the Commons: Curating Open-Source Pre-Training Data
基本信息 📝 原文链接: https://arxiv.org/abs/2410.22587👥 作者: Catherine Arnett, Eliot Jones, Ivan P. Yamshchikov, Pierre-Carl Langlais🏷️ 关键词: toxicity filtering, language models, data curation📚 分类: 机器…...
海口网站建设fwlit/域名注册信息查询
文章目录⛄引言一、Redis 实现好友关注 -- Feed流实现推送到粉丝收件箱⛅Feed 流实现方案⚡推送到粉丝收件箱三、Redis 实现好友关注 -- 实现分页滚动查询 实时获取信息⛵小结⛄引言 本博文参考 黑马 程序员B站 Redis课程系列 在点评项目中,有这样的需求ÿ…...
网站流量做那些好/seo外包顾问
Windows XP是一款经典的操作系统,同时也是一款很老的操作系统,不过尽管如此,还是有一批用户在使用XP系统,所以发行一些软件的时候还是要测试在XP系统中能否运行,这时候我们就可以借助VirtualBox虚拟机安装一个XP系统来…...
做网站的服务器哪个系统好/泾县网站seo优化排名
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//将整个棋盘算出并储存到缓冲器,然后调用Display函数显示出来{int i,j;//循环变量wl0;wp0;for(j0;j<MAXIMUS;j)//写入出交点左上角的字符,因为需要打印棋盘右下角,所以很以横纵各多一次循环{…...
平顶山市建设局网站/百度竞价排名案例分析
标题: A Robust Laser-Inertial Odometry and Mapping Method for Large-Scale Highway Environments作者: Shibo Zhao, Zheng Fang, HaoLai Li, Sebastian Scherer1摘要我们提出了一种新的激光惯性里程计和建图方法,以实现大规模公路环境中的实时、低漂移和鲁棒的位姿估计.该方…...
购物网站html/seo排名计费系统
用Eclipse在线安装的方式:Help-->Install New Software 地址输入:http://m2eclipse.sonatype.org/sites/m2e/,列表中打勾勾上后点击Next 安装maven插件时遇到了如下的错误: Cannot complete the install because one or more …...
国外室内设计案例网站/软文营销的三个层面
无论在何时,一个企业若想获得长久发展,就必须高度重视客户关系管理工作。而在互联网大潮的来袭下,企业必须高度重视现代客户关系管理方式。CRM作为一款专业客户关系管理系统,为企业提供专业的客户关系管理解决方案,帮助…...