- 博客(641)
- 资源 (13)
- 收藏
- 关注
转载 PyTorch Cookbook(常用代码段整理合集)
本文代码基于PyTorch 1.0版本,需要用到以下包import collectionsimport osimport shutilimport tqdmimport numpy as npimport PIL.Imageimport torchimport torchvision1 基础配置1-1 检查PyTorch版本torch.__version__ ...
2019-04-27 15:58:29 2778 4
原创 Linux常见命令汇总(累积中。。。)
Linux下统计当前文件夹下的文件个数、目录个数统计当前文件夹下文件的个数,包括子文件夹里的ls -lR|grep "^-"|wc -l统计文件夹下目录的个数,包括子文件夹里的ls -lR|grep "^d"|wc -l统计当前文件夹下文件的个数ls -l |grep "^-&quot
2018-12-06 11:08:08 1548 11
原创 本博客目录及版权申明
【C++ Primer 学习笔记】系列:第一部分 基本语言第二部分 容器和算法 【C++ Primer 学习笔记】: 容器和算法之【顺序容器】 【C++ Primer 学习笔记】: 容器和算法之【关联容器】 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】第三部分 类和数据抽象第四部分 面向对象编程与泛型算法第五部分 高级主题【Java: 23种设计模式】系列 Java: 23
2015-11-25 17:37:30 1424 1
原创 CUDA从入门到放弃(十一):延迟加载 Lazy Loading
延迟加载是一种技术,它将CUDA模块和内核的加载从程序初始化阶段推迟到实际内核执行之前。在程序运行过程中,如果并非所有包含的内核都被使用,那么一些内核就会被避免不必要的加载,这在包含多个库时尤为常见。大多数情况下,程序仅会使用库中的少数几个内核。通过延迟加载,程序可以仅加载实际需要的内核,从而节省初始化时间,并减少GPU和主机内存的开销。要启用延迟加载,可以将CUDA_MODULE_LOADING环境变量设置为LAZY。
2024-03-29 08:32:20 525
原创 CUDA从入门到放弃(十四):CUDA Thrust库
CUDA从入门到放弃(十四):CUDA Thrust库Thrust 是一个基于标准模板库(STL)的 C++ 模板库,专为 CUDA 设计,旨在简化高性能并行应用的开发。它提供了一系列数据并行原语,如扫描、排序和归约,可组合实现复杂算法。通过高级抽象描述计算,Thrust 能自动选择最优实现,适用于 CUDA 应用的快速原型设计和生产环境,提高程序员生产率和性能。
2024-03-29 08:30:48 740
原创 CUDA从入门到放弃(十三):C++语言扩展 C++ Language Extensions
CUDA从入门到放弃(十三):C++语言扩展 C++ Language Extensions。
2024-03-28 08:35:16 899
原创 深度学习论文: Attention is All You Need及其PyTorch实现
深度学习论文: Attention is All You Need及其PyTorch实现PyTorch:大多数先进的神经序列转换模型采用编码器-解码器结构,其中编码器将输入符号序列转换为连续表示,解码器则基于这些表示逐个生成输出符号序列。在每个步骤中,模型采用自回归方式,将先前生成的符号作为额外输入来生成下一个符号。
2024-03-28 08:33:40 1530
原创 CUDA从入门到放弃(八):事件( Events)
CUDA从入门到放弃(八):事件( Events)CUDA 提供了强大的功能,不仅可以监控设备的进度,还能实现精确的计时。这些功能是通过异步记录程序中的事件并查询其完成状态来实现的。每个事件都严格遵循完成机制,确保在所有前置任务或特定流中的命令全部执行完毕后,才被视为已完成。而在流 0 中的事件,更是需要等待所有流中的任务都圆满完成后,才会标记为完成。
2024-03-27 08:49:53 133
原创 CUDA从入门到放弃(七):流( Streams)
CUDA从入门到放弃(七):流( Streams)应用程序通过流来管理并发操作,流是一系列按顺序执行的命令。不同的流可能无序或并发地执行命令,但此行为并不保证。流上的命令在依赖关系满足时执行,这些依赖可能来自同一流或其他流。同步调用(synchronize call)可以确保所有启动的命令已完成。任何 CUDA 操作都存在于某个 CUDA 流中,要么是默认流(default stream),也称为空流(null stream),要么是明确指定的非空流。
2024-03-27 08:49:18 1103
原创 CUDA从入门到放弃(四):CUDA 编程模式 CUDA Programming Model
CUDA从入门到放弃(四):CUDA 编程模式 CUDA Programming Model。
2024-03-26 09:02:39 859
原创 CUDA从入门到放弃(六):CUDA内存结构(Memory Hierarchy)
CUDA从入门到放弃(六):CUDA内存结构(Memory Hierarchy)CUDA线程在执行过程中可以从多个内存空间访问数据。每个线程都有私有的局部内存。每个线程块具有共享内存,该内存对所有线程块内的线程可见,并且与线程块具有相同的生命周期。线程块集群中的线程块可以相互执行对共享内存的读取、写入和原子操作。所有线程都可以访问相同的全局内存。此外,还有两个所有线程都可以访问的只读内存空间:常量内存空间和纹理内存空间。对于同一应用程序来说,全局内存、常量内存和纹理内存空间在内核启动之间是持久的。
2024-03-26 09:01:50 955
原创 CUDA从入门到放弃(九):CUDA错误处理(Error Handling)
在编写CUDA程序时,错误处理是确保程序正确性和稳定性的关键。CUDA错误主要分为编译阶段和运行阶段两类。编译阶段错误通过编译器检查,而运行阶段错误更为复杂,涉及运行时条件、内存访问和设备资源等。对于运行阶段错误,特别要关注带返回码和不带返回码的函数。带返回码的函数,如CUDA API,应即时检查其返回的错误码。而不带返回码的函数则需要关注其他错误指示方式,如全局状态或日志信息。
2024-03-25 11:59:14 955
原创 CUDA从入门到放弃(五):CUDA线程模型 CUDA Thread Hierarchy
CUDA线程模型精心构建了三个层次:线程(Thread)、线程块(Block)和线程网格(Grid),它们协同工作,共同实现高效的并行计算。
2024-03-25 11:18:14 336
原创 CUDA从入门到放弃(十):统一寻址编程 Unified Memory Programming
Unified Memory Programming 统一内存编程。
2024-03-22 16:16:43 957
原创 CUDA从入门到放弃(十二):CUDA环境变量 CUDA Environment Variables
CUDA Environment Variables CUDA环境变量。
2024-03-22 16:13:26 331
原创 Mora: Enabling Generalist Video Generation via A Multi-Agent Framework
为弥补Sora不开源的缺陷,本文提出多代理框架Mora,整合先进视觉AI代理,复制Sora的全能视频生成能力。Mora能利用多视觉代理,成功模仿Sora在各种任务中的视频生成能力。
2024-03-22 16:03:16 1091
原创 SAM-Lightening: Lightweight Segment Anything Model with Dilated Flash Attention
通过将自注意力操作符蒸馏成具有动态层次蒸馏的Dilated Flash Attention,SAM-Lightening在图像上完成推理平均每张仅需7ms,实现了比SAM-ViT-H快30.1倍的速度提升。
2024-03-18 11:41:56 864
原创 Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models
Sora 是一项重大突破,类似于 ChatGPT 在 NLP 领域的影响。Sora 是第一个能够根据人类指令生成长达一分钟视频的模型,同时保持较高的视觉质量和引人注目的视觉连贯性,从第一帧到最后一帧都具有渐进感和视觉连贯性。
2024-03-14 14:08:37 716
原创 opencv编解码base64字符串
下载仓库,并将base64.h,Base64.cpp 加入代码中,将Mat对象编码为base64字符串。将base64解码为Mat对象。
2024-03-14 10:04:11 301
原创 EdgeSAM: Prompt-In-the-Loop Distillation for On-Device Deployment of SAM
作者在对各种蒸馏策略进行深入剖析后,证实了task-agnostic的编码器蒸馏难以完全吸收SAM所掌握的全部知识。鉴于此,EdgeSAM巧妙地循环运用bbox与point提示词,并同步对提示词编码器和Mak解码器进行蒸馏,以确保蒸馏模型能够精准地掌握提示词与Mask之间错综复杂的关联。EdgeSAM是首个能在iPhone 14上以超过30 FPS运行的SAM变体。在2080Ti上,相比原生SAM,EdgeSAM推理速度快40倍;
2024-03-13 16:25:16 545
原创 RepViT-SAM: Towards Real-Time Segmenting Anything
RepViT-SAM延续了MobileSAM的处理方式,引入RepViT-M2.3作为图像编码器提取图像特征,以及选用了SAM-ViT-H作为老师模型进行蒸馏。
2024-03-13 16:23:43 325
原创 EfficientSAM: Leveraged Masked Image Pretraining for Efficient Segment Anything(EfficientSAM)
SAM 是一款具备显著实质意义的 Transformer 模型,它在庞大的 SA-1B 数据集上接受了深度训练,因此在零样本迁移与多功能性方面展现出了卓越的性能。尽管如此,由于其高昂的计算需求,SAM 的应用范围受到了一定的限制。SAMI 创新地采纳了 SAM 编码器 ViT-H 来生成特征嵌入,并通过训练轻量级编码器构建掩码图像模型。这一策略巧妙地绕过了传统的从图像补丁中重建特征的路径,转而直接从 SAM 的强大 ViT-H 中汲取特征。
2024-03-05 17:08:17 622
原创 深度学习论文: YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information及其PyTorch实现
首先,YOLOv9引入了革命性的可编程梯度信息(Programmable Gradient Information, PGI)技术,这一创新理念致力于解决深层神经网络中信息丢失的难题。传统的目标检测网络在传递深层信息时,经常丢失对最终预测至关重要的细节。然而,YOLOv9借助PGI技术,确保了网络在学习过程中能够维持完整的输入信息,从而获取更加可靠和精确的梯度信息,极大地提升了权重更新的准确性。这一独特的设计显著提高了目标检测的准确率,为实现实时、高精度的目标检测提供了强有力的支持。
2024-03-01 17:25:35 665
原创 ncnn之三(补充):window环境下vs2022安装ncnn+protobuf
启动VS2022 下面的 x64 Native Tools Command Prompt for VS2022。
2024-02-20 14:00:10 584
原创 std::vector<cv::Mat>和unsigned char** in_pixels 互相转换
转换为unsigned char** in_pixels,将std::vector。
2024-02-07 16:02:12 370
原创 PaddleOCR将自己训练的模型转换为openvino格式模型
inference 模型(paddle.jit.save保存的模型) 一般是模型训练,把模型结构和模型参数保存在文件中的固化模型,多用于预测部署场景。训练过程中保存的模型是checkpoints模型,保存的只有模型的参数,多用于恢复训练等。与checkpoints模型相比,inference 模型会额外保存模型的结构信息,在预测部署、加速推理上性能优越,灵活方便,适合于实际系统集成。模型,inference模型保存在。onnx转为ov模型。
2024-01-26 15:22:44 322
原创 Lama Cleaner安装以及使用
Lama Cleaner是一款完全免费开源,而且没有分辨率限制的图片去水印、修复工具。Lama Cleaner,内置了多种AI 模型构建,功能相当的齐全。可用于快速去除图像中各种水印、物品、人物、字体、等对象,并支持老照片修复、文本替换图像内容等。项目地址:https://github.com/Sanster/lama-cleaner。
2024-01-25 13:44:53 547
原创 在C#中调用C++函数并返回const char*类型的值
在C#中,使用DllImport特性将C++函数声明为外部函数。在Main方法中,调用generateProjectCode函数并将返回的指针转换为const char*类型的字符串。在C#中调用C++函数并返回const char*类型的值,可以使用Interop服务来实现。C++代码需要编译为动态链接库(DLL)。
2024-01-22 10:52:33 485
原创 深度学习论文: An End-to-End Trainable Neural Network for Image-based Sequence Recognition
CRNN将特征提取,序列模型和转录融合到一个统一的框架下。目前已经存在的算法的组件大多是分开训练和调整的,相比之下CRNN是可以进行端到端训练的。能够自然的处理任意长度文本,不涉及字符分割和水平尺度归一化不受限于任何预定义的词库,并且在使用词库和不使用词库的模式下都取得了较好的成过。使用高效且小的多的模型,在现实应用中更具实用性。
2023-11-17 16:25:19 132
原创 深度学习论文: PGNet: Real-time Arbitrarily-Shaped Text Spotting with Point Gathering Network及其PyTorch实现
PGNet是一个单阶段文本spotter,,其中像素级字符分类图是通过提出的PG-CTC损失学习的,从而避免了字符级注释的使用。使用PG-CTC解码器,我们可以从二维空间中收集高级字符分类向量,并将其解码为文本符号,而无需进行NMS和RoI操作,从而确保了高效率。此外,根据每个字符及其相邻字符之间的关系,提出了一种图形细化模块(GRM),以优化粗略识别并提高端到端性能设计PGNet loss指导训练,不需要字符级别的标注不需要NMS和ROI相关操作,加速预测提出预测文本行内的阅读顺序模块;
2023-11-17 12:57:51 159 1
原创 深度学习论文: Real-Time Scene Text Detection with Differentiable Binarization and Adaptive Scale Fusion
在 DBNet 中,在分割网络中直接对多尺度的特征图聚合来提高对不同尺度的鲁棒性,直接聚合缺少了对特征的选择性DBNet++ 中,作者提出了 Adaptive Scale Fusion (ASF) module,来动态聚合多尺度特征图联合优化分割网络的 DB 模块,能够获得更加鲁棒的结果并提升文本检测的效果在 infer 过程中,DB 模块可以被移除且对最终效果没有明显的影响,故在 infer 过程中不会带来额外的时间消耗ASF 模块能够给分割网络引入更鲁棒的特征。
2023-11-16 17:09:58 82
原创 深度学习论文: Real-time Scene Text Detection with Differentiable Binarization及其PyTorch实现
传统的文本检测算法流程是先通过网络输出文本分割的概率图,然后使用预先设定好的阈值将概率图转换为二值图,最后使用后处理操作将像素级的结果转换为检测结果。然而,这样就会使得算法性能很大程度上取决于二值化时阈值的选择。DBNet对这个流程进行了优化,对每个像素点进行自适应二值化,二值化的阈值由网络学习得到,彻底将二值化这一步骤加入到网络里一起训练,这样最终的输出图对于阈值就会非常鲁棒。
2023-11-16 15:42:08 55
原创 Paddle-OCR根据垂直类场景自定义数据微调PP-OCRv4模型
除上述单张图像为一行格式之外,PaddleOCR也支持对离线增广后的数据进行训练,为了防止相同样本在同一个batch中被多次采样,我们可以将相同标签对应的图片路径写在一行中,以列表的形式给出,在训练中,PaddleOCR会随机选择列表中的一张图片进行训练。需要提供一个自定义字典({word_dict_name}.txt),使模型在训练时,可以将所有出现的字符映射为字典的索引。,在训练的时候,对于该行标注,会随机选择其中的一张图片进行训练。字段下的路径和文件里记载的图片名构成了图片的绝对路径。
2023-11-15 16:43:12 2114
原创 c# 和 c++ 匿名互相传递参数
在上述示例中,我们在C#中定义了一个匿名函数CallbackDelegate,并在C++中定义了一个匿名函数CallbackDelegate。然后,在C#中通过DllImport特性声明了C++中的函数CallCppFunction,并在Main方法中调用了该函数,并传递了C#中的匿名函数作为参数。在C++中,我们通过extern “C” __declspec(dllexport)声明了CallCppFunction函数,并在该函数中调用了C#中的匿名函数,并传递了参数。
2023-11-13 16:09:38 250
原创 Towards Generic Anomaly Detection and Understanding: Large-scale Visual-linguistic Model (GPT-4V)
最近,大型多模态模型(LMM)迅猛发展。其中,OpenAI最近推出的GPT-4V (ision)表现最为出色,具有强大的多模态感知能力。它在场景理解、图片生成等多个任务中都取得了良好的表现。这为通用异常检测的研究提供了新的范式和机会。为了评估GPT-4V在通用异常检测中的性能,来自华中科技大学、密歇根大学和多伦多大学的研究者联合进行了一项研究。他们在涉及4个数据模态和9个异常检测任务的15个异常检测数据集上对GPT-4V进行了全面的测试。
2023-11-13 13:59:54 87
CUDA C编程权威指南
2019-05-02
CUDA并行程序设计 GPU编程指南
2019-05-02
linux下安装Anaconda3+pytorch+tensorboardX依赖包
2019-03-23
Quartz 示例代码
2017-05-02
Java反射机制代码
2017-05-01
java反射示例代码
2017-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人