
深度学习笔记
文章平均质量分 63
记录深度学习常见算法的用法和代码实现
纳兰小熊
Notes do not lie! 个人主页:https://liujf69.github.io/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DL笔记--基于Mnist数据集测试Mixup数据增广策略
10epoch:97.56%→97.87%,提升0.31%20epoch:98.07%→98.27%,提升0.20%原创 2024-11-04 21:52:17 · 185 阅读 · 0 评论 -
DeepSpeed笔记--利用Accelerate实现DeepSpeed加速
4-1--创建accelerrate配置。# 安装accelerate。# 获取默认配置文件。# 查看环境是否配好。原创 2024-09-28 21:51:44 · 1171 阅读 · 0 评论 -
深度学习笔记--基于C++手撕self attention机制
mask self attention 与 self attention 最大的区别在于:self attention 中每一个 token 可以看到和获取所有 token 的特征,而 mask self attention 的 token 只能看到其前面(左边)的 token 特征,并不能聚合其后面的 token。对于上图的 mask self attention,a1 只能聚合本身的特征,a2 可以聚合 a1 和本身的特征,a4 则可以聚合前面全部 token 的特征;原创 2023-11-07 22:16:27 · 809 阅读 · 0 评论 -
AIGC笔记--基于DDPM实现图片生成
前向扩散过程对一张图像逐渐添加高斯噪声,直至图像变为随机噪声。反向生成过程从一个随机噪声开始,逐渐去噪声直至生成一张图像。扩散模型包含两个过程,前向扩散过程和反向生成过程。原创 2023-10-23 19:57:08 · 873 阅读 · 0 评论 -
深度学习笔记--本地部署Mini-GPT4
升级 bitsandbytes 库,这里博主选用 0.38.1 版本的 bitsandbytes 解决了问题;--delta-path 表示第 3 步中下载的 vicuna-7b-delta-v1.1 权重的存放地址;--bash-model-path 表示第 3 步中下载的 llama-7b-hf 权重的存放地址;--target-model-path 表示生成 Vicuna 权重的存放地址;4--生成 Vicuna 权重。6--可能出现的问题。原创 2023-05-03 17:45:46 · 7476 阅读 · 7 评论 -
深度学习笔记--修改替换Pytorch权重文件的Key值
最近复现一篇 Paper,需要使用预训练的模型,但预训练模型和自定义模型的 key 值不匹配,导致无法顺利加载预训练权重文件;原创 2023-03-20 11:58:09 · 2326 阅读 · 0 评论 -
深度学习笔记--解决GPU显存使用量不断增加的问题
出现上述问题的原因在于:输入数据到网络模型进行推理时,会默认构建计算图,便于后续反向传播进行梯度计算。而构建完整的计算图,会增加计算和累积内存消耗,从而导致 GPU显存使用量不断增加;基于 Pytorch 使用 VGG16 预训练模型进行分类预测时,出现 GPU 显存使用量不断增加,最终出现 cuda out of memory 的问题;由于博主只使用 VGG16 预训练模型进行分类预测,不需要训练和反向传播更新参数,所以不用构建完整的计算图。原创 2023-02-14 14:56:12 · 4628 阅读 · 0 评论 -
深度学习笔记--修改、增加和删除预训练模型的特定层
从上面代码的执行结果可知:模型在修改前和修改后,被修改层的参数不同,未修改层的参数保持相同;上述代码结果表明:被修改的层,其参数状态变为可学习,未修改层的参数仍保持原状态;这里以修改 VGG16 最后一层为例,将输出类别更改为120类;简单的实现方式是:使用 del 指令删除指定的网络层;基于 Pytorch,以 VGG16 模型为例;在原模型的基础上,在特定位置新增新的网络模块;首先固定预训练模型的权重,再对特定层进行修改。2--初始化 VGG16 模型。6--固定预训练模型的权重。原创 2023-02-11 20:55:56 · 3331 阅读 · 0 评论 -
深度学习笔记--top_k指标的计算
常用的 top_k 指标有 top_1、top_5 和 top_10等;top_10准确率:前10个概率最高的类别中,包括真实类别的准确率;top_1准确率:前1个概率最高的类别中,包括真实类别的准确率;top_5准确率:前5个概率最高的类别中,包括真实类别的准确率;1--top_k指标的定义。1--top_k指标的定义。原创 2023-02-10 17:11:36 · 1309 阅读 · 0 评论 -
深度学习笔记--使用VGG16预训练模型
2--使用VGG16预训练模型。1--常用预训练模型下载。1--常用预训练模型下载。原创 2023-02-07 12:00:44 · 3248 阅读 · 0 评论 -
深度学习笔记--基于Pytorch搭建VGG16网络
1--VGG16网络。1--VGG16网络。原创 2023-01-08 23:48:22 · 1310 阅读 · 0 评论 -
神经网络可视化方法总结
1--利用netron库可视化神经网络介绍:netron是一个深度学习模型可视化库,其可视化pytorch神经网络模型的两个步骤为:①pytorch保存神经网络模型为onnx格式,代码如下:torch.onnx.export(model, data, onnx_path)# model为神经网络模型# data为模型输入数据# onnx_path为模型保存的文件名②导入onnx模型文件至netron,实现可视化,代码如下:netron.start(onnx_path)# on原创 2021-12-13 22:00:58 · 8216 阅读 · 0 评论 -
Yolov5笔记--自适应图片缩放letterbox
简单阐述:letterbox()函数的作用是将图像缩放到指定尺寸,因为直接resize到指定尺寸会导致信息的丢失,而采用等比例缩放的形式,能较好地保留图像的信息;Yolov5采用自适应缩放确保图片宽高值最大为640,同时通过padding填充像素值的方式确保宽高能被32整除,最大程度地利用感受野。原创 2022-12-21 20:27:45 · 5281 阅读 · 3 评论 -
利用PaddleOCR训练车牌识别模型
1--前言①系统:Ubuntu18.04②Cuda:11.0③CudaNN:8.04④配置Paddle环境2--生成车牌数据集①具体可见GitHub项目:Github生成车牌数据集#coding=utf-8import randomimport numpy as npfrom PlateCommon import *if __name__ == "__main__": import all_kinds_plateelse: from . impor原创 2022-04-26 16:32:03 · 4889 阅读 · 0 评论 -
记录--Ubuntu18.04、RTX3090安装Cuda11.0和PaddleOCR
目录1--安装Cuda11.02--安装CuDNN 8.043-- 安装PaddleOCR1--安装Cuda11.0准备步骤:①禁用nouveau:sudo gedit /etc/modprobe.d/blacklist.conf在弹出的文本末尾,添加黑名单:blacklist nouveau②保存后,执行以下两条命令重启:sudo update-initramfs -ureboot③输入命令,测试是否禁用成功:(无任何输出,代表禁用成功)原创 2022-04-25 10:59:06 · 5922 阅读 · 0 评论 -
Yolov5笔记--检测bilibili下载好的视频
目录1--下载yolov5源码2--下载测试的bilibili视频3--利用预训练模型检测bilibili视频4--结果展示1--下载yolov5源码下载源码地址:Download下载预训练好的模型:预训练模型.pt文件下载将下载好的预训练模型放在新建的pretrained文件中:2--下载测试的bilibili视频下载方式参考本人上一篇博客:利用python下载bilibili视频将下载好的视频利用格式工厂等软件转换成yolov5能够识别的视频格式(原创 2022-03-04 22:39:14 · 3385 阅读 · 0 评论 -
笔记--Win11安装mmcv-full
1--前言电脑原配置:①系统:Win11家庭中文版②Cuda版本:11.4.158(安装将改用10.2的版本)③显卡:RTX30602--安装前的工作2-1--安装10.2的Cuda版本NVIDIA CUDA驱动版本下载地址:https://developer.nvidia.com/cuda-toolkit-archivecudnn下载地址 :https://developer.nvidia.com/rdp/cudnn-archive注1:安装Cuda10原创 2022-03-11 23:34:43 · 3016 阅读 · 1 评论 -
Yolov5笔记--RKNN推理部署源码的粗略理解
1--基础知识①Yolov5的输出格式一般为a ×b × c × 85的形式,其中a*b*c表示框的数目,85则涵盖框的位置信息(x,y,w,h)、置信度Pc和80个类别的预测概率c1,...,c80。下图展示了不同版本Yolov5的输出信息:②阈值过滤锚框简要介绍两种过滤锚框的方法:A:利用置信度(box_confidence,即Pc)和预测概率(box_class_probs,即c1,...,c80)计算锚框的得分(box_scores),如果最高的得分高于过滤阈值(thr.原创 2022-05-27 17:05:46 · 5550 阅读 · 3 评论 -
笔记记录--基于ccpd数据集利用Paddle OCR训练车牌检测模型
① 创建环境conda create -n paddle_env python=3.8conda activate paddle_env② 安装paddlepaddle# 切换cuda版本为11.1# sudo gedit ~/.bashrc# source ~/.bashrc# 安装paddlepaddlepython -m pip install paddlepaddle-gpu==2.3.0.post111 -f https://www.paddlepaddle.org.cn/whl/l原创 2022-06-22 18:18:54 · 1751 阅读 · 1 评论 -
笔记--使用yolov5训练自定的数据集
目录1-- 使用labelimg标注自定数据集2-- 数据集路径格式3-- 设置配置文件4-- 训练5-- 检测6-- 参考7-- 补充问题安装labelimg第三方库运行labelimgOpen Dir:需标注的数据集地址 Change Save Dir:存放已标注数据集 label 的地址Next Image 和 Prev Image 用于切换下一张和上一张图片Change save format:注意切换成Yolo的格式Create RectBox:使用矩形框标注物体的位置训练集和验证集的原创 2022-06-30 10:34:05 · 1549 阅读 · 0 评论 -
Pytorch学习笔记--SEResNet50搭建
1--ResNet50介绍上图为ResNet50的整体结构,除Input和Output环节外,还包含5个环节:Stem Block环节、Stage1-4环节和Subsequent Processing环节。1-1--Stem Block环节Stem Block环节的Input是一个三通道(C = 3, W= 224, H = 224)的图像,首先经过卷积操作(kernel_size = 7 x7,stride = 2,卷积核个数 = 64 )、归一化操作、RELU操作,再经过最...原创 2021-11-17 14:58:02 · 10724 阅读 · 13 评论 -
深度学习笔记--Transformer中position encoding的源码理解与实现
令:position = p,则position * div_term。分别取行数列和奇数列,就可以得到上图绿框所示的公式。2--源码分析与理解。原创 2022-11-16 21:43:21 · 1392 阅读 · 0 评论 -
深度学习笔记--权重文件、模型参数和预训练模型的使用
4--将模型部分参数固定(不进行梯度下降)3--使用权重文件参数更新模型的参数。1--打印权重文件参数。原创 2022-11-19 21:29:09 · 4167 阅读 · 1 评论 -
记录--深度学习加载大数据集遭遇内存和磁盘io瓶颈的问题
即不能一次加载完整的数据集到内存中,而频繁的io请求来加载单个样本的数据,也会导致机械硬盘的io瓶颈。博主也想过这个问题,但问题是博主读取训练样本的时候是随机产生索引的(即shuffle),我并不能保证一个batchsize中产生的样本索引都在这个大文件中,所以这种方法并不合适。,即把CPU对数据集进行预处理的模块放在显卡上进行,不再由CPU放在内存中进行,而是直接传送到GPU上处理。由于内存的紧张,导致空闲的内存低,所以不能每次加载足够多的样本存放在内存中等待读取。这时,博主想到的一个解决方法就是,原创 2022-10-23 16:24:43 · 3806 阅读 · 1 评论