CUDA、python、pytorch、mmcv-full、mmdet版本对照表

Python、Pytorch、CUDA版本对应表
高版本CUDA可兼容低版本

PyTorch 版本Python 支持版本CUDA 10.1CUDA 10.2CUDA 11.1CUDA 11.3CUDA 11.6CUDA 11.7CUDA 11.8安装指令中 CUDA tag
2.1.03.8–3.11+cu117, +cu118
2.0.13.8–3.11+cu117, +cu118
1.13.13.7–3.10+cu117, +cu116, etc.
1.12.13.7–3.10+cu116, +cu115, etc.
1.11.03.6–3.9+cu113, +cu102
1.10.03.6–3.9+cu113, +cu102, +cu101
1.9.03.6–3.9+cu111, +cu102, +cu101
1.8.03.6–3.9+cu111, +cu102, +cu101
1.7.13.6–3.8+cu110, +cu102, +cu101
1.6.03.6–3.8+cu102, +cu101
1.5.13.5–3.8+cu102, +cu101
1.4.03.5–3.8+cu101, +cu100

 PyTorch 、 CUDA、mmcv 版本组合
详情见官网:
安装 MMCV — mmcv 1.4.1 文档

mmcv-full、mmdet版本组合

MMDetection versionMMCV version
mastermmcv-full>=1.3.17, <1.5.0
2.19.1mmcv-full>=1.3.17, <1.5.0
2.19.0mmcv-full>=1.3.17, <1.5.0
2.18.0mmcv-full>=1.3.17, <1.4.0
2.17.0mmcv-full>=1.3.14, <1.4.0
2.16.0mmcv-full>=1.3.8, <1.4.0
2.15.1mmcv-full>=1.3.8, <1.4.0
2.15.0mmcv-full>=1.3.8, <1.4.0
2.14.0mmcv-full>=1.3.8, <1.4.0
2.13.0mmcv-full>=1.3.3, <1.4.0
2.12.0mmcv-full>=1.3.3, <1.4.0
2.11.0mmcv-full>=1.2.4, <1.4.0
2.10.0mmcv-full>=1.2.4, <1.4.0
2.9.0mmcv-full>=1.2.4, <1.4.0
2.8.0mmcv-full>=1.2.4, <1.4.0
2.7.0mmcv-full>=1.1.5, <1.4.0
2.6.0mmcv-full>=1.1.5, <1.4.0
2.5.0mmcv-full>=1.1.5, <1.4.0
2.4.0mmcv-full>=1.1.1, <1.4.0
2.3.0mmcv-full==1.0.5
2.3.0rc0mmcv-full>=1.0.2
2.2.1mmcv==0.6.2
2.2.0mmcv==0.6.2
2.1.0mmcv>=0.5.9, <=0.6.1
2.0.0mmcv>=0.5.1, <=0.5.8
mmdet 版本mmcv-full 版本mmengine 版本PyTorch 推荐版本支持 CUDA 版本架构说明
3.3.0≥2.1.0≥0.10.01.10 ~ 2.211.3 ~ 12.x全新 MMEngine 架构
3.2.x2.0.1 ~ 2.0.2≥0.9.01.10 ~ 2.111.3 ~ 11.8新架构适配中
3.0.02.0.0≥0.7.11.10 ~ 2.011.1 ~ 11.7MMEngine 初期版本
2.28.21.7.0❌ 不需要1.10 ~ 1.1310.2 ~ 11.6经典架构最后版本
2.26.01.6.21.8 ~ 1.1210.1 ~ 11.3适合向前兼容
2.24.11.5.21.8 ~ 1.1010.1 ~ 11.1适合旧项目迁移
2.20.01.4.81.7 ~ 1.1010.0 ~ 10.2✅ 适合 CUDA 10.1
2.18.11.3.181.6 ~ 1.910.0 ~ 10.2VisDrone 项目常用
2.11.01.2.61.6 ~ 1.810.0 ~ 10.1稳定性不错
2.5.01.1.51.5 ~ 1.610.0较早期版本
2.0.01.0.01.4 ~ 1.59.2 ~ 10.0V2架构起点
1.2.00.6.21.49.2mmdet 早期版本

