深度学习
月满星沉
cver & nlper。
展开
-
frontiers期刊论文版面费缴纳流程(截止发文全网最详细hhh)
Frontiers期刊付款详细步骤(目前全网唯一)原创 2022-08-14 11:54:03 · 9605 阅读 · 4 评论 -
【解决错误】The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 1
一、报错RuntimeError: Given groups=1, weight of size 64 64 1 1, expected input[16, 48, 40, 40] to have 64 channels, but got 48 channels instead二、原因 错误分析:这里面说的是要求输入的权重是[64,64,1,1],其中第二个维度的要求是64,但是给定的输入却是[16, 48, 40, 40],导致输入的第二个维度48和64不匹配。三、解决方案 一般出错都原创 2020-12-03 19:16:44 · 53630 阅读 · 0 评论 -
【深度学习笔记】生成requirements.txt文件
〇、用途 python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。一、生成requirement依赖pip freeze > requirements.txt二、安装requirement依赖pip install -r requirements.txt三、注意事项 上述这种生成方式,会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的安装包。四、另外一种生成方原创 2020-12-01 14:29:02 · 784 阅读 · 0 评论 -
【学习笔记】对vanilla的一些个人理解
一、释义二、个人理解在百余篇论文的阅读以及学习视频的观看过程中,我经常遇到vanilla这个单词,例如vanilla convolution是出现的最多次了,再如vanilla gradient descent等,在这些语境中,我个人的理解的vanilla是原始的 / 纯粹的 / 纯的 / 原来的 / 最初的 / 原始版本 / 普通的意思!!!比如原味奶茶就可以使用vanilla tea,直观理解就是:不添加任何的最纯粹的最原始的物体、概念或者结构,没有经过任何的修饰或者升级,或者是最初的版本即可称原创 2020-11-23 15:53:27 · 5670 阅读 · 5 评论 -
【Python学习笔记】深入剖析随机数种子
深入剖析随机数种子一、定义1.1 作用二、实战2.1 同样的随机数种子2.2 不同的随机数种子2.3 不指定随机数种子三、随机数列的大小是多少呢?3.1 设定为百万,没问题3.2 设定为千万,没问题3.3 设定为亿,没问题3.4 设定为十亿,没问题3.4 设定为百亿,内存不够!!3.3 设定为一万亿,内存更加不够!!!四、random模块中的随机数种子4.1 示例4.2 random模块与 numpy.random的对比一、定义 随机数就是就随机数种子中取出的数。种子就是个序号,这个序号交给一个数列管原创 2020-11-19 21:42:05 · 2106 阅读 · 0 评论 -
【深度学习笔记】理解Bicubic,双三次插值
理解Bicubic原创 2020-11-14 22:35:28 · 1082 阅读 · 0 评论 -
【解决错误】ModuleNotFoundError: No module named ‘PIL‘
一、报错Traceback (most recent call last): File "train.py", line 6, in <module> import options.options as option File "/data/613/Murphy/SRFBN_CVPR19/options/options.py", line 8, in <module> from utils import util File "/data/613/Murp原创 2020-11-14 22:13:43 · 1266 阅读 · 1 评论 -
【解决错误】ModuleNotFoundError: No module named ‘tqdm‘
一、报错Traceback (most recent call last): File "train.py", line 2, in <module> from tqdm import tqdm # 进度条ModuleNotFoundError: No module named 'tqdm'二、原因这是由于环境中缺少了tqdm进度条的安装包,需要使用conda或者pip命令进行安装。三、解决方案安装命令如下:pip install tqdmconda in原创 2020-11-14 21:52:51 · 62409 阅读 · 11 评论 -
【解决错误】ValueError: some of the strides of a given numpy array are negative.
一、源码def np2Tensor(l, rgb_range): def _np2Tensor(img): # if img.shape[2] == 3: # for opencv imread # img = img[:, :, [2, 1, 0]] np_transpose = np.ascontiguousarray(img.transpose((2, 0, 1)), dtype=np.float32) tensor =原创 2020-11-12 11:11:40 · 549 阅读 · 4 评论 -
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
# -*- coding: utf-8 -*-# @Time : 2020/11/4 15:01# @Author : Murphy# @Email : Murphy.AI@foxmail.com'''图像预处理:边缘保留滤波EPF'''import cv2import osimport globdef bi_demo(image): # 双边滤波函数 dst = cv2.bilateralFilter(image, 0, 100, 5) return原创 2020-11-06 20:33:43 · 310 阅读 · 2 评论 -
【错误解决】cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\sr
cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\sr原创 2020-11-06 16:38:05 · 19910 阅读 · 2 评论 -
【python学习笔记】获取某个文件夹下文件的总数
import globpath_file_number = len(glob.glob('路径\*.jpg'))print(path_file_number)原创 2020-11-04 16:13:42 · 679 阅读 · 0 评论 -
【深度学习笔记】无参考图像质量评估指标解析及其matlab源码
信息熵信息熵是指图像的平均信息量,它从信息论的角度衡量图像中信息的多少,图像中的信息熵越大,说明图像包含的信息越多。原创 2020-11-12 15:10:11 · 973 阅读 · 0 评论 -
【深度学习笔记】无参考图像质量评估指标解析及其matlab源码
信息熵信息熵是指图像的平均信息量,它从信息论的角度衡量图像中信息的多少,图像中的信息熵越大,说明图像包含的信息越多。原创 2020-10-17 15:26:39 · 1405 阅读 · 0 评论 -
【深度学习笔记】使用nohup命令远程连接服务器将程序挂在后台运行
适用于Xshell等远程连接服务器将代码挂载在后台运行用nohup运行命令可以永久执行此命令直至其运行完毕,和用户终端没有关系,也就是断开SSH连接也不会影响其运行。命令:nohup python xxx.py来保证代码在执行过程中不会因为用户终端的退出等原因而中断。...原创 2020-10-07 15:13:06 · 1137 阅读 · 0 评论 -
【深度学习笔记】tensorflow中卷积的填充方式:SAME和VALID的区别
SAME, VALID的区别:SAME进行填充,卷积核移动步长=1时尺寸不变,移动步长=stride时卷积完毕后尺寸为 输入的尺寸/stride再向上取整。VALID不进行填充,卷积后尺寸计算公式为 (输入尺寸 - 核尺寸)/stride + 1 再向下取整数。如果是VALID的话,则图片经过滤波器后可能会变小。padding的值为‘VALID’,表示边缘不填充。当其为‘SAME’时,表示填充到卷积核可以到达图像边缘。...原创 2020-09-22 22:20:19 · 3547 阅读 · 0 评论 -
【深度学习笔记】关于conv和pool的讨论
为什么cony-ayer之后需要加 pooling_layer?如果只有conv-ayer会怎样?过于执着局部特征学习,忽视全局■ 经过三层cony-ayer3x3fter后■ 我们相当于只用了1层 conv-layer7x7 filter来扫描原图(28-7+1=22)■ 对原图整体状态信息学习很少■ 从底层细小局部简单的特征到高层复杂全局性更高的特征,推进速度太慢计算量仍旧太大pooling layer可以让 parameters数量大幅下降为什么使用 pooling layer原创 2020-09-20 21:17:47 · 1055 阅读 · 0 评论 -
【深度学习笔记】过拟合
一、定义所谓过拟合,指的是模型在训练集上表现的很好,但是在交叉验证集合测试集上表现一般,也就是说模型对未知样本的预测表现一般,泛化(generalization)能力较差。二、原因分析在对模型进行训练时,有可能遇到训练数据不够,即训练数据无法对整个数据的分布进行估计的时候,或者在对模型进行过度训练(overtraining)时,常常会导致模型的过拟合(overfitting)三、解决方案一般解决的方法有early stopping、数据集扩增(Data augmentation)、正则化(Regu原创 2020-09-16 23:10:18 · 1834 阅读 · 0 评论 -
【深度学习笔记】注意力机制
软注意力机制关注于区域或者通道,软注意是确定性注意力,是可微的,能够通过训练得到注意力权重。原创 2020-09-13 20:33:12 · 500 阅读 · 0 评论 -
【深度学习笔记】Top-5/1错误率
定义top1就是你预测的label取最后概率向量里面最大的那一个作为预测结果,你的预测结果中概率最大的那个类必须是正确类别才算预测正确。而top5就是最后概率向量最大的前五名中出现了正确概率即为预测正确。ImageNetImageNet 项目是一个用于物体对象识别检索大型视觉数据库。截止2016年,ImageNet 已经对超过一千万个图像的url进行手动注释,标记图像的类别。在至少一百万张图像中还提供了边界框。自2010年以来,ImageNet 举办一年一度的软件竞赛,叫做 ImageNet原创 2020-09-11 11:05:49 · 916 阅读 · 0 评论 -
【深度学习笔记】torch.unsqueeze()
一、作用主要是对数据维度进行扩充。给指定位置加上维数为1的维度,比如原本有个4行的数据(3),在0的位置加了一维就变成1行4列(1,3)。a.unsqueeze(N) 就是在a中指定位置N加上一个维数为1的维度。还有一种形式就是b=torch.unsqueeze(a,N) a就是在a中指定位置N加上一个维数为1的维度。二、例子x = torch.tensor([1, 2, 3, 4])torch.unsqueeze(x, 0).size()结果:torch.Size([1, 4])torch原创 2020-09-07 11:54:23 · 516 阅读 · 0 评论 -
【深度学习笔记】残差
结构ResNet block有两种,一种两层结构,一种三层结构我们需要求解的是映射:H(x)。残差结构将这个问题转换为求解网络的残差映射函数,也就是F(x),其中F(x) = H(x)-x。残差:观测值与估计值之间的差。这里 H(x) 就是观测值,x 就是估计值(也就是上一层ResNet输出的特征映射)。我们一般称x为identity Function,它是一个跳跃连接;称F(x)为ResNet Function。从而,问题转换成了 H(x) = F(x)+x。原因与分析原创 2020-08-30 22:26:44 · 2808 阅读 · 0 评论 -
【解决错误】ModuleNotFoundError: No module named ‘skimage‘
1 错误:ModuleNotFoundError: No module named ‘skimage’2 解决pip install scikit-image原创 2020-08-19 22:46:48 · 4756 阅读 · 0 评论 -
【解决错误】复现RCAN的时候遇到了ImportError: cannot import name ‘_update_worker_pids’ from ‘torch._C’
1 错误分析原文作者给出的是基于pytorch的源码,但是由于pytorch的版本更新是不向下兼容的,因此更换版本会造成一些不可预料的问题。所以不要轻易更换环境的版本,满足作者给出的readme文件中的环境要求即可。不建议更改!!!2 方法RCAN源码地址为:1、conda create -n pytorch0.4.0 python=3.6.52、conda activate pytorch0.4.0 进入虚拟环境3、pip install pytorch==0.4.0 torchv原创 2020-08-19 21:51:47 · 3032 阅读 · 0 评论 -
【深度学习笔记】用torch.nn.ModuleList搭建神经网络
一、class torch.nn.ModuleList(modules=None)[source]将submodules保存在一个 list 中。ModuleList可以像一般的Python list一样被索引。而且ModuleList中包含的modules已经被正确的注册,对所有的module method可见。可以向python的列表一样使用append函数二、参数说明:modules (list, optional) —— 将要被添加到MuduleList中的 modules 列表类原创 2020-08-18 17:22:37 · 1607 阅读 · 0 评论 -
【深度学习笔记】用torch.nn.Sequential()搭建神经网络模型
一、第一种方式(可以配合一些条件判断语句动态添加)模板——torch.nn.Sequential()的一个对象.add_module(name, module)。name:某层次的名字;module:需要添加的子模块,如卷积、激活函数等等。添加子模块到当前模块中。可以通过 name 属性来访问添加的子模块。net1 = nn.Sequential()net1.add_module('conv', nn.Conv2d(3, 3, 3))net1.add_module('batchnorm原创 2020-08-18 16:58:46 · 6320 阅读 · 1 评论 -
【深度学习笔记】torch.nn.Sequential(* args) 与 torch.nn.Module
前言二者主要是用于搭建神经网络。使用类(继承torch.nn.Moudule)可以实现灵活搭建。使用 torch.nn.Sequential 可以实现快速搭建。一、class torch.nn.Sequential(* args)一个时序容器。Modules 会以他们传入的顺序被添加到容器中。因此,都贱神经网络模型的时候必须确保前一个模块的输出大小和下一个模块的输入大小是一致的。当然,也可以传入一个OrderedDict。为了更容易的理解如何使用Sequential, 下面给出了一个例原创 2020-08-18 16:33:25 · 1040 阅读 · 0 评论 -
【深度学习笔记】example-based超分的定义
基于学习(Example-based)的超分辨率重建算法原创 2020-08-13 16:32:03 · 618 阅读 · 0 评论 -
【深度学习笔记】PyTorch的torch.cat()函数
一、定义 torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起。二、例子三、注意事项使用torch.cat((A,B),dim)时,除拼接维数dim数值可不同外其余维数数值需相同,方能对齐。...原创 2020-08-11 21:15:26 · 1003 阅读 · 0 评论 -
【深度学习笔记】Regularization 正则化
损失函数原创 2020-08-10 17:00:53 · 92 阅读 · 0 评论 -
【深度学习笔记】Normarlization 归一化
数据处理原创 2020-08-10 16:59:59 · 237 阅读 · 0 评论 -
【深度学习笔记】损失函数
损失函数在之前的内容中,我们用的损失函数都是平方差函数,即其中y是我们期望的输出,a为神经元的实际输出(。也就是说,当神经元的实际输出与我们的期望输出差距越大,代价就越高。想法非常的好,然而在实际应用中,我们知道参数的修正是与和成正比的,而根据我们发现其中都有这一项。因为sigmoid函数的性质,导致σ′(z)在z取大部分值时会造成饱和现象,从而使得参数的更新速度非常慢,甚至会造成离期望值越远,更新越慢的现象。那么怎么克服这个问题呢?我们想到了交叉熵函数。我们知道,熵的计算公式是而在实际操作中,我们原创 2020-08-09 10:29:11 · 250 阅读 · 0 评论 -
【深度学习笔记】深入理解激活函数
深入理解——激活函数原创 2020-08-08 22:01:30 · 1655 阅读 · 0 评论 -
【深度学习笔记】循环神经网络和递归神经网络区别
1.循环神经网络(recurrent neural network)是时间上的展开,处理的是序列结构的信息,是有环图,模型结构如下: recurrent: 时间维度的展开,代表信息在时间维度从前往后的的传递和积累…2.递归神经网络(recursive neural network)递归神经网络是空间上的展开,处理的是树状结构的信息,是无环图,模型结构如下: recursive: 空间维度的展开,是一个树结构,比如nlp里某....原创 2020-08-04 16:19:36 · 5497 阅读 · 0 评论 -
【深度学习笔记】组卷积
Group convolution 分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。...原创 2020-07-28 20:50:18 · 129 阅读 · 0 评论 -
【深度学习笔记】标准卷积
举个例子,假设有一个3×3大小的卷积层,其输入通道为16、输出通道为32。那么一般的操作就是用32个3×3的卷积核同输入数据来分别进行卷积操作,这样每个卷积核需要3×3×16个参数,得到的输出是只有一个通道的数据。之所以会得到一通道的数据,是因为刚开始3×3×16的卷积核的每个通道(一共16个)会在输入数据的每个对应通道上做卷积,然后叠加每一个通道对应位置的值,使之变成了单通道,那么32个卷积核一共需要(3×3×16)×32 =4068个参数。也就是说,在每次卷积操作中,多卷积核所有16个通道 只针原创 2020-07-28 19:57:03 · 1148 阅读 · 0 评论 -
【深度学习笔记】常见的图像增强方法:scaling、rotating、flipping、random cropping
scaling缩放。FlipFlip是翻转的意思,也被称为镜像变换。又可以分为水平镜像和垂直镜像,水平镜像即将图像左半部分和右半部分以图像竖直中轴线为中心轴进行兑换,而竖直镜像则是将图像上半部分和下半部分以图像水平中轴线为中心轴进行兑换。注意,这个和旋转有着本质的区别。Rotate图像旋转是指图像以某一点为中心旋转一定的角度,形成一幅新的图像的过程。当然这个点通常就是图像的中心。既然是按照中心旋转,自然会有这样一个属性:旋转前和旋转后的点离中心的位置不变。crop裁剪图像的仿射变换Af原创 2020-07-25 11:25:28 · 2152 阅读 · 0 评论 -
【NLP学习笔记】conda换源
一、windows系统下1. 添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2conda config --add channels https://mirrors.tuna.tsingh原创 2020-07-24 08:21:46 · 188 阅读 · 0 评论 -
【NLP学习笔记】训练集、验证集和测试集的概念及划分
一、概念训练集:用于训练的样本集合,主要用来训练神经网络中的参数。验证集:用于验证模型性能的样本集合。不同神经网络在训练集上训练结束后,通过验证集来比较判断各个模型的性能.这里的不同模型主要是指对应不同超参数的神经网络,也可以指完全不同结构的神经网络。测试集:对于训练完成的神经网络,测试集用于客观的评价神经网络的性能。二、深入理解他们之间的区别神经网络在网络结构确定的情况下,有两部分影响模型最终的性能,一是普通参数(比如权重w和偏置b),另一个是超参数(例如学习率,网络层数)。普通参数我们原创 2020-07-21 12:11:01 · 6869 阅读 · 0 评论 -
【深度学习笔记】卷积的输入输出的通道、维度或尺寸变化过程
转载自 CNN中卷积层的计算细节卷积层尺寸的计算原理输入矩阵格式:四个维度,依次为:样本数、图像高度、图像宽度、图像通道数输出矩阵格式:与输出矩阵的维度顺序和含义相同,但是后三个维度(图像高度、图像宽度、图像通道数)的尺寸发生变化。权重矩阵(卷积核)格式:同样是四个维度,但维度的含义与上面两者都不同,为:卷积核高度、卷积核宽度、输入通道数、输出通道数(卷积核个数)输入矩阵、权重矩阵、输出矩阵这三者之间的相互决定关系卷积核的输入通道数(in depth)由输入矩阵的通道数所决转载 2020-07-17 10:21:51 · 41364 阅读 · 11 评论