- 博客(180)
- 资源 (1)
- 收藏
- 关注
原创 DeepSpeed 介绍
Nvidia Collective multi-GPU Communication Library的简称,它是一个实现多GPU的collective communication通信(all-gather, reduce, broadcast)库,Nvidia做了很多优化,以在PCIe、Nvlink、InfiniBand上实现较高的通信速度。:一个基于 PyTorch 的分布式训练框架,用来训练基于Transformer的大型语言模型。:多个原语的消息传递接口,这一接口主要被用于多进程间的通信。
2024-03-29 17:04:23
629
原创 目标检测评价标准
将所有检测框按照置信度从高到低的顺序依次加入实际检出框,并分别计算每次加入检测框后对应PR值,对这堆点列平滑后得到PR曲线(Interpolating all points,还有11-point interpolation的计算方法)。:没有被检测到的虚假框的数量,没有使用。:TP / (TP + FP),所有检测框中正确检测框的比例。:TP / (TP + FN),所有真值框中被正确检出的比例。:IOU大于阈值的检测框数量。:IOU小于阈值的检测框数量。:没有被检测的真值框的数量。
2024-03-29 11:13:01
535
原创 贝叶斯判别
贝叶斯判别的本质是一类分类问题:基于若干采样样本,如何学习一个分类器对新样本数据进行分类并保证分类错误的概率最小。假设贝叶斯假设某一个新样本属于每个类别为一个随机变量,服从概率分布,那么只要分别计算出的概率,那么概率最大的那个类别就是使分类错误概率最小的分类结果。
2023-12-21 20:14:16
839
原创 四元数,欧拉角,旋转矩阵,旋转向量
1、欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度,默认旋转正向为逆坐标轴逆时针方向。2、在旋转过程中,xyz轴方向并不是固定不变的,而是随着前面的旋转而改变。比如如果绕 x 轴旋转 90 度,那么旋转后的 y 轴正向将指向原始的 z 轴方向,而旋转后的 z 轴正向将指向 y 轴负向。
2023-12-08 11:42:20
859
原创 Diffusion Model: DDIM
虽然 DDPM 中假定了扩散过程服从马尔科夫特性,但是即使不满足依然可以使用 DDPM 的训练过程进行求解。因此 DDIM 就设计了一个不服从马尔科夫特性的扩散过程,从而加速采样。因此,就可以使用如下非马尔科夫分布对反向扩散过程进行采样。DDIM 的分布与 DDPM 的分布之间的差别主要是将。二 中给出了逆向扩散过程概率分布,不过具体进行采样时,由于。的估计代入 二 中的逆向扩散分布中得到具体的递归采样公式。具体设计如下,只要满足如下定义,边缘分布就满足。的具体推导过程中是要求边缘分布服从。
2023-11-25 17:36:52
666
原创 Diffusion Model: DDPM
分布的推导过程:推导过程中,直接递归迭代即可。同时,过程中使用了 —— 两个高斯分布的和也满足高斯分布,其中均值为两个高斯分布均值的和,方差为两个高斯分布方差的和。四、具体生成(采样)过程:根据 二 中推导的公式,依次计算前一步图像的分布。就是 diffusion model 需要估计的噪声均值,而噪声的方式是由。三、具体训练过程:训练过程比较直接,利用 一 中的公式即可。
2023-11-25 09:19:31
612
原创 鸟哥Linux私房菜 SSH-远程连接服务器
目前常见的网络数据包加密技术通常是通过所谓的“非对称密钥系统”来处理的:主要是通过两把不一样的公钥和私钥(Pubilc and Private Key)来进行加密和解密。公钥(Public Key):提供给远程主机进行数据加密,公钥需要提供给连接的另一方来对本地端需要接受的数据进行加密。私钥(Private Key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。因此私钥是不能够外流的,只能保护在自己的主机上。
2023-11-14 17:50:27
1771
原创 ubuntu cmake 离线安装
如果遇到提示Could not find OpenSSL. Install an OpenSSL development package or ....... 需要安装 apt-get install libssl-dev。下载所需版本的源码。6、最后使用新安装的cmake替换旧版本,其中。1、下载 cmake 源码。为新安装的cmake目录。
2023-08-26 10:53:43
1687
原创 VSCode C++ 调试方法
VSCode 调试 C++ 主要就是 .vscode 中的 launch.json 和 tasks.json 的配置。launch.json 可以通过 vscode 界面 ——》左侧调试功能按钮——》创建 launch.json ——》C++(GDB/LLDB)生成。tasks.json 文件可以通过 vscode 菜单 ——》终端——》配置任务 生成。
2023-07-29 17:00:06
2514
原创 几何求解 Python
其中直线以两个点的形式给出,其中 points 为一个 n*2 的向量,表示待求点的坐标;line_points1, line_points2 都为 n*2 的向量,每一列分别为直线两个点的坐标。具体来说,通过计算点与多边形每个顶点之间的夹角,然后判断夹角和是否等于360度。如果夹角和等于360度,则点在多边形内,否则点在多边形外。输入 points 为一个 n*2 的向量,表示待求点的坐标;polygon 为一个 m*2 的向量,每一列为多边形每个顶点的坐标,其中首尾坐标相同构成一个封闭多边形。
2023-04-03 11:06:34
385
原创 ROS Tutorials 1.1-1.4
ROS Tutorials手册链接:http://wiki.ros.org/ROS/Tutorials安装:http://wiki.ros.org/kinetic/Installation/Ubuntu环境管理通过printenv | grep ROS判断 ROS 是否正常安装,主要判断 ROS_ROOT 和 ROS_PACKAGE_PATH 是否存在。如果不存在,可以通过执行source /opt/ros/<distro>/setup.bashecho.
2022-11-23 10:02:57
220
原创 ROS Tutorials 1.5-1.7
ROS Tutorials理解 ROS NodesNodesA node really isn't much more than an executable file within a ROS package. ROS nodes use a ROS client library to communicate with other nodes. Nodes can publish or subscribe to a Topic. Nodes can also provide or use a
2022-11-23 10:02:15
160
原创 Deformable Convolutional Networks
创新点:提出了两个新的模块 deformable convolution 和 deformable RoI pooling,通过学习的方式学习 offset 从而更高效地提取特征点用于卷积操作。
2022-07-04 20:09:51
217
原创 Python装饰器实用教程
最简单的装饰器示例def print_decripter(func): def wrapper(*args, **kwargs): print('wrapper start') tmp = func(*args, **kwargs) print(f'wrapper sum: {tmp}') return tmp return wrapper@print_decripterdef add(a, b): ret
2022-05-23 17:04:16
134
原创 Open3d 点云可视化
import open3d as o3dimport numpy as npmesh = o3d.geometry.TriangleMesh.create_coordinate_frame() # 坐标轴T = np.eye(4)# T[0, 0] = -1 # x 轴翻转# T[1, 1] = -1 # y 轴翻转# T[2, 2] = -1 # z 轴翻转# T[0, 3] = 10 # x 轴平移# T[1, 3] = 10 # y 轴平移# T[1, 3] = 10 # z 轴.
2021-12-17 07:39:12
2706
原创 Google 搜索技巧
https://www.youtube.com/watch?v=0gbCi03CNX0** 下面的所有技巧最好使用英文标点符号 **1、完全匹配搜索:"关键词"2、指定文件类型搜索:关键词:文件类型3、站内搜索:关键词 site:网址4、+/- 强制包含或不包含指定关键词:关键词 +/-关键词5、/ 在搜索页快速将光标设置到搜索栏中6、.. 快速定位指定区域:关键词..7、intitle: 只搜索标题含有关键词的网站:intitle: 关键词...
2021-10-15 08:02:20
289
原创 libtorch vision 基础功能介绍
libtorch Tensor 元素引用tensor.index({0, "...", 49, 212}) // 取第 1 维上 (0, *, 49, 212) 上的所有元素Opencv 读取图像常用转换torch::from_blob:从 cv::Mat 转 Tensorcv::cvtColor(frame, frame, CV_BGR2RGB); // step1. BGR->RGBframe.convertTo(frame, CV_32FC3, 1.0f / 255.0f)
2021-08-16 10:48:17
715
原创 ROS 手册
ROS 官方手册:http://wiki.ros.org/cn/ROS/Tutorials本文所有内容都是手册中提炼的关键点1、ROS 工作环境切换一台电脑上可能存在多个 ROS 工作环境,为了更好地使用 ROS 自带的各种命令就需要在不同的工作环境间切换。在工作路径下(带 src)文件夹执行catkin_make 将创建一个 ROS 工作空间,其中新建 devel 文件夹。之后每次需要在这个工作空间下工作,就可以使用source devel/setup.bash切换到当前工作空.
2021-07-15 21:17:44
646
原创 基于 onnx 的 pytorch 模型结构可视化
有时候为了更好的分析现有模型结构,可能需要对模型进行可视化。这里推荐一个在线的可视化图片生成工具 —— netron。通过网页端简单上传 模型就能生成对应模型
2021-06-17 19:43:55
4976
转载 vscode python 远程调试绘图方法
通过 vscode 进行远程调试时无法直接显示远程绘图结果,每次通过保存图片的方式太过繁琐,其实可以通过显式配置 Linux 系统的 DISPLAY 环境变量实现直接显示绘图结果。首先an
2021-06-17 15:34:57
1956
原创 Pytorch tensorboard 使用
from torch.utils import tensorboardimport numpy as npimport keywordimport torchimport shutildef main(): shutil.rmtree('./saved') writer = tensorboard.SummaryWriter('./saved') # add_hparams for i in range(5): writer.add_hpar.
2021-05-29 11:38:52
320
原创 GradCAM 神经网络注意力可视化
GradCAM 神经网络注意力可视化GradCAM (GradCAM++)开源工具:https://pypi.org/project/pytorch-gradcam/论文地址:https://arxiv.org/pdf/1610.02391https://arxiv.org/pdf/1710.11063github:https://github.com/vickyliin/gradcam_plus_plus-pytorchGradCAM 是针对图片分类网络的性能可视化分析工具。它通过将.
2021-05-21 10:28:52
4992
5
原创 torchvision Faster RCNN 代码详解
参考博客:https://zhuanlan.zhihu.com/p/31426458 https://zhuanlan.zhihu.com/p/145842317参考代码:https://github.com/supernotman/Faster-RCNN-with-torchvision
2021-03-25 09:06:18
1153
原创 Python Opencv 计算几何相关 API
PythonOpencv 计算几何相关 APIOpencv 中有很多常用的计算几何 API,比如轮廓,连通性,最小外接矩形,多边形填充,多边形内外判断等。这些函数很实用,但参数较多,使用时经常需要现在网上查找。因此,为提高效率,写了这篇文章进行总结。连通性对于一个 8-bit 单通道图片获取每个像素点的连通性def connectedComponents(image, labels=None, connectivity=None, ltype=None): # real signatur.
2021-02-10 17:34:59
498
原创 霍夫直线变换 python版
霍夫直线变换 python版霍夫变换是一种常用的在图像中查找直线的方法(当前也被推广到查找圆等其他几何形状)。其基本原理是将原图像空间上的每个点变为新空间上的一条曲线,然后在新空间上检测多条曲线的焦点从而得到原图像空间上的直线方程。本文主要以直线为例介绍霍夫直线变换的细节和原理。霍夫直线变换图像空间向 Hesse 仿射空间变换对于霍夫直线变换首先需要明确的是变换之后的空间并不是传统意义上的极坐标系,而是 Hesse 仿射坐标系对于图像空间上的一个点而言,对应 Hesse 仿射..
2021-01-29 10:43:42
3208
2
原创 PIL Opencv numpy tensor 汇总
PIL opencv numpy tensor 汇总这些库或者对象具有相似功能但具体操作方式又有所不同,本文将从创建(读取,存储),属性(大小),操作(切片,reshape)和相互转换方面,进行汇总介绍。numpy ndarray这个是 python 高性能计算的基础,几乎所有包的实际数据存储本质都是 ndarray 的。创建ndarray 的创建一般使用 numpy 提供的几个常用函数 zeros(),ones() 等import numpy as npa = np.zer.
2021-01-15 15:08:35
257
原创 Line Segment Detection Using Transformers without Edges
Line Segment Detection Using Transformers without Edges算法流程基于给定图片首先基于 ResNet 提取图片特征 选取 ResNet Conv5(C5) feature 拉平构成Coarse Encoder (粗编码)的输入向量对特征进行编码 与第二步同时选取 ResNet Conv4(C4) feature 拉平构成 FineEncoder (精编码)的输入向量对特征进行编码,从而实现多尺度 在解码过程中,基于传入...
2021-01-13 20:16:16
475
原创 Pytorch CUDA 训练错误汇总
CUDA 训练错误汇总RuntimeError: CUDA error: device-side assert triggeredCUDA error: device-side assert triggered 为 CUDA 内置错误,所以 pytorch 无法打印具体错误信息。此时可以通过添加CUDA_LAUNCH_BLOCKING=1 环境变量来打印具体错误信息。CUDA_LAUNCH_BLOCKING=1 python main.pyAssertion `t >= 0 &am.
2020-12-31 10:02:54
2223
原创 Pytorch DistributedDataParallel 多卡训练
pytorch 多卡GPU训练基础知识常用方法torch.cuda.is_available():判断 GPU 是否可用 torch.cuda.device_count():计算当前可见可用的 GPU 数 torch.cuda.get_device_name():获取 GPU 型号,如Tesla K80 torch.cuda.manual_seed():为当前 GPU 设置随机种子 torch.cuda.manual_seed_all():为所有可见可用 GPU 设置随机种子 tor.
2020-12-28 14:48:14
11787
3
原创 基于域迁移的无监督语义分割
基于域迁移的无监督语义分割数据集对于语义分割的域适配,主要基于两个计算机合成数据集GTA5:https://download.visinf.tu-darmstadt.de/data/from_games/ SYNTHIA:http://synthia-dataset.net/真实验证集:CITYSCAPE:https://www.cityscapes-dataset.com/ CamVid:http://mi.eng.cam.ac.uk/research/projects/VideoR
2020-12-28 10:03:46
1486
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人