- 博客(84)
- 收藏
- 关注
原创 CNN中的参数,计算量,FLOPs,Multi-Add(乘加),输出特征图尺寸和通道变化
在阅读论文时,我们会遇到参数量,FLOPS,Multi-add, CNN参数,CNN计算量等概念,通过阅读整理,这篇博客希望以最简洁的解释帮助大家理解这些基本概念。FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。卷积的参数可以理解为在一个卷积窗口内的计算个数,即输出一个卷积结果元素产生的运算操作。当 d = 1时,表示的普通卷积,退化为前面的公式;3 的卷积核,其步长为2进行计算的例子:最后的输出特征图是 3。
2024-03-09 21:39:43 1282
原创 可变形卷积 DeformConv2d
codebase地址:(很多框架中都已实现,这里选择以pytorch的为例)3×3标准和可变形卷积的采样位置图示。(a) 标准卷积的规则采样网格(绿点)。(b) 可变形卷积中带有增强偏移量(浅蓝色箭头)的变形采样位置(深蓝色点)。(c)(d)是(b)的特例,表明可变形卷积概括了尺度、(各向异性)长宽比和旋转的各种变换。
2023-11-17 12:15:43 1859 1
原创 解决Python中“Clipping input data to the valid range for imshow with RGB data ”
方法一:plt.imshow(ndarray.astype(‘uint8’))将 float 型数据截短转换成 uint8 型数据。方法二:plt.imshow(ndarray/255)将数据缩放到[0,1]。
2023-10-19 11:29:52 140
原创 图像分块及拼接(二)python代码
代码中对图像分块不均匀,本文给出的代码,图像分块大小相同。改进方法:图像分块不均匀时,填充事情shape相同。完整代码查看我的github。
2023-10-19 11:24:57 188
原创 将Windows本地的数据集上传到Linux服务器
在左侧边栏中找到存放数据集的位置,点击上传按钮(这里只能上传单个文件),就可以完成上传了。初稿完成时间:2023.9.12 21:33。具了解上传速度为1M/s-22M/s.其他方法待尝试,未完待续。
2023-09-12 21:34:35 373
原创 Union类型和集合的union()方法-set.union()
Python中的Union类型是 3.10版本引入的新功能之一。一般情况下,一个变量只能包含一种数据类型,但是使用Union类型可以创建一个变量,可以包含多种类型的数据。python集合union方法返回多个集合的并集,并集中的元素包含所有集合的元素,参与计算的集合都是它的子集。下面是一个示例代码,展示了如何使用Union类型创建包含多种不同数据类型的变量。Union[int, float]表示age参数可以是int型或float型。5.Union 嵌套 Union 会自动解包。4.自动忽略类型参数顺序。
2023-09-04 18:03:40 1126 1
原创 python中super()用法
super() 是python 中调用父类(超类)的一种方法,在子类中可以通过super()方法来调用父类的方法。超类: 是指 2层以上的继承关系,假如 C类继承B类,B类由继承A类,那么A类就是C类的超类。
2023-09-02 19:49:58 832
原创 Pytorch-lightning简介
pytorch-lighting(简称pl),它其实就是一个轻量级的PyTorch库,用于高性能人工智能研究的轻量级PyTorch包装器。缩放你的模型,而不是样板。
2023-08-31 17:54:23 807
原创 YAML基本介绍和使用语法
YAML是一种计算机数据序列化语言。(YAML is a computer data serialization language.)YAML is a human friendly data serialization standard for all programming languages(YAML是一个对所有编程语言都很友好的数据序列化标准),可以用于多种编程语言。因其良好的跨语言、跨平台、易于理解、格式简单而广泛应用于配置文件、数据文件、日志文件等。
2023-08-30 18:07:53 2422
原创 详解Python argparse ---命令行选项、参数和子命解析器
argparse模块使编写用户友好的命令行界面变得容易。该程序定义了它需要什么参数,argparse将找出如何从sys.argv中解析这些参数自动生成帮助和使用消息。当用户给予程序无效时,该模块也会发出错误论点。-------注:来自官网文档介绍。
2023-08-28 23:05:16 235
原创 生成模型基础概念-JS散度和Wasserstein散度
Wasserstein距离相比 KL 散度和 JS 散度的优势在于:即使两个分布没有重叠或者重叠非常少,Wasserstein距离仍然能反映两个分布的远近。如果将两个分布看作是两个土堆,联合分布 𝛾(𝑥, 𝑦) 看作是从土堆 𝑞1 的位置𝑥到土堆𝑞2 的位置𝑦的搬运土的数量,并有。其中Γ(𝑞1, 𝑞2)是边际分布为𝑞1 和𝑞2 的所有可能的联合分布集合,𝑑(𝑥, 𝑦)为𝑥和𝑦的距离,比如ℓ𝑝 距离等。可以理解为在联合分布𝛾(𝑥, 𝑦)下把形状为𝑞1 的土堆搬运到形状为𝑞2 的土堆所需的工作量,
2023-08-23 20:48:45 818
原创 详解VAE(变分自编码器)
变分自编码器(Variational auto-encoder,VAE) 是以自编码器结构为基础的深度生成模型。自编码器在降维和特征提取等领域应用广泛, 基本结构是通过编码 (Encoder) 过程将样本映射到低维空间的隐变量, 然后通过解码 (Decoder) 过程将隐变量还原为重构样本。
2023-08-22 18:46:14 17827 4
原创 conda 常用命令
阿里云 http://mirrors.aliyun.com/pypi/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/升级Anaconda需先升级conda。
2023-08-18 16:38:34 3280
原创 PS实现多个图片转化GIF动画
这是最后一步,一帧对应一张图片,根据自己的设计,创建帧。点击储存,命名,选择保存位置就欧克了。Select [创建帧动画]点击红框的部分,可以复制帧。点击[确定]就OK!点击时间可以修改停留的时间。在图层中设置对应的内容。
2023-08-17 12:14:21 4481
原创 pytorch安装VAE项目详解
其他的都按照requirements.txt文件来安装。这个项目无法自动下载数据集,需要手动安装。切记torch 不要重新安装!有相关介绍,包括数据下载百度云地址。2.配置conda 虚拟环境。配置环境使用的安装包及版本。提示:如果不修改代码会报错。下载后修改文件的目录。
2023-08-16 23:38:14 1020
原创 ForkingPickler(file, protocol).dump(obj)BrokenPipeError: [Errno 32] Broken pipe问题解决
跑VAE模型时遇到的问题。
2023-08-16 21:27:50 496
原创 问题:RuntimeError: Distributed package doesn‘t have NCCL built in
python在windows环境下dist.init_process_group(backend, rank, world_size)处报错‘RuntimeError: Distributed package doesn’t have NCCL built in’
2023-08-16 21:01:58 728 3
原创 pytorch_lightning报错 You requested gpu: [1],But your machine only has: [0]
gpu:[1]指代的gpu的标号,如果笔记本中只包含一个GPU,一般序号为[0].所以无法找到程序指定的GPU。找到定义模型使用GPU的地方,修改GPU使用的序号。将图中的gpus:[1]修改为gpus:[0]此问题可以有效解决,亲测有效!
2023-08-16 20:32:37 775
原创 pytorch报错torch.cuda.is_available()结果false处理方法
进入torch官网:https://pytorch.org/get-started/locally/ 选择合适的版本进行安装,可以直接复制下面的Command命令到conda虚拟环境,重新安装torch即可。要跑VAE模型,重新安装了torch,GPU就无法使用了,我重新安装了 cuda,torch.cuda.is_available()的结果依然是False。配置项目环境不要重新安装torch,因为在windows环境下,重新安装torch,会是CPU版本的。
2023-08-16 20:24:35 333
原创 生成模型相关算法:EM算法步骤和公式推导
EM 算法是一种选代算法,1977 年 Dempster 等人总结提出,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计EM算法的每次选代由两步组成:E步,求期望 (expectation);一般地,用Y表示观测随机变量的数据,Z表示隐随机变量的数据Y和Z连在一起称为完全数据 (complete-data),观测数据Y又称为不完全数据(incomplete-data)。的极大似然估计每次代包含两步:E 步,求期望:M步,求极大化,下面来介绍 EM 算法。
2023-08-02 00:23:32 1369 1
原创 生成模型基本概念:信息熵、交叉熵和相对熵(KL散度)
KL 散度(Kullback-Leibler Divergence),也叫KL 距离或相对熵(Relative Entropy),是用概率分布𝑞来近似𝑝时所造成的信息损失量. KL散度是按照概率分布𝑞的最优编码对真实分布为𝑝的信息进行编码,其平均编码长度(即交叉熵)𝐻(𝑝, 𝑞)和𝑝的最优平均编码长度(即熵)𝐻(𝑝)之间的差异. 对于离散概率分布𝑝和𝑞,从𝑞到𝑝的KL散度定义为。时p(x)=1,则熵为0.也就是说,对于一个确定的信息,其熵为0.如果其概率分布为一个均匀分布,则熵最大.
2023-07-28 23:54:57 731
原创 图像处理之Hough变换检测直线
霍夫变换是一种特征检测(feature extraction),被广泛应用在图像分析(image analysis)、计算机视觉(computer vision)以及数位影像处理(digital image processing)。由RichardDuda和PeterHart在公元1972年发明,并称之为广义霍夫变换(generalizedHoughtransform),广义霍夫变换和更早前1962年的PaulHough的专利有关。
2023-07-25 21:15:35 1751
原创 图像处理之LoG算子(高斯拉普拉斯)
LoG算子是由拉普拉斯算子改进而来。拉普拉斯算子是二阶导数算子,是一个标量,具有线性、位移不变性,其传函在频域空间的原点为0。所有经过拉普拉斯算子滤波的图像具有零平均灰度。但是该算子的缺点是对噪声具有敏感性,因此在实际应用中,一般先要对图像进行平滑滤波,再用拉氏算子进行图像的边缘检测。这就是LoG算子的产生的背景(最后的梯度表达式为高斯函数和原图像卷积,再去二阶微分算子)。
2023-07-19 22:33:14 2436
原创 图像处理之canny边缘检测(非极大值抑制和高低阈值)
Canny算子是John F.Canny 大佬在1986年在其发表的论文 《Canny J. A computational approach to edge detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986 (6): 679-698.》提出来的。
2023-07-19 16:43:25 3257
原创 图像处理之梯度及边缘检测算子
梯度是一个量变化的速度,在数学中通常使用求导、求偏导获取梯度或者某一方向上的梯度。在数字图像中梯度可以看为像素值分别在x,y方向上的变化速度,因为数字图像的离散型,以及像素是最小处理单元的特性,求数字图像的梯度时,不需要求导,只需要进行加减运算即可。
2023-07-17 16:22:07 3049 1
原创 pycharm新建分支并提送至GitHub
当我们写的项目代码越来越多时,一个master分支无法满足需求了,这个时候就需要创建分支来管理代码。创建分支可以快速的回滚到某个节点的版本,也可以多个开发者同时开发一个项目,当自己的功能完成后,提交到自己的分支上。在分支上测试通过后,最后把代码合并到master分支。
2023-07-14 18:20:28 2872 1
原创 图像处理之高斯滤波
高斯函数广泛应用于统计学领域,用于表述正态分布,在信号处理领域,用于定义高斯滤波器,在图像处理领域,二维高斯核函数常用于高斯模糊Gaussian Blur,在数学领域,主要是用于解决热力方程和扩散方程,以及定义Weiertrass Transform。二维高斯函数在计算机视觉领域用处广泛,利用0均值的二维高斯函数,可以生成高斯卷积核,用于图像处理中的高斯滤波,实现高斯模糊,可以去除噪声。
2023-07-14 00:30:25 2132
原创 pycharm 配置github
在自己项目文件夹中,点击鼠标右键,选择Git Bash here,弹出Git命令框在命令框中输入命令 ssh-keygen,然后一路点击enter,遇到y填y,这时会在系统盘下你的用户名下的.ssh文件夹里生成一个id_rsa.pub和一个id_rsa文件,用记事本打开其中的id_rsa.pub,复制所有字符,然后登录github中你的帐户,在帐户setting中选择SSH and GPG Key,创建一个新的SSH Key,把刚才复制的字符全部粘贴到这里。点击顶栏git,然后点提交。
2023-07-12 19:45:06 3070 5
原创 图像处理之比特平面分层和重构
像素是由比特组成的数字。例如在256级灰度图像中,每个像素的灰度是由8比特(一个字节)组成。如下图所示,一幅8比特图像由8个1比特平面组成,其中平面1包含图像中所有像素的最低阶比特,而平面8包含图像中所有像素的最高阶比特。
2023-07-09 13:36:51 1967
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人