深度学习学习笔记
phily123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
labelme使用教程
先安装python3.8,再安装pyqt5。原创 2022-10-25 10:30:28 · 1642 阅读 · 1 评论 -
深度学习学习笔记——解决conda、pip下载过慢的问题
https://blog.youkuaiyun.com/moonlightpeng/article/details/115677407原创 2022-07-12 17:56:44 · 438 阅读 · 0 评论 -
深度学习可视化
https://jishuin.proginn.com/p/763bfbd687ba原创 2022-07-12 00:00:45 · 380 阅读 · 0 评论 -
深度学习笔记——hrnet
一、HRNet参考链接:https://zhuanlan.zhihu.com/p/143385915hrnet改进点:1、将不同分辨率之间的串联改为了并联2、始终保持着高分辨率的特征图(具有较强的位置信息)(最上面一层的特征图)3、将不同分辨率进行融合,提升模型性能怎么做:1、相同分辨率之间直接进行复制2、下采样采用的是33卷积而不是最大池化3、上采样采用的双线性插值以及利用11卷积来调整通道数以进行特征融合4、不同分辨率的特征图进行特征融合采用的是直接add...原创 2022-03-25 23:00:45 · 2963 阅读 · 0 评论 -
linux下cuda、cudnn、tensorRT的安装
一、linux下cuda安装:传统上,安装 NVIDIA Driver 和 CUDA Toolkit 的步骤是分开的,但实际上我们可以直接安装 CUDA Toolkit,系统将自动安装与其版本匹配的 NVIDIA Driver。cuda10.2下载官网,选择runfile的安装方式。指令如下:wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_原创 2022-02-19 21:33:36 · 2576 阅读 · 0 评论 -
深度学习笔记——sgd与adam与weight decay
https://zhuanlan.zhihu.com/p/32230623sgd与动量无关sgdm引入了一阶动量adam引入了一阶动量与二阶动量https://blog.youkuaiyun.com/program_developer/article/details/80867468权重衰减作用于L2正则化,使参数变小,减少过拟合。为什么参数变了可以防止过拟合,因为参数越小模型复杂度越低,对数据的拟合效果更好,同时较大的参数,无关特征的影响也会更小。...原创 2022-02-26 19:06:07 · 3160 阅读 · 0 评论 -
深度学习学习笔记——为什么要归一化
作用:排除量纲的作用,加速模型收敛;提高模型精度,同时模型对小数据也更敏感。方法:标准化、最大值最小值归一化原创 2022-02-21 23:12:19 · 1198 阅读 · 0 评论 -
pytorch学习笔记
pytorch流程:加载模型(model)输入数据(数据处理后的数据(input)模型输出(pred=model(input)计算损失函数(loss)反向传播(loss.backward())参数更新(optimizer.step())数据处理流程:加载数据(numpy)修改输入图片尺寸(resize)转化成tensor,并转到device上(im = torch.from_numpy(im).to(device))精度转化(im = im.half() if half else im原创 2022-02-21 15:05:50 · 1839 阅读 · 0 评论 -
极市比赛脚本文件
一、start_train.sh二、split_train_val.py三、xml_to_txt.py一、start_train.sh#!/bin/bash# 创建默认目录,训练过程中生成的模型文件、日志、图必须保存在这些固定目录下,训练完成后这些文件将被保存rm -rf /project/train/models/result-graphs && rm -rf /project/train/logmkdir -p /project/train/result-graphs &am.原创 2022-02-20 21:56:40 · 857 阅读 · 0 评论 -
深度学习常用命令
一、Linux下查看CUDA和cuDNN版本https://www.cnblogs.com/jimlau/p/13260269.html1、查看cuda版本nvcc -Vcat /usr/local/cuda/version.txtpython脚本import torchprint(torch.version.cuda)2、查看cudnn版本cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2如果没有则cudnn可能原创 2022-02-19 22:04:30 · 420 阅读 · 0 评论 -
深度学习笔记——cuda、cudnn、pytorch安装
https://www.machunjie.com/trouble/110.htmlhttps://zhuanlan.zhihu.com/p/92072459conda 安装pytorch时可以自动安装runtime的cuda,所以电脑可以有不同的cuda版本,他们共同调用系统的cuda内核,nvidia -smi显示的是系统内核cuda,即driver支持的最高版本的cuda,所以安装的runtime cuda一定要在范围内...原创 2022-01-02 15:23:19 · 2368 阅读 · 0 评论 -
pytorch学习笔记——数据类型的转化
参考链接:[https://mp.weixin.qq.com/s/yz8l54VusPWmF6dWkYL1VA]https://zhuanlan.zhihu.com/p/87441580np.ndarray与PIL.Image的转换image = PIL.Image.fromarray(ndarray.astype(uint8))ndarray = np.asarray(PIL.Image.open(path))PIL.Image转Opencvimage = cv2.cvtColor(numpy原创 2021-12-17 16:18:16 · 4481 阅读 · 0 评论 -
深度学习学习笔记——在kaggle上跑mmdetection
pytorch版本升级:因为kaggle默认的torch版本时1.4,而mmcv需要的最低torch版本大于1.4,故要升级torch版本,但是刚点进pytorch官网发现支持的cuda版本只有10.2和11.3,所以只能另想办法,最后用pip install torch==1.7的方式指定torch版本,最后虽然下载下来了发现用pip show pytorch确实是下载的1.7版本,可是用torch.__version__发现还是原来的1.4版本,没弄明白但当然不能用,最后发现官网原来是有其他指定的cu原创 2021-12-15 16:42:56 · 3530 阅读 · 0 评论 -
深度学习学习笔记——线性分类器SVM和softmax分类器
参考链接:上图可以很明显看出SVM和softmax(其实就是CE)损失函数的区别:1、对于SVM,先求出Xi属于每一类的分数(每一类的分数由这一类的分类器输出,所以三维的输出是三个分类器),如果正确类的分数比某一其他类分数差值低于1,那么相对于1的缺值会被添加到总的损失函数上,如果正确类损失函数分数比其他类分数高于1,对总的损失函数贡献为零。2、对于sotamax分类器,先将每一输出值通过softmax函数归一化后转化成0和1之间的概率值,因为log函数在(0,1)之间时值为负,所以需要在损失函原创 2021-12-10 00:32:38 · 1269 阅读 · 0 评论 -
深度学习学习笔记——常见知识点
提高网络模型表达能力:增加深度、宽度、输入的分辨率手写self-attention介绍图神经网络为什么L1更容易稀疏AUC怎么计算手写个attention的伪代码conv底层实现方式小目标检测性能提升方法网络训练慢如何定位瓶颈transformer的非线性来自于哪里trnasformer为甚恶魔用LN,不用BN旋转角度的IOU计算Dropout的原理和计算平均池化和最大池化优缺点MobileNet的设计理念是什么?有哪些优化方法使用了二阶导数?...原创 2021-12-09 21:37:01 · 2271 阅读 · 0 评论 -
深度学习笔记——常见问题
双线性插值法LR反向传播公式推导LR为什么不能用平方损失SVM如何处理非线性情况空间/通道/时序/自注意力机制原创 2021-11-29 21:14:37 · 589 阅读 · 0 评论 -
深度学习学习笔记——label smoothing和mixup防止过拟合
label smoothing: 像L1、L2和dropout一样,是机器学习领域的一种正则化方法,通常用于分类问题,目的是防止模型在训练时过于自信地预测标签,改善泛化能力差的问题。防止过拟合,提升模型的泛化能力。原来的真实值是是目标就为1不是目标就为0经过平滑后的标签在是目标时接近1而不是目标时接近0,这样会让模型不那么自信,提高模型的泛化能力(正则化手段)标签平滑(Label Smoothing)详解 Label-Smoothingmixup: 一种具有正则化能力(防止过拟合)的数据增强手原创 2021-11-23 22:15:21 · 1414 阅读 · 0 评论 -
深度学习笔记——梯度消失和梯度爆炸及解决方法
梯度消失: 梯度接近零,反向传播时随便网络加深梯度逐渐消失。解决方法:换用激活函数(每层的梯度是激活函数的倒数乘以权重,所以对梯度有影响的是损失函数加权重);BN(BN将每层的输入拉回到激活函数的非线性敏感区,加大梯度)梯度爆炸:(损失函数为nan)梯度大于一,反向传播时随着网络层数加深,梯度越来越大接近无穷大。**解决方法:**降低学习率;用xavier进行权重初始化;模型裁剪(限制每层的梯度大小)...原创 2021-11-21 17:44:33 · 1538 阅读 · 0 评论 -
nvcc与nvidia
nvcc -V 查看cuda版本nvidia-smi 查看gpu占用情况原创 2021-11-19 13:01:17 · 685 阅读 · 0 评论 -
深度学习学习笔记——如何调参
调参就是调整超参数,使模型的表达能力达到最大程度调参过程中要观察训练集损失函数和验证集损失函数和验证集的准确率。当训练集损失函数降到一定程度不再降低时(不是固定值,是在一定区间内),可能是因为学习率过大导致的震荡,可以降低学习率。当训练集损失函数很小验证集损失函数很大时,可能是过拟合,应该停止迭代。当验证集的准确率在若干epoch后没有增长,可能是过拟合,应该停止epoch。常见的调参有:lrweight decay(L2正则化): L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减原创 2021-11-15 20:50:06 · 3613 阅读 · 0 评论 -
深度学习学习笔记——resnet50
ResNet-50 结构彻底搞懂ResNet50原创 2021-11-14 21:20:15 · 377 阅读 · 0 评论 -
深度学习学习笔记——BatchSize与LR
激活函数小实验:Dynamic_ReLU、MishreLuleakyrelusigmoidtanhmish原创 2021-11-12 23:39:15 · 1447 阅读 · 0 评论 -
深度学习学习笔记——BN
作用:1、既可以使得训练集测试集同分布,2、又可以使得每一层和不同batch同分布使用地方:每一层激活函数之前,(1)sigmoid、tanh激活函数之前可以防止梯度衰减梯度消失。(2)relu激活函数之前可以防止某一层的激活值全部被抑制,防止梯度消失。目的:防止梯度消失的同时也可以使得训练集、测试集同分布,不同batch同分布,这些都可以加速训练过程。方法:注: 其中,ϵ 是为了防止分母为0,取值10的负8次方。γ和β都是模型的学习参数(如同W和b一样),防止输入分布在激活函数的线性区原创 2021-11-03 15:00:34 · 368 阅读 · 0 评论 -
cuda和cudnn安装教程
添加链接描述添加链接描述原创 2021-10-31 18:58:54 · 182 阅读 · 0 评论 -
2021-09-10
使用Pytorch和Matplotlib可视化卷积神经网络的特征卷积神经网络的可视化与进一步理解添加链接描述原创 2021-09-10 21:29:49 · 110 阅读 · 0 评论 -
深度学习学习笔记——随手写
卷积就是特征提取器,就是CBAPD。FCN通常用在图像分割任务中,进行像素级的分类,缩写是full connect network,所有网络由卷积层构成没有全连接层。分割网络最后通过一个反卷积层将输出尺寸恢复到和输入尺寸大小一样。python中的assert是断言函数,当满足某种条件时构造错误。python中变量前的单下划线,双下划线,前后双下划线都有特殊意义。添加链接描述...原创 2021-09-02 11:07:54 · 467 阅读 · 0 评论 -
深度学习学习笔记——CNN中的平移不变性和尺度不变性
添加链接描述原创 2021-09-01 17:32:43 · 1191 阅读 · 0 评论 -
深度学习学习笔记——回归与分类
参考回归分析步骤:根据自变量和因变量的关系建立回归模型(如y=wx+b),通过实测数据来求出模型参数,查看模型的拟合程度,最后可以用得到的回归模型进行预测。回归和分类本质一样,只是分类利用sigmoid和softmax将输出离散化。线性回归和逻辑回归(分类)...原创 2021-09-01 17:02:23 · 359 阅读 · 0 评论 -
深度学习学习笔记——数据集制作工具labellmg安装
添加链接描述原创 2021-08-29 17:10:35 · 597 阅读 · 0 评论 -
深度学习学习笔记——各种concatenate
tf.concattf.concat([tensor1, tensor2, tensor3,...], axis)tf.keras.layers.Concatenate、tf.keras.layers.concatenatekeras.layer.Concatenate()和keras.layer.concatenate()的区别。前者是创建一个Concatenate层,像函数一样立即使用它来合并几个输入;后者创建一个Concatenate层并立即使用给定的输入对其进行调用。具体用法如下:con原创 2021-07-11 16:23:58 · 1269 阅读 · 0 评论 -
深度学习学习笔记——keras模型保存与读取
model.save('name.h5')modl=load_model('name.h5')#也可keras.models.load_model()model.save_weights('name.h5')model.load_weights('name.h5')#模型或权重是以hdf5形式保存,后缀为h5keras文档原创 2021-07-06 21:31:18 · 328 阅读 · 0 评论 -
深度学习学习笔记——opencv中的resize
添加链接描述原创 2021-07-05 17:28:03 · 283 阅读 · 0 评论 -
深度学习学习笔记——loss与metric的选择
一、loss的选择1、计算标签和预测之间的误差平方均值。‘mse’ or tf.keras.losses.MeanSquareError()2、交叉熵损失函数计算两个概率分布之间的差异,当有两个或多个标签分类时:‘sparse_categorical_crossentropy’ or tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)y标签未独热编码,from_logits=False表示输出经过softmax的概率输出。原创 2021-06-13 13:40:37 · 1111 阅读 · 0 评论 -
深度学习学习笔记——ResNet、Inception和Xception
ResNet、Inception和Xceptionhttps://medium.com/towards-data-science/an-intuitive-guide-to-deep-network-architectures-65fdc477db41转载 2021-01-14 14:01:14 · 288 阅读 · 0 评论 -
深度学习学习笔记——cnn减小过拟合,减小泛化误差(测试误差),提高泛化能力的方法
cnn减小过拟合,减小泛化误差(测试误差),提高泛化能力的方法1、数据增强,过少数据导致欠拟合,过少数据和复杂的网络结构导致过拟合。2、正则化策略,引入参数惩罚项,如l1范数和l2范数。3、引入dropout,随机失活神经元,简化网络结构,也属于正则化策略。4、使用BN算法(Batch Normalnization),使数据变成(0~1)的正态分布,用了这步可不用dropout。5、提前终止训练。...原创 2021-04-11 16:50:40 · 945 阅读 · 0 评论 -
深度学习学习笔记——激活函数
激活函数sigmoid函数:缺点:1、导数在0到0.25之间,反向传播更新参数时容易发生梯度消失。2、非0均值,反向传播更新参数时容易陷入Z更新,收敛过慢。3、幂函数计算,速度过慢。tanh函数:优点:0均值,收敛快于sigmoid函数。缺点:容易发生梯度消失和幂函数计算过慢。relu函数:优点:1、正区间内导数趋于无穷大,避免梯度消失。2、收敛速度远快于sigmoid函数和tanh函数。3、不是幂数计算,运算速度快。缺点:非0均值,收敛较慢。容易发生dead relu....原创 2021-04-11 17:15:02 · 167 阅读 · 0 评论 -
深度学习学习笔记——去雾相关资料
语义分割空洞卷积GCANethttps://github.com/cddlyf/GCANet去雾方法总结去雾数据集总结原创 2021-04-15 18:16:06 · 428 阅读 · 0 评论 -
深度学习学习笔记——图片读取与处理
seaborn在pycharm中绘图不出图原因在代码最后加上plt.show()即可。原创 2021-05-04 15:45:04 · 156 阅读 · 0 评论 -
深度学习笔记——GPU选择
os.environ[]使用os.environ[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID” # 按照PCI_BUS_ID顺序从0开始排列GPU设备os.environ[“CUDA_VISIBLE_DEVICES”] = “0” #设置当前使用的GPU设备仅为0号设备 设备名称为’/gpu:0’os.environ[“CUDA_VISIBLE_DEVICES”] = “1” #设置当前使用的GPU设备仅为1号设备 设备名称为’/gpu:0’os.environ[“CU原创 2020-11-25 11:28:44 · 748 阅读 · 0 评论 -
深度学习学习笔记——训练mnist数据有感
1、shape函数:(1)返回变量形状,逗号分隔几个数字就是几维的。(2)返回对象个数,shape[0]返回第一个中括号内元素个数,shape[1]返回第二个中括号内元素个数,以此类推。2、reshape函数重新给数组变换形状,只能对多维数组进行操作,列表不行故二维列表也不行,返回值是变换形状后的对象,不是原地操作。3、对于tensor张量的访问,第一个下标访问第一个中括号内地元素,如tensor[1],第二个括号访问第二个中括号内的元素,如tensor[1][1]。4、plt.imshow()函数原创 2021-04-10 16:48:23 · 168 阅读 · 0 评论
分享