自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AI知识搬运工

算法工程师一枚,专注自动驾驶,也对AIGC感兴趣。

  • 博客(225)
  • 资源 (4)
  • 收藏
  • 关注

原创 【模型部署】onnx模型-LOOP 节点实例

----- 定义 LOOP 子图(body) -----# 子图输入:迭代计数 iter (int64), 条件 cond (bool), 循环携带依赖 current_sum (int64)# 子图输出:新的条件 new_cond (bool), 更新后的 sum (int64), 扫描输出 scan_out (int64)# 为了计算 new_sum = sum_in + (iter + 1)# 创建一个常量张量 'one'# 节点:iter_plus_one = iter + one。

2025-04-02 19:27:50 25

原创 oneDNN、oneMKL、oneTBB 安装、配置和代码编译

步骤oneDNNoneMKLoneTBB安装方式预编译包/源码编译Intel oneAPI 安装预编译包/oneAPI关键文件dnnl.libdnnl.dllmkl_*.libmkl_rt.dlltbb.libtbb.dll配置重点内存布局与线程绑定精度模式(ILP64/LP64)线程池大小控制推荐工具:使用和Intel oneAPI 命令行工具(如icl编译器)以获得最佳兼容性。

2025-03-28 15:19:56 835

原创 oneDNN、oneMKL 和 oneTBB 介绍及使用

库名应用场景优势oneDNN深度学习推理/训练低延迟、高吞吐量,支持量化oneMKL科学计算、数值分析数学函数高度优化,跨硬件支持oneTBB多线程任务并行简化并行编程,动态负载均衡协作示例:在深度学习训练中,可用 oneTBB 管理线程池,oneMKL 加速矩阵运算,oneDNN 实现卷积层。共同点:均属于 oneAPI 生态,支持跨 CPU/GPU 异构计算。如需进一步优化,建议参考官方文档调整参数(如内存布局、线程数)。

2025-03-28 15:07:31 1226

原创 【GPU编程】占用率优化

优化CUDA占用率的关键在于合理配置线程块大小、共享内存和寄存器使用。通过工具和函数,可以找到最佳配置,提升性能。

2025-02-25 17:31:40 639

原创 使用torch.compile进行CPU优化

在PyTorch中,使用torch.compile可以自动地将模型转换成优化的执行代码,这对于提升模型在CPU上的运行效率尤其有用。torch.compile是基于TorchDynamo实现的,它可以将Python代码转换为高效的TorchScript代码。这对于那些在CPU上运行的大型模型尤其有益,因为它可以减少运行时开销并提高整体性能。

2025-02-25 17:24:11 609

原创 ONNX转OpenVINO

针对多输入输出的ONNX模型转换到OpenVINO,需重点关注输入输出定义和动态维度处理。:对于类似YOLOv8的复杂多输出模型,需在转换时指定输出节点名称(如。),参考OpenVINO官方对象检测模型转换指南。

2025-02-25 16:15:33 491

原创 Deepseek-R1原理解释

强化学习是一种强大的人工智能训练方法,它使得AI可以像婴儿一样,通过不断试错和优化策略,逐渐掌握复杂任务。DeepSeek R1 通过。

2025-02-07 19:44:41 692

原创 GPU 编程入门教程

你是否对GPU编程感兴趣?想了解如何利用GPU的强大算力加速计算任务?本系列视频从基础概念到高级应用,带你一步步掌握GPU编程的核心技术!无论你是初学者还是有一定经验的开发者,都能从中获益。从CPU与GPU的对比,到神经网络的前向传播与反向传播,再到性能优化与内存管理,本系列涵盖了GPU编程的方方面面。快来一起探索GPU编程的奥秘吧!首先,我们将概述 GPU 的整体结构,探讨其架构与 CPU 的不同之处。我们还将编写几个简单的内核程序,看看这些代码与我们习惯的传统编程有何异同。

2025-01-24 10:30:55 1383

原创 python 常用性能分析工具