Read more

动态规划-----路径问题

动态规划-----路径问题

动态规划-----路径问题 * 下降最小路径和 * 1:状态表示 * 2:状态转移方程 * 3 初始化 * 4 填表顺序 * 5 返回值 * 6 代码实现 * 总结: 下降最小路径和 1:状态表示 假设:用dp[i][j]表示:到达[i,j]的最小路径 2:状态转移方程 结合图片分析: 如果图中的A点要到达三角形,那么就会考虑下A点上面的数通过最小路径到达A。 那么通过路径变为 x->A->三角形: 那么我们如何找到到达A点的下降路径呢 由状态表示:用dp[i][j]表示:到达[i,j]的最小路径。 则我们可以转换我到达A点的最小路径为dp[i-1]

By Ne0inhk
libmd 实现详解:仓颉语言中的哈希算法库开发实践

libmd 实现详解:仓颉语言中的哈希算法库开发实践

libmd 实现详解:仓颉语言中的哈希算法库开发实践 前言 密码学哈希函数是现代信息安全的基石,广泛应用于数据完整性验证、数字签名、用户认证和数据安全存储等领域。在仓颉语言生态中,libmd库提供了完整的密码哈希算法实现,支持多种主流哈希算法,包括经典的MD2、MD4、MD5,以及SHA系列(SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/256)和RIPEMD-160等算法。同时,该库还提供了HMAC功能,支持消息认证码的生成,为数据提供了额外的安全保障。 本文将从库的设计思路、核心实现、技术挑战、性能优化等多个维度,深入解析libmd库的开发过程,为仓颉语言开发者提供库开发的实践参考。 一、库概述 1.1 项目背景 在软件开发的众多领域,数据完整性验证和安全性保障是至关重要的需求。哈希算法因其单向性、抗碰撞性和雪崩效应等特性,成为解决这些问题的理想工具。从文件校验到用户认证,从区块链技术到数字签名,哈希算法的应用无处不在。 libmd库旨在为仓颉语言提供一套完整、高效、易用的哈希算法解决方案,支持多种主流哈希算法,

By Ne0inhk
HDFS数据块机制深度解析:块大小设计与存储哲学

HDFS数据块机制深度解析:块大小设计与存储哲学

HDFS数据块机制深度解析:块大小设计与存储哲学 * 引言:块——HDFS存储的核心抽象 * 一、HDFS默认块大小 * 1.1 版本演进与默认值 * 1.2 查看和验证块大小 * 1.3 配置文件中的设置 * 二、为什么HDFS采用块存储? * 2.1 核心设计思想 * 2.2 详细解析:为什么块存储如此重要? * **2.2.1 减少寻址开销,提升I/O效率** * **2.2.2 支持超大文件,超越单机限制** * **2.2.3 简化存储设计,降低元数据复杂度** * **2.2.4 便于数据复制,增强容错性** * **2.2.5 支持数据本地性,

By Ne0inhk
数据结构-单链表

数据结构-单链表

单链表 * 概念与结构 * 结点 * 链表的性质 * 链表的打印 * 实现单链表 * 头文件 * 源文件 * 单链表的打印 * 单链表申请新节点内存 * 尾插 * 头插 * 尾删 * 头删 * 查找 * 在指定位置之前插入数据 * 在指定位置之后插入数据 * 删除pos结点 * 删除pos之后的结点 * 销毁链表 * 链表的分类 * 代码地址 概念与结构 概念:链表是⼀种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 逻辑结构:线性 物理结构(存储结构):不一定是线性的 链表就类似一个火车,车头是哨兵位(可有可无),车厢是节点 * 将火车里的某节车厢去掉或加上,不会影响其他车厢,每节车厢都是独立存在的。 在链表⾥,每节“车厢”是什么样的呢? \color{red}{在链表⾥,每节“车厢”是什么样的呢?

By Ne0inhk