<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[daimashiren的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/daimashiren</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daimashiren]]></copyright><item><title><![CDATA[通俗理解CNN感受野的计算方法]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/130476873</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/130476873</guid><author>daimashiren</author><pubDate>Wed, 03 May 2023 20:42:07 +0800</pubDate><description><![CDATA[现在要计算输出的这个特征图上的每个点对应输入的6x6的图像上多大范围的像素点（感受野）。很直观的，输出的2x2图像上每个点来自于中间特征图的3x3区域。图片来自于https://paddlepedia.readthedocs.io/en/latest/tutorials/CNN/convolution_operator/Convolution.html。因此我们得到输出的2x2的特征图上的点对应于原始特征图上5x5范围的像素点，即感受野为5x5。那么中间的特征图上点影响多大范围的来自第一个特征图像素点？]]></description><category></category></item><item><title><![CDATA[理解机器学习中常见参数估计方法]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/130321901</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/130321901</guid><author>daimashiren</author><pubDate>Sun, 23 Apr 2023 14:59:43 +0800</pubDate><description><![CDATA[其核心思想是当求解MLE算法或MAP算法的过程中依赖于某些不可观测的隐变量。分别表示抛了若干次硬币之后观察到的正面朝上和反面朝上的次数。假设每次抛硬币的过程是条件独立的，且符合（0-1）分布。其核心思想是在极大似然估计(MLE)算法的基础上，假设参数。的分布为常数分布时，最大后验概率估计等价于极大似然估计，即。由于P(D) 是已知的观测分布可以忽略，因此。这符合我们的认知，概率值近似等于频率。例如，假设抛硬币正面朝上的概率值。重复2，3过程，直到收敛。, 反面朝上的概率值为。]]></description><category></category></item><item><title><![CDATA[Ubuntu 无法在安装新的版本前，为 ./usr/bin/strings 做一个符号链接备份..Operation not permitted]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/129089383</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/129089383</guid><author>daimashiren</author><pubDate>Fri, 17 Feb 2023 16:28:35 +0800</pubDate><description><![CDATA[有一天ubuntu服务器开机一直卡在登录界面，密码输入正确但是反复出现登录界面就是进不去，推测可能是ubuntu-desktop软件出了问题，于是在重装ubuntu-desktop过程中提示要安装binutils依赖，但是在安装binutils一直提示标题展示的错误，即做符号链接备份时提示。经过以上步骤，系统中的chattr和lsattr文件应该已经被修复了，下面使用类似的方法更改安装软件过程中遇到的障碍，例如我的服务器报文件权限错误的是。chattr指令用于设置文件属性，‘+’选项，将给文件添加属性；]]></description><category></category></item><item><title><![CDATA[搭建Pytorch 和 Tensorflow v1 兼容的环境]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/127605221</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/127605221</guid><author>daimashiren</author><pubDate>Sun, 30 Oct 2022 22:06:57 +0800</pubDate><description><![CDATA[Github 上很多大牛的代码都是Tensorflow v1 写的，比较新的文章则喜欢用Pytorch，这导致我们复现实验或者对比实验的时候需要花费大量的时间在搭建不同的环境上。这篇文章是我经过反复实践总结出来的环境配置教程，亲测有效！]]></description><category></category></item><item><title><![CDATA[通俗理解拉普拉斯算子(Laplace)]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/127365941</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/127365941</guid><author>daimashiren</author><pubDate>Mon, 17 Oct 2022 16:23:20 +0800</pubDate><description><![CDATA[中心点为负数，上下左右都是正数，经过Laplace算子处理后 （对应位置相乘再相加），如果中心的上下左右都是有灰度变化的，那么判定该中心点位于边缘内，那么经此处理后，边缘中心的灰度值会变小，而周围上下左右灰度值不变，因而最后输出的图像中，只有边缘周围上下左右部分的灰度值被保留，而边缘部分则趋于0或等于0 （小于0的部分会被截断为0），因此需要变号 (公式中令c = -1) ，即从原图中减去Laplace算子处理后的图像，使得边缘中心的灰度值变大，而边缘周围的灰度值减少，就表现为原图中的边缘]]></description><category></category></item><item><title><![CDATA[Pytorch 计算模型复杂度 (Params 和 FLOPs)]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/127361223</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/127361223</guid><author>daimashiren</author><pubDate>Mon, 17 Oct 2022 12:32:41 +0800</pubDate><description><![CDATA[Pytorch 计算模型复杂度 (Params 和 FLOPs)]]></description><category></category></item><item><title><![CDATA[理解Separable Convolution]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/125834380</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/125834380</guid><author>daimashiren</author><pubDate>Sun, 17 Jul 2022 17:47:23 +0800</pubDate><description><![CDATA[普通Convolution layer 会构造输入图像的各通道加权值 N 次得到N 维的feature map 输出 (卷积核的数量，也就是输出的feature map的维度) ；而Separable Convolution layer 只构造输入图像各通道加权值1 次(Depwise Convolution)，然后用不同的比例 (权值) 构造feature map N次得到N 维的feature map 输出 (PointWise Convolution)......]]></description><category></category></item><item><title><![CDATA[Python获取文件名和文件类型]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/125185512</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/125185512</guid><author>daimashiren</author><pubDate>Wed, 08 Jun 2022 15:26:41 +0800</pubDate><description><![CDATA[Python获取文件名和文件类型]]></description><category></category></item><item><title><![CDATA[通俗理解深度学习梯度累加(Gradient Accumulation)的原理]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/125016904</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/125016904</guid><author>daimashiren</author><pubDate>Sat, 28 May 2022 12:35:20 +0800</pubDate><description><![CDATA[首先你得明白什么是梯度，可以看我之前写的一篇博客 ：
微分与梯度的概念理解
本质上，梯度是一种方向导数，是一个矢量，因此这里的梯度累加并不是简单的相加，而是类似于初高中物理学的力的合成，梯度作为一种方向导数(矢量)的其累加的效果就是将各个小的梯度合成为一个指向Loss function 最终优化方向的梯度。
这里结合代码理解一下：

正常训练的过程

for i, (images, labels) in enumerate(train_data):
    # 1. forwared 前向计算
    ou]]></description><category></category></item><item><title><![CDATA[Tensorflow 1.x 和 Pytorch 中 Conv2d Padding的区别]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123708688</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123708688</guid><author>daimashiren</author><pubDate>Thu, 24 Mar 2022 13:25:13 +0800</pubDate><description><![CDATA[Pytorch中Conv2d的Padding

可以是整数，二元组，字符串三种形式。

整数(int)。如果输入的padding为整数则代表在 上，下，左，右 四个方向都充填一样数量的0或者由padding_mode 确定的padding类型。
二元组(tuple)。如果输入的padding 为二元组(padding[0]，padding[1])，则padding[0]代表上下两个方向的padding大小，padding[1]则代表左右两个方向的padding大小。
字符串(str)。字符串模式可选参数为 ]]></description><category></category></item><item><title><![CDATA[TensorFlow v1 入门教程]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123691328</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123691328</guid><author>daimashiren</author><pubDate>Wed, 23 Mar 2022 17:26:32 +0800</pubDate><description><![CDATA[目录Tensor计算图Eager modeTensorboardSave and Restore模型保存模型恢复
tensorflow v2 版本现在已经全面用keras 封装了，运行时甚至都不用显式地建立计算图，然后再调用session.run() 了，对刚入门人工智能的人来说很是友好了。但是我想说，github上，包括很多以前大牛们的论文的代码实现不都还是用的v1 版本的tensorflow 写的吗？？？连tensorflow 的session 都抛弃了，让人读大牛们的论文的时候那叫一个抓狂，所以下定决]]></description><category></category></item><item><title><![CDATA[理解WGAN 和 Spectral Normalization(归一化)]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123374207</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123374207</guid><author>daimashiren</author><pubDate>Wed, 09 Mar 2022 12:12:32 +0800</pubDate><description><![CDATA[传统的Gan存在的问题

传统的判别器损失

maxD&nbsp;V(D,G)=Ex∼Pr(x)[log&nbsp;D(x)]+Ez∼Pg&nbsp;(x)[log(1−D(x))](1)
\hspace{2em}\mathop{max}\limits_{D}\space V(D,G) = \mathbb{E}_{x\sim P_{r}(x)}[log\space D(x)] + \mathbb{E}_{z \sim P_g \space (x)}[log(1-D(x))] \hspace{4em}(1)
]]></description><category></category></item><item><title><![CDATA[理解原始Gan Loss 和 Hinge Gan Loss]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123279408</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123279408</guid><author>daimashiren</author><pubDate>Fri, 04 Mar 2022 16:16:02 +0800</pubDate><description><![CDATA[原始Gan Loss
minG&nbsp;maxD&nbsp;V(D,G)=Ex∼Pdata[log&nbsp;D(x)]+Ez∼Pz&nbsp;(Z)[log(1−D(G(Z)))]
\mathop{min}\limits_{G}\space \mathop{max}\limits_{D}\space V(D,G) = E_{x\sim P_{data}}[log\space D(x)] + E_{z \sim P_z \space (Z)}[log(1-D(G(Z)))]
Gmin​&nbsp;Dmax]]></description><category></category></item><item><title><![CDATA[详解pytorch fold和unfold用法]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123132626</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123132626</guid><author>daimashiren</author><pubDate>Fri, 25 Feb 2022 14:38:39 +0800</pubDate><description><![CDATA[先上结论，conv = unfold + matmul + fold. 即卷积操作等价于，先unfold(展开)，再执行矩阵乘法matmul，然后再fold(折叠)。具体过程如下：
unfold函数将一个输入Tensor(N,C,H,W) 展开成 (N,C * K1 * K2, Blocks)，其中kernel形状为(K1,K2)，总的Block数为Blocks。即把输入的Tensor根据kernel的大小展开成Blocks个向量。Block的计算公式如下：
Blocks=Hblocks×Wblocks
B]]></description><category></category></item><item><title><![CDATA[微分与梯度的概念理解]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123046535</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123046535</guid><author>daimashiren</author><pubDate>Mon, 21 Feb 2022 14:26:24 +0800</pubDate><description><![CDATA[微分
一元函数的微分定义式如下：
dy=f′(x)∗dx
dy=f'(x)*dx
dy=f′(x)∗dx
即  垂直变化量 = 斜率(导数) * 水平变化量
微分的含义：用一个线性函数的变化来逼近任意可导函数的变化
梯度
梯度是一个矢量，是多元函数在某一点处的偏导数构成的矢量。例如，令 z = f(x,y)，则z在点p(x,y)处的梯度为 ：
▽f(x,y)=gradf(x,y)=(∂f∂x,∂f∂y)
▽f(x,y) = gradf(x,y) = (\frac{\partial f}{\partial x]]></description><category></category></item><item><title><![CDATA[直观理解Dilated Convolution]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123035868</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123035868</guid><author>daimashiren</author><pubDate>Sun, 20 Feb 2022 20:57:29 +0800</pubDate><description><![CDATA[Dilated Convolution是一种通过增加kernel元素间距(padding 0)使得感受野增加的一种卷积方式。所谓感受野就是特征图上每个点对应原图像的像素范围。

这样，在不改变kernel size(上图中的kernel size还是3x3)的情况下，增加了感受野。也可以理解为kernel size从3x3 变成了5x5(但是只有原来的3x3的位置有权值，其余位置均为0)，Dilated Conv的kernel计算公式如下:
k′=k+(k−1)(d−1)
k'=k+(k-1)(d-1)
k]]></description><category></category></item><item><title><![CDATA[直观理解Transpose Convolution]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/123029111</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/123029111</guid><author>daimashiren</author><pubDate>Sun, 20 Feb 2022 13:32:03 +0800</pubDate><description><![CDATA[首先，先上结论，Transpose Convolution 可以看成是在原始input的基础上做padding之后的常规Convolution. 所以常规的Convolution的计算性质也适用于Transpose Convolution.
需要特别注意的是，Trans Conv中的stride和常规Conv的stride有点不太一样的是，常规Conv的stride是对kernel的移动步长，而Trans Conv的stride是对输入input元素间的间隔。常规的Conv 以及其对应的Trans Conv]]></description><category></category></item><item><title><![CDATA[KL散度与交叉熵概念辨析]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/122625664</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/122625664</guid><author>daimashiren</author><pubDate>Fri, 21 Jan 2022 21:30:01 +0800</pubDate><description><![CDATA[KL散度

深度学习中，常用KL散度衡量两个数据分布之间的差异，KL散度越小，则表示两个数据分布之间的差异越小。一般以 P(x) 表示样本的真实分布，Q(x)作为模型预测的分布。例如，在一个三分类任务中，x1，x2，x3分别表示猫、狗和马。若一张猫的图片的真实分布P(x)=[1,0,0]，而预测分布为Q(x)=[0.7,0.2,0.1]，则对应的KL散度计算如下：







交叉熵

在介绍交叉熵之前，首先补充一下以下重要概念：

信息量
设某一事件发生的概率为P(x)，则其信息量表示为：



...]]></description><category></category></item><item><title><![CDATA[关于图像傅里叶变换得到的频谱图的通俗理解]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/122599386</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/122599386</guid><author>daimashiren</author><pubDate>Thu, 20 Jan 2022 14:58:55 +0800</pubDate><description><![CDATA[傅里叶变换过程：





经过傅里叶变化且频谱居中化处理的频谱图:



1.如果将图像某一行上的灰度变化看作是一个离散信号，那么整张图像可以看作是一个分布在二维平面上的信号，因此图像可看作是空间域信号。傅里叶变换则是将图像灰度分布（空间域信号）变换到了频域上，给我们提供了观察图像的另一个视角。

2.图像的频谱图（频谱居中后）的中心点是频率最低点，以该点为圆心，不同半径的上的点表示不同的频率。这里的图像频率是指对应原图像中的某灰度曲线变化的快慢(这么说不严谨，但是按照上面第1点的角度，似乎也可以这么理解]]></description><category></category></item><item><title><![CDATA[辨析Iteration、epoch及batchsize之间的关系]]></title><link>https://blog.youkuaiyun.com/daimashiren/article/details/122220934</link><guid>https://blog.youkuaiyun.com/daimashiren/article/details/122220934</guid><author>daimashiren</author><pubDate>Wed, 29 Dec 2021 17:39:20 +0800</pubDate><description><![CDATA[区别

Iteration: 是指跑完一个batch，更新了一次参数叫做一次Iteration

epoch: 是指跑完一整个Dataset里的所有batch之后，累计更新了len(datasets)/batchsize次参数之后叫做一个epoch.



总Iteration的计算公式如下：


...]]></description><category></category></item></channel></rss>