以上工具适用于不同的性能分析场景,如函数调用分析、逐行代码分析和内存使用分析。选择合适的工具可以帮助优化代码性能。是 Python 标准库中自带的性能分析工具,能够提供函数调用的时间和次数等信息。是一种外部分析工具,可以分析正在运行的 Python 代码,而无需修改代码。用于逐行分析 Python 函数的性能,帮助找到性能瓶颈。是一个简单的时间测量工具,适合对小段代码的执行时间进行精确测量。用于监测 Python 程序的内存使用情况。

2025-01-24 10:16:18 201

原创 GPU 编程系列:内核网格与多维数据处理

大家好,欢迎来到 GPU 编程系列的第三集!在这一集中,我们将深入探讨内核网格的概念,并展示如何利用多维网格来处理复杂的数据结构。3。

2025-01-23 18:37:45 1064

原创 Triton:内存高效注意力机制的实现与解析

在深度学习领域,特别是自然语言处理(NLP)任务中,注意力机制是模型理解序列数据的关键组成部分。然而,随着模型规模和输入长度的增长,传统的注意力机制面临着内存使用量大、计算效率低的问题。为了解决这些问题,我们引入了一种内存高效的注意力机制实现方法,该方法特别适用于预填充阶段(prefill),并支持页面大小等于1的情况。

2025-01-23 16:03:41 281

原创 Python unittest 使用教程

单元测试是针对代码中最小单元(通常是函数或方法)的测试,用来验证其行为是否符合预期。快速发现代码中的错误。保证代码重构后功能正确。提高代码的质量和可维护性。

2025-01-22 15:53:52 878

原创 【python实现小工具】带UI的批量文件名称修改工具

例如: 文件为“3a500.png” 可替换为“图3-500.png”;文件为“4a800.png” 可替换为“图4-800.png”使用 PyInstaller 打包 Python 程序时,如果不希望显示控制台窗口(黑框),可以在打包时使用。这两个选项都会让 PyInstaller 创建一个 GUI 应用程序,不会显示控制台窗口。运行时会出现一个简单的图形用户界面,允许你选择文件夹并输入字符进行替换。要实现一个带有图形用户界面的 Python 程序来批量重命名文件,可以使用。库来构建界面,并结合。

2024-12-23 18:57:38 353

原创 【AI编译器】MLIR — 入门

MLIR 社区充满活力。但由于它是一个新的且快速发展的项目,因此可用的教程和文档并不多。没有权威的MLIR书籍。大多数围绕事物的推理都来自民间传说和技术性很强的 RFC。而且由于 MLIR 构建在 LLVM(该缩写词以前的意思是“低级虚拟机”)之上,因此现有的许多文档都通过类比 LLVM 来解释概念,这对于像我这样不熟悉内部结构的人来说没有帮助LLVM 的工作原理。最后,在我看来,目前的教程水平太高,无法让人们真正了解如何在框架中编写程序。为此,我希望降低使用 MLIR 的准入门槛。

2024-12-23 18:56:37 1381

原创 ollama 加载多段GGUF

Ollama 默认可以识别分段的 GGUF 文件,只需确保所有分段文件在同一目录下,文件名具有正确的顺序编号。Ollama 读取分段文件时,会自动将它们拼接为一个完整的 GGUF 模型,无需额外手动合并。这样,你就可以在 Ollama 中顺利加载一个被分段的 GGUF 模型了!Ollama 会自动检测并拼接这些文件,只要它们的命名是正确顺序的。这会显示模型的元数据,包括权重、量化精度等信息,确认模型已正确加载。就是完整的 GGUF 文件,可以直接供 Ollama 加载。的框架)中加载被分成多段的。

2024-12-17 17:29:54 4807 5

原创 【bash】linux中打包某个可执行文件及其依赖文件

