深度学习基础知识
文章平均质量分 83
神经学习有关的基础知识小结
胡侃有料
流水不争先,争的是滔滔不绝
展开
-
【onnx】转换与推理使用
onnx转换与推理使用。原创 2024-07-09 14:44:53 · 363 阅读 · 0 评论 -
【CUDA|CUDNN】安装
显卡驱动安装参考之前的文章cuda、cudnn 安装。原创 2024-07-09 14:43:01 · 1014 阅读 · 0 评论 -
从inceptionv1走向xception小结
every blog every motto: You can do more than you think.0. 前言这部分内容很久之前就接触过,但感觉还是应该进行简单的梳理小结,致敬大神!说明: 先简单小结,后续增补1. 正文1.1 incpetion v1用不同尺寸的卷积核,获取不同尺度的特征融合为了减小计算量,用1×1的卷积核先进行降维,举个栗子:输入特征图维度为256,经过1×1卷积以后,输出特征图维度为64,参数量变成原来1/4,这就是Pointwise Convoluti原创 2021-12-24 11:33:58 · 1767 阅读 · 0 评论 -
PSP模块Tensorflow/Pytorch实现小结
every blog every motto: You can do more than you think.0. 前言金字塔池化模块简单小结。废话: 还是菜的抠脚,哎,1. 正文1.1 基础概念金字塔池化模块,即用不同尺度进行池化操作。如池化后特征图大小为1×1,(不考虑通道,因通道无变化),假若我们的输入特征图为40×40,那么,即对所有数据(1600)取平均(如下图,平均值为60)。如池化后的特征图为2×2,那么即将特征图分成4个区域(2×2),每个区域内进行平均池化,如下图:原创 2021-12-15 11:01:50 · 2177 阅读 · 0 评论 -
【python|attention】注意力机制代码
every blog every motto: You can do more than you think.0. 前言梳理目前主流的注意力机制代码,目前以pytorch为例。说明: 特征图维度的组织形式为:(batch,channel,height,width)1. 正文1.1 SEBlock 2017考虑通道间的注意力之间的关系,在通道上加入注意力机制论文:https://arxiv.org/abs/1709.01507代码:https://github.com/hujie-frank原创 2021-06-27 09:31:35 · 31960 阅读 · 21 评论 -
【apex】正确安装姿势
NNGT,apex 安装实在是费劲,之前安装过一次,也是折腾了半天,奈何没有记录,这不又走一次老路,:)安装过程中错误接着一个。。。原创 2023-04-26 14:56:53 · 1012 阅读 · 0 评论 -
【torch】常函数小结,torch.FloatTensor torch.max torch.numel torch.sort torch.sort torch.clamp torch.nonzero
总结torch常用的函数。包括如下:后续持续更新中…原创 2023-04-23 17:21:26 · 1150 阅读 · 0 评论 -
【Deformable Convolution】可变形卷积记录
可变形卷积记录原创 2023-02-17 16:40:39 · 562 阅读 · 0 评论 -
【ubuntu | cuda】ubuntu22.04 安装cuda11.3方法
ubuntu22.04 安装cuda11.3方法记录。原创 2023-01-18 12:04:27 · 3063 阅读 · 0 评论 -
【torch】torch.nn.functional 中的unfold和fold直观理解
torch.nn.functional 中unfold和fold的直观理解原创 2022-10-22 09:30:01 · 1601 阅读 · 0 评论 -
【torch】torch.pairwise_distance分析
记录torch.pairwise_distance原创 2022-09-28 15:24:16 · 1896 阅读 · 2 评论 -
感受野浅析
every blog every motto: There’s only one corner of the universe you can be sure of improving, and that’s your own self.https://blog.csdn.net/weixin_39190382?spm=1010.2135.3001.53430. 前言简单记录感受野1. 正文1.1 感受野1.1.1 定义定义:卷积神经网络中的特征图上的一个像素点在输入图像上映射的区域大小。原创 2022-05-03 11:34:51 · 362 阅读 · 0 评论 -
【机器学习、神经网络】拟合非线性函数y = x**2 - 2(部分问题未解决)
every blog every motto: There’s only one corner of the universe you can be sure of improving, and that’s your own self.0. 前言记录两种方式拟合非线性函数及其预测神经网络对于非训练区间不能很好的进行预测,暂时未解决。1. 正文问题: 拟合函数 y = x2x^2x2 - 2 ,训练数据输入在[-1,1]范围,测试区间在[1,3]2.1 机器学习(多项式拟合)简单来说就是求Y原创 2022-04-11 22:22:15 · 2062 阅读 · 1 评论 -
【pytorch】梯度爆炸/消失解决办法
every blog every motto: You can do more than you think.0. 前言记录一种解决梯度爆炸/消失的解决办法,后续出现类似情况再进行增补1. 正文1.1 介绍1.1.1 背景训练过程中,出现损失为nan了,知道情况不妙了,如下1.1.2 用tensorboard记录下梯度情况说明: 数据比较大,所以 在每次迭代过程中记录注意: 每次迭代是耗时的,因为会将损失从GPU传递到CPU,然后再进行记录,我们通过nvidia-smi查看GPU使用情原创 2021-09-22 11:46:07 · 5366 阅读 · 1 评论 -
【pytorch】(断点)继续上次训练
every blog every motto: You can do more than you think.0. 前言训练过程中,停止,后续接着训练1. 正文1.1 保存信息每个eopch以后需要保存后续接着训练的信息,信息包括,model、optimizer、epochfor epoch in range(start_epoch,end_epoch): for iter ,data in enumerate(dataloader): pass # --------------原创 2021-09-20 19:56:50 · 1696 阅读 · 2 评论 -
【pytorch】余弦退火算法解读
every blog every motto: You can do more than you think.0. 前言记录余弦退火1. 正文1.1 Cosine Annealing Warm Restarts1.1.1 官方解释先放官网截图1.1.2 测试1. 第一次测试1. 代码import torchimport torch.nn as nnfrom torch.optim.lr_scheduler import CosineAnnealingLR, CosineAnnea原创 2021-09-18 12:01:25 · 9210 阅读 · 5 评论 -
【pytorch】深度学习提速之自动混合精度
every blog every motto: Just live your life cause we don’t live twice.0. 前言深度学习加速之自动混合精度1. 正文总共两种方法1.1. 方法一:NVIDIA第三方包需求:pytorch1.5之前的版本(包括1.5)使用方法:from apex import ampmodel,optimizer = amp.initial(model,optimizer,opt_level="O1") #注意是O,不是0with原创 2021-09-15 15:43:54 · 431 阅读 · 1 评论 -
【深度学习】损失函数记录
every blog every motto: You can do more than you think.0. 前言简单记录损失函数,dice loss、focal loss说明: 后续增补1. 正文1.1 基础概念举个栗子:用模型对100人进行身体健康状况预测,已知30人患肿瘤。规定肿瘤为阳性,正常为阴性。预测结果:25人阳性,其中5人实际为阴性。则,TP = 20,(True Positive,正确预测为阳性)FP = 5,False Positive,错误预测为阳性)FN=原创 2021-09-06 21:53:12 · 497 阅读 · 0 评论 -
【机器学习】精确率Precision和召回率recall等评价指标记录
every blog every motto: You can do more than you think.0. 前言简单记录两个评价指标1. 正文举个栗子:用深度学习对100人进行身体健康状况预测,已知30人患肿瘤。规定肿瘤为阳性,正常为阴性。预测结果:25人阳性,其中5人实际为阴性。则,TP = 20,FP = 5FN=10,TN = 65精确率precision:P=TPTP+FPP = {TP \over TP + FP} P=TP+FPTP即,P=2020+5P原创 2021-09-02 08:51:21 · 428 阅读 · 0 评论 -
【机器学习】标准化和归一化辨析
every blog every motto: You can do more than you think.0. 前言标准化和归一化辨析1. 正文1.1 概念辨析数据组织形式数据组织形式如下,一行 代表一条样本,一列代表一个特征,归一化、标准化都是对特征进行的,即列方向上。编号身高/cm体重/kg脚尺码/017566431182754521605838归一化含义:将特征的值缩放到0到1之间,公式如下,Xn=X−Xm原创 2021-08-28 17:06:45 · 1165 阅读 · 0 评论 -
普通卷积、转置卷积、空洞卷积(dilated convolution、Atrous Convolution)
every blog every motto: We would rather reuse an active dwarf than a sleeping giant.0. 前言1. 正文1.1 基础概念辨析1. 普通卷积Conv2D结果/作用: 特征图大小不变或缩小。参考文章1 参考文章22. 转置卷积Conv2DTranspose结果/作用: 特征图变大(上采样)简要概括: 输入特征图中间填充0参照文章33. 空洞卷积Dilated/Atrous Convolution结果原创 2021-04-22 09:56:36 · 979 阅读 · 1 评论 -
【keras/Tensorflow/pytorch】Conv2D和Conv2DTranspose详解
every blog every motto: We would rather reuse an active dwarf than a sleeping giant.0. 前言一直划水。。。1. 正文1.1 Conv2D说明: 关于这部分之前有写过,所以就不详细展开了,具体可以参考参考文章1 参考文章2输出特征图计算:1.2 Conv2DTransposeConv2DTranspose一般称为反卷积、逆卷积等,对图片进行一个上采样过程,即放大图片。主要通过三步进行:对输入特原创 2021-04-15 15:37:32 · 2919 阅读 · 5 评论 -
【python/opencv】显示和保存图片不一致问题
every blog every motto: We would rather reuse an active dwarf than a sleeping giant.0. 前言记录有关利用python(opencv)显示和保存的图片不一致问题1. 正文1.1 问题如下是利用opencv显示的图片如下是利用opencv保存以后的图片1.2 解决方法原始数据为二值的“数组”文件,即,数值为0和1,为了能够显示的将其保存(否则保存下来是一张黑色的图片),需要先将其扩大0-255。扩大以原创 2021-03-25 10:27:34 · 2420 阅读 · 1 评论 -
【Tensorflow】【损失函数】交叉熵数据验证(下)---BinaryCrossentropy二分类
every blog every motto: You can do more than you think.0. 前言对交叉熵的具体过程用数据进行验证说明: 关于交叉熵的基本概念和多分类交叉熵数据验证,参考上篇多分类交叉熵CategoricalCrossentropy1. 正文1.1 BinaryCrossentropy公式1.2 数据验证import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import tensorflow as tf原创 2021-03-17 15:33:16 · 1111 阅读 · 0 评论 -
【Tensorflow】【损失函数】交叉熵数据验证(上)---CategoricalCrossentropy多分类
every blog every motto: You can do more than you think.0. 前言对交叉熵的具体过程用数据进行验证1. 正文1.1 基本概念1.1.1 信息量信息量用来衡量一个事件的不确定性。事件发生概率越大,(不确定性越小)其所含信息越小。事件发生概率越小,(不确定性越低)其所含信息越大。例子:太阳从东边升起(发生概率大,信息少)月球有生物(发生概率小,信息大)中国队进世界杯决赛(发生概率低,信息大)由上面我们知道,信息量可由事件原创 2021-03-12 15:05:46 · 1506 阅读 · 1 评论 -
【python】语义分割(标签)黑色(单通道)图片的读取和显示方法
every blog every motto: Just live your life cause we don’t live twice.0. 前言深度学习中,具体来说是语义分割中,标签通常是单通道的。下面是对其读取和显示的一般方法介绍1. 正文1.1 方法一import matplotlib.pyplot as pltimport matplotlib.image as mpdef show_img(path): """ 读取并展示图片 :param path: 图片原创 2021-02-03 19:02:54 · 7920 阅读 · 8 评论 -
【keras】数据增强之---ImageDataGenerator
every blog every motto: You can do more than you think.0. 前言记录使用keras进行数据增强中遇到的有关问题1. 正文1.1 基本介绍我们可以使用keras.preprocessing.image.ImageDataGenerator对数据进行“线上”或“线下”增强1.1.1 生成对象如下代码所示:我们可以生成一个可迭代对象,并对其指定数据增强的具体方式(如:旋转、翻转等)from keras.preprocessing.imag原创 2021-01-28 10:54:00 · 4387 阅读 · 7 评论 -
【Tensorflow】tensorboard小结
every blog every motto: What doesn’t kill you makes you stronger.0. 前言废话: 近一段时间都没怎么写博客了,大概是在摸鱼吧。(划水快乐,:))本节主要对两种tenorboard的使用进行小结说明: 后续可能会增补1. 正文什么是tensorboard?可以简单理解为保存了训练过程中的accuracy 和loss 的变化情况说明:1.不仅限于此,还能保存计算图等信息。2. 本文主要将对accuracy 和 loss的保存原创 2020-12-24 10:17:42 · 434 阅读 · 0 评论 -
【Tensorflow2.x】设置GPU(内存自增长、指定GPU)
every blog every motto: You can do more than you think.0. 前言本节主要讲解有关GPU的设置。具体包括如何节约GPU资源。话不多说,下面进入正题:1. 正文1.1 引子tensorflow会默认将GPU(尽可能的)占满,这样会导致其他程序无法使用GPU,造成GPU内存和计算资源的浪费,通常有以下方法:设置内存自增长虚拟设备机制(类似window的磁盘)多GPU的使用虚拟GPU和实际GPU手工设置和分布式机制AP原创 2020-12-03 20:25:56 · 4301 阅读 · 3 评论 -
【Sigmoid】操作对象(对数据结果进行验证)
every blog every motto: You can do more than you think.0. 前言本文是softmax/relu函数讲解的兄弟篇,主要用数据对经过sigmoid后,产生的结果进行验证,查看进过sigmoid后数据的变化情况1. 正文sigmoid公式:import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import tensorflow as tfimport numpy as np1.1 一维原创 2020-10-30 15:19:19 · 743 阅读 · 0 评论 -
【tf.keras.Model】构建模型小结(部分问题未解决)
every blog every motto: You can do more than you think.0. 前言对于构建深度学习网络模型,我们通常有三种方法,分别是:Sequential APIFunctional APISubclassing API说明: 推荐使用functional API.本文主要对有关子类API(tf.keras.Model)构建模型时“两种方法”进行比较分析。注: 为保持文章的完整性,本文仅就部分问题进行探讨,后续问题见下一篇博文。1. 正文原创 2020-10-27 22:11:58 · 2744 阅读 · 4 评论 -
【tf.keras.utils.Sequence】构建自己的数据集生成器
every blog every motto: You can do more than you think.0. 前言在训练模型时,我们往往不一次将数据全部加载进内存中,而是将数据分批次加载到内存中。一种方法是用 while True 遍历数据,用yeid产生,具体可参考语义分割代码讲解部分另一种方法是本文即将讲解的tf.keras.utils.Sequence方法1. 正文__ len __ 中返回的即1个epoch迭代的次数,即:总样本数/ batch_size__ geti原创 2020-10-21 10:43:39 · 3377 阅读 · 1 评论 -
【Softmax】操作对象(以模型最后一层生成的特征图进行softmax后得到的输出结果进行验证)
every blog every motto: You can do more than you think.0. 前言我们知道对于分类问题,最后一层会经过softmax,关于最后结果我们用数据进行验证。1. 正文softmax公式:import numpy as npimport os, sysos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'from tensorflow.keras.layers import *import tensorflow原创 2020-09-26 10:12:57 · 3999 阅读 · 0 评论 -
查看Tensorflow 是使用GPU or CPU运行
every blog every motto: You never know how strong you really are until being strong is the only choice you have。0. 前言查看Tensorflow2是使用GPU还是CPU小结1. 正文说明: 只要配置好GPU的驱动和cuda以及cudnn等工具,程序执行默认先使用GPU,如果不能执行再使用CPU1.1 tensorflow 1.x查看日志信息,若包含GPU信息,就是使用GPUimpo原创 2020-07-11 16:09:43 · 2994 阅读 · 1 评论 -
【H5】h5文件之——深度学习训练样本制作
every blog every motto: Light tomorrow with today.0. 前言作为深度学习的萌新可能都知道,训练以后的参数保存成h5文件格式,原创 2020-07-01 16:41:02 · 5800 阅读 · 1 评论 -
【Tensorflow】【PlotNeuralNet】画神经网络图的(两种方法)小结
every blog every motto: We would rather reuse an active dwarf than a sleeping giant.0. 前言本想着画神经网络图的,结果折腾半天也是醉了,那就总结一下吧1. 正文1.1 PlotNeuralNet画图一共分为两步,代码 转成 LaTeXLaTeX 转成 pdf1.1.1 代码 -> LaTeX下载源码git clone https://github.com/HarisIqbal88/PlotN原创 2020-06-26 15:49:59 · 3447 阅读 · 2 评论 -
激活函数的实现
every blog every motto: Every step counts1. 激活函数的实现本节将计算图的思路应用到神经网络中,实现ReLU。激活函数ReLU(Rectified Linear Unit)表达式如下:y = x (x>0)y = 0 (x<=0)1. 1 代码部分# Relu:# 激活函数的实现class Relu: def __...原创 2020-03-08 15:25:58 · 446 阅读 · 0 评论 -
【skimage.util.shape】有关view_as_windows裁剪数组及恢复的简单尝试
every blog every motto: Just live your life cause we don’t live twice.0. 前言本节主要利用skimage.util.shape 讲解对有关数组的裁剪,以及后续恢复。1. 正文1.1 生成数组以及查看import numpy as npfrom skimage.util.shape import view_as_windowsa = np.arange(6 * 4).reshape((6, 4))print(a)原创 2020-05-29 09:30:06 · 2188 阅读 · 0 评论 -
【sklearn】有关数据归一化小结---fit_transform、fit、transform区别及其简单使用
every blog every motto: The shortest answer is doing.0. 前言之前有过这方面小结的打算,后来有事耽误了,正好这次又遇到坑了,遂填之。话不多说,下面进入正文。本节主要是有关fit_transform、transform、fit区别及其使用的相关小结。要注意使用过程中的reshape说明: 这方面依然没有进行深入探究,有问题欢迎指正,后续有待完善。1. 正文1.1 基本概念fit():简单来说,求得训练集的均值、方差、最大值、最小值等属原创 2020-05-27 17:35:46 · 7110 阅读 · 0 评论 -
【Tensor】(张量)的创建
every blog every motto: Just live your life cause we don’t live twice.0. 前言本节主要讲解有关tensor(张量)的创建1. 正文1.1 numpy、list -> tensortf.convert_to_tensor(np.ones([2,3]))tf.convert_to_tensor([1,2])tf.convert_to_tensor([1,2.])tf.convert_to_tensor(原创 2020-05-23 21:55:57 · 366 阅读 · 0 评论