这将在当前目录下生成包含可执行文件及其依赖库的压缩包。)作为参数自动查找其路径并打包依赖。脚本已更新,现在可以通过传入可执行文件名(如。

2024-12-16 16:35:04 515

原创 【moviepy】编程实现给视频添加字幕

如果你不确定你的系统中有哪些字体可用,你可能需要先查找一下。参数接受两个元素的元组,分别对应于水平和垂直方向上的位置,可以是具体的像素值或者是特殊的字符串如’center’或’bottom’等。如果你想要更复杂的字幕效果,例如滚动字幕或多行字幕,那么你可能需要进一步定制代码。为了实现给视频添加字幕的功能,并能够设置字体、颜色、坐标以及起始帧的位置,你可以使用Python的。在这个例子中,我们指定了字幕文本、使用的字体、颜色、位置、字幕开始显示的时间和持续时间。这个库可以处理视频剪辑,包括向视频中添加文本。

2024-12-14 15:35:36 590

原创 ONNX解析(一)

node: 节点信息,包含了输入输出指向,以及一些属性值 inputs,outputs, attributes: 包含了权重信息value_info: 中间值的传递信息input:用于访问模型的输入信息output:用于访问模型的输出信息。输出张量是模型计算的结果。这些属性为提供了便捷的接口,用于访问和操作ONNX模型的节点、张量、输入输出及其他重要信息。通过这些接口,开发者可以轻松遍历和分析模型结构,进行调试或进一步的优化。

2024-10-15 13:44:53 84

原创 【性能优化】分块

整体上展示了矩阵乘法在硬件和软件领域中的分块计算策略。通过划分小块的方式,提高了数据局部性,减小了存储访问开销,同时通过调度方案的选择,优化了计算的效率和资源的利用率。

2024-09-15 23:19:39 154

原创 CUDA PTX代码学习:square_kernel注释

这个代码是使用LLVM NVPTX后端生成的CUDA PTX代码,用于在NVIDIA GPU上执行一个核函数。

2024-09-11 14:27:58 242

原创 【性能分析】ncu Metric Name解释

这些指标用于分析 CUDA 内核在 GPU 上执行时的性能表现,帮助识别潜在的性能瓶颈和优化机会,例如计算吞吐量、内存吞吐量、寄存器使用情况、共享内存使用情况等。

2024-09-11 14:18:59 253

原创 pointpillar部署-TensorRT实现(三)

【代码】pointpillar部署-TensorRT实现(三)

2024-09-10 18:20:06 127

原创 pointpillar部署-TensorRT实现(二)

pointpillar网络实现中ScatterBEV操作即Learned Features 是如何变化为Pseudo Images 在TensorRT并不支持,需要手动添加自定义操作。主要使用nvinfer1::plugin来实现。

2024-09-10 18:18:47 181

原创 pointpillar部署-TensorRT实现(一)

统一内存管理,无须进行cpu内存申请,gpu内存申请,cpu到gpu的数据拷贝过程。但是需要注意的是cudaMallocManaged 需要在变量初始化之前使用。相对于主机是异步的,因此调用可能在memset完成之前返回。可以通过传递非零流参数将操作与流相关联。如果流为非零,则该操作可能与其他流中的操作重叠。两个过程对应cuda程序中:generateVoxels_random_launch 和 generateFeatures_launch。主要包括两个过程,一个是生成voxel,一个是生成体素特征。

2024-09-10 18:18:23 199

原创 [译] 大模型推理的极限:理论分析、数学建模与 CPU/GPU 实测(2024)

在开发calm的过程中,我们考虑的一个核心问题是:推理的极限在哪儿?因为我们需要以此为准绳,去衡量真实推理系统的速度。calm 是一个基于 CUDA、完全从头开始编写的轻量级 transformer-based language models推理实现。本文试图讨论这个极限及其影响。如果对推导细节感兴趣,可参考这个 python notebook。对于大模型推理场景,计算和访存的次数是已知的,因此可以进行数学建模,计算理论极限。这非常有用,不仅可以用来验证推理系统的性能, 而且能预测架构变化带来的影响。

2024-09-09 14:25:17 1906

原创 【模型分析】Roofline Model

Roofline 模型是一种性能分析工具,用于描述计算性能和内存带宽之间的关系。它的核心思想是将计算性能(通常以 GFLOP/s 为单位)与内存带宽(通常以 GB/s 为单位)进行计算比例关系来分析模型瓶颈。直接运行此代码,将根据输入的芯片参数和模型参数,绘制 Roofline 图,并标识出模型的性能位置。重构为一个函数,并添加一个接口,用于输入一个模型的 FLOPS 和内存占用量,在 Roofline 模型中标识该模型的性能位置。)修改这些值来绘制不同的 Roofline 图。

2024-08-28 17:21:57 276 1

原创 【AI 绘画】web_ui 搭建(基于gradio)

Gradio的优势在于易用性,代码结构相比Streamlit简单,只需简单定义输入和输出接口即可快速构建简单的交互页面,更轻松部署模型。适合场景相对简单,想要快速部署应用的开发者。便于分享:gradio可以在启动应用时设置share=True参数创建外部分享链接,可以直接在微信中分享给用户使用。

2024-08-15 19:50:41 249

原创 【AI 绘画】Q版人物定制生成

添加不同的lora可以产生不同的效果,比如我们添加一个龙的背景lora,来生成不同风格的写真import sysimport cv2else:else:ims = []steps = 4inps = [None,None,None,prompt,scale,n_samples,seed,steps,H,W,id_scale,mode,id_mix,return ims。

2024-08-15 19:31:42 1179

原创 【AI 绘画】模型转换与快速生图(基于diffusers)

本次主要展示一下不同框架内文生图模型转换,以及快速生成图片的方法。SDXL文生图。

2024-08-15 14:34:08 322

原创 【AI 绘画】instantID手办定制

添加不同的lora可以产生不同的效果,比如我们添加一个龙的背景lora,来生成不同风格的写真例如:使用龙作为背景import cv2!

2024-08-14 23:27:50 163

原创 【AI 绘画】 文生图&图生图(基于diffusers)

本次测试主要结果展示如下:SDXL文生图可爱Lora。

2024-08-14 22:43:38 703

原创 【AI绘画】 学习内容简介

本次课程主要介绍AI绘画的常用方法,包括文生图、图生图、模型转换、web_ui搭建、controlnet基础使用、instantID手办定制、PulID手办定制、文生视频介绍、图片与视频超分、ComfyUI基础使用、ComfyUI进阶使用等。AI绘画一般会比较消耗显存,一般本地使用3090以及V100资源,这将给我们没有GPU的电脑带来不便,本专栏也将介绍如何使用AI studio等免费云端资源进行AI绘画,以方便没有GPU资源的小伙伴们进行学习。理解AI绘画的原理,掌握AI绘画的常用方法。

2024-08-14 22:30:23 345

原创 PDF转markdown工具:magic-pdf

将magic-pdf.template.json文件修改为magic-pdf.json放在系统目录,不同的系统默认目录不同,测试使用cpu执行,内存16g,3页pdf解析大概2分钟, 页数过多会崩掉。有些公式好像解析的不太对,整体可用。可以是单个 PDF 文件,也可以是包含多个 PDF 的目录。结果将保存在目录中。magic-pdf.template.json 中models-dir修改为模型的下载路径。

2024-08-13 16:08:38 5048

原创 【AI编译器】triton学习:矩阵乘优化

且需要注意的是,当M与数据握的大小BLOCK_SIZE_M不是相匹配的时候,我们可以通过添加一个额外模式来处理这种情况,例如,在数据中往底部加上一些无用的值。这种方式非常重要,因为执行顺序可能导致该程序中L2缓存的命中率不同,而且令人遗憾的是,如果我们使用矩阵增量式顺序执行代码,则其性能将会受到影响。通过比较如果我们按行向量序排列输出的话,则需要在SRAM中加载90个元素来计算第一层的9个输出值,而若是以固定单元格为基础进行分组操作,只需加载54个元素。为了实现该操作,我们需要使用多维指针运算方式。

2024-06-25 17:22:53 1270

原创 【AI编译器】triton学习:编程模型

在过去十年里,深度神经网络 (DNNs) 已成为机器学习 (ML) 模型的一个重要分支,能够实现跨领域多种应用中的最佳性能。这些模型由一系列包括参数化(如滤波器)和非参数化(如缩小值函数)元件组成的层次结构组成,这种模式虽然运算复杂度高且计算量大,但对于多核、并行处理器来说是非常适用的。由于深度神经网络的计算能力和 GPU编程带来了极高的难度,因此对特定应用语言 (DSL)及编译器引发出广泛的学术与产业界兴趣。

2024-06-25 17:20:09 1405

原创 Stable Diffusion 3: Research Paper

扩展模型 (Stable Diffusion) 在與 DALL·E 3、Midjourney v6 和 Ideogram v1这些图像生成系统相比,在书写效果以及响应指令方面表现出色。人类用户的预测性评估显示了这一点。全新多模态扩散变换器(MMDiT)架构,在图像和语言表示之间使用了不同的参数化学习权重函数,这有助于提高 Stable Diffusion 文本理解与翻译能力。

2024-06-13 14:35:33 1085

原创 【AI绘画】Stable Diffusion 3开源

Stable Diffusion 3是Stability AI目前为止最先进的文本转图像开放源代码算法。这款模型的小巧设计使其完美适合用于消费级PC和笔记本电脑,以及企业级图形处理单元上运行。它已经满足了标准化的文字转图像模型所需要的一切条件,适应市场需求的下一代模型正在到来。:采用先进的图像处理技术,能够生成精确、色彩饱和且光线自然的图像,同时也可以制作出高品质且多样化风格的输出。利用如16 通道 VAE的创新性技术解决了其他模型经常会遇到的问题,例如手部和面部实体效果不足等问题。

2024-06-13 13:40:29 917

原创 Hyper-SD: diffusion实时出图,一步搞定,字节出品

近来,一系列面向扩散模型(Diffusion Models,DM)的迭代紧凑式传播推断算法陆续出现,以解决其中的复杂性问题。目前,这些算法常常将方法分为两类:一是保持 ODE 流形连续性;二是重写 ODE 流形。然而,这两种方法在压缩后的执行效果中存在显著问题。因此,我们提出了 Hyper-SD 框架,通过有机结合以上两类算法的优点,并将其应用于压缩后模型的学习,从而实现高质量执行。此外,我们引入了人工反馈学习,以提高在低步长情况下的表现和改进该过程中可能发生的损失。

2024-06-06 19:03:36 1301

原创 【pytorch】大模型训练张量并行

原始 Tensor Parallel (TP) 模型并行技术于Megatron-LM论文中被提出,是一种用于培育大规模Transformer模型的高效模型并行技术。我们在本练习指南中介绍的序列并行 (SP) 实际上是TP模型并行技术的一个变种,这里使用序列划分对 nn.LayerNorm 或 RMSNorm 进行划分,以节省在训练过程中的活动内存。随着模型体量的扩大,其运算内存就会成为主要瓶颈,因此TP模型并行技术通常是将序列并行应用于 LayerNorm 或 RMSNorm 层。

2024-06-03 17:47:18 2173

原创 DistriFusion: 分布式并行推理加速高分辨率 Diffusion Models

虽然采用扩散模型来生成高质量图像已经取得了巨大的进展,但是要通过该方法构建多分辨率图像还存在不小的困难。这主要是由于扩散模型需要消耗庞大的计算量才能达到理想效果,造成了非常严重的时间延迟问题,而此类应用在交互性方面具有核心作用。为解决这个难点,我们提出了 DistriFusion 模型以实现高效率处理。该模型首先将输入分片后再按 GPU 分配,但是由于无法考虑图像相邻层之间的关联性就可能导致丢失了原始信息并产生模糊度。

2024-06-03 10:42:17 745

Annual International Conference on Network and Informa

计算机网络信息国际会议论 Annual International Conference on Network and Informa

2022-12-14

kitti数据点云网络训练数据增强标签

自动驾驶-kitti数据点云网络训练数据增强标签 给出了点云道路平面的范围,可以在此范围对点云进行目标增强 也可通过点云与图像的变换矩阵对图像3d目标增强

2022-12-14

pytorch版本DCGAN生成二次元头像,包含源码训练测试代码,以及训练数据和训练权重 pytorch学习练手项目

pytorch学习练手项目 pytorch版本DCGAN生成二次元头像, 包含源码训练测试代码,以及训练数据和训练权重

2022-02-18

facedetection.zip

针对嵌入式平台的人脸检测

2021-04-06

MS-Celeb-1M_clean_list

MS-Celeb-1M 微软名人人脸库,净化版描述文件txt,针对已经对齐的人脸MS-Celeb-1M_clean_list

2018-09-19

手写体图片(png格式)+MNIST数据集

手写体图片(png格式)+MNIST数据集,编程时自动下载不下来,将MNIST数据集放程序目录即可

2018-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除