自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 pytorch-lightning浅踩坑记录

pytorch lightning

2022-08-30 18:15:01 1110 1

原创 Iterable Unpacking 迭代解包

Python allows a tuple (or list) of variables to appear on the left side of an assignment operation. Each variable in the tuple can receive one value (or more, if we use the * operator) from an iterable on the right side of the assignment. The * is the ite.

2021-08-24 16:27:06 410

转载 Python中staticmethod和classmethod的区别

class A(object): def m1(self): print("实例方法") @classmethod def m2(cls,n): print('class method', n) @staticmethod def m3(m): print('static method', n)调用:类方法和静态方法都用可以通过类名和实例名调用,因此可以在普通实例方法中使用self.m2(n) self.m3(n)来调用.【区别】class method与class绑定,s

2021-08-17 19:47:13 396

原创 2021-08-09

Questions1. optimizer.step(closure)Some optimization algorithms such as Conjugate Gradient and LBFGS need to reevaluate the function multiple times, so you have to pass in a closure that allows them to recompute your model. The closure should clear the g

2021-08-09 16:24:28 125

原创 Pix2Pix源码阅读

1. torch.backends.cudnn.benchmark设置 torch.backends.cudnn.benchmark=True将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。适用场景是网络结构固定(不是动态变化的网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的其实也就是一般情况下都比较适用。反之,如果卷积层的设置一直变化,或者输入的大小不固定,将会导致程序不停地做优化,反而会耗费更多的时间。原

2021-08-04 17:24:20 783

原创 python 生成器

在Python中,一边循环一边计算的机制,称为生成器(generator)。1. 把列表生成式的[]改成()>>>[x for x in range(5)][0, 1, 2, 3, 4]>>>(x for x in range(5))<generator object <genexpr> at 0x109a9a6d0>2. 调用生成器generator保存的是算法,变成generator的函数g,在每次调用next(g)的时候执行,

2021-08-04 16:47:47 70

原创 python函数参数

python函数参数分为5种:1.位置参数 & 2. 默认参数def add(x,y=1): return x+y其中x是必选参数,y是默认参数,默认参数放在最后。默认参数必须指向不变内容:def add_end(L=[]): L.append('End')>>> print(add_end())['End']>>> print(add_end())['End','End']正确写法:def add_end(L=None): if

2021-08-03 19:51:57 150

转载 torch.backends.cudnn.benchmark

设置torch.backends.cudnn.benchmark=True将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。适用场景是网络结构固定(不是动态变化的),网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的,其实也就是一般情况下都比较适用。反之,如果卷积层的设置一直变化,将会导致程序不停地做优化,反而会耗费更多的时间。...

2021-08-01 10:25:59 84

原创 李宏毅 ML2021 学习笔记 - W7 Self-supervised Learning

1. BERT1. How to use BERT都需要一些labled dataCase 3:NLI (Natural Language Inference)实做上,bert不能吃无限长度的输入,大概最长512左右。2. Training BERT is challenging3. Why does BERT work?前5个果是水果的果,后5个是苹果电脑的果,计算它们embedding的cosine similarity...

2021-07-15 20:06:57 201

原创 李宏毅 ML2021 学习笔记 - W6 Generative Model

1. 生成式对抗网络1. Network as Generator1.1.为什么需要输入一个分布?1.2. Unconditional generationgenerator把一个简单的distribution对应到一个复杂的distribution2. Theory behind GAN2.1. Objective找一个Generator,使得生成数据的分布与目标数据的分布越接近越好2.2. 如何计算两个distribution之间的divergen..

2021-07-15 14:52:36 278

原创 李宏毅 ML2021 学习笔记 - W5

1. TransformerSequence-to-Sequenct (Seq2seq): input a sequence,output a sequence,输出长度由机器决定。e.g 语音识别,机器翻译,语音翻译1. Encoder1.1. 网络架构每个block更为具体的架构:1.2. to learn more2. Decoder12...

2021-07-09 14:55:30 171

原创 李宏毅 ML2021 学习笔记 - W3

1. CNNCNN 不能解决scaling 和 rotation(→ data augmentation)→ spatial transformer layer2. Self-Attentionself-attention可以叠加:2.1.self-attention运作过程计算两个vector的relevance α:不一定要用softmax,其他activation function也可以,e.g. relu2.2. 矩阵角度2..

2021-07-05 17:42:56 182

原创 李宏毅 ML2021 学习笔记 - W2

1. General Guide1.2

2021-07-04 14:49:43 329

原创 李宏毅 ML2021 学习笔记 - W1 Pytorch

1. Tensor2. Gradient3. torch.nn4. Neural Network Training5. Neural Network Evaluations

2021-06-15 11:54:59 145

转载 parser.add_argument()之action

关于parser.add_argument()记录一个特殊的情况:action栗子1:self.parser.add_argument('--lr_use', action='store_true', default=False, help='if or not use lr_loss')当在终端运行的时候,如果不加入--lr_use, 那么程序running的时候,lr_use的值为default: False如果加上了--lr_use,不需要指定True/False,那么程序running的

2021-06-06 13:36:09 2098 2

转载 Python迭代器与生成器介绍及在Pytorch源码中应用

迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:>>>list=[1,2,3,4]>>>it = iter(list)>>>print(next(it))1>>&gt

2021-06-04 20:10:53 392

转载 PyTorch中Numpy,Tensor与Variable深入理解与转换技巧

PyTorch为了实现GPU加速功能,在Numpy的基础上,引入了Tensor,为了实现自动求导功能,引入了Variable。我们一般读取的数据都是以Numpy Array方式的。在TensorFlow,Numpy的数据会在输入网络后自动转换为Tensor,一般不需要我们进行显性操作,当然偶尔也会有例外。但是在PyTorch,需要我们自己进行显性操作才可以的。下面我以一个网络训练的过程来讲解它们之间如何进行相互的转换。首先我们会读取Numpy的数据,为了能够送入网络,使用GPU计算加速,所以要进行Num

2021-06-01 16:22:22 311

转载 Stacked Hourglass Networks

Stacked Hourglass Networks for Human Pose Estimation这篇论文介绍了一种新的网络结构用于人体姿态检测,作者在论文中展现了不断重复bottom-up、top-down过程以及运用intermediate supervison(中间监督)对于网络性能的提升,下面来介绍Stacked Hourglass Networks.简介理解人类的姿态对于一些高级的任务比如行为识别来说特别重要,而且也是一些人机交互任务的基础。作者提出了一种新的网络结构Stack...

2021-05-12 17:37:27 190

转载 CVPR2016:ResNet 从根本上解决深度网络退化问题

深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,在2015年提出的时候便取得了五项第一,而何恺明大神也凭借这一paper斩获CVPR 2016 Best Paper Honorable Mention。目录背景(深度网络的退化问题) 残差结构 残差结构起作用的原因 网络结构 实验结果 论文地址背景(深度网络的退化问题)对于卷积神经网络,深度是一个很重要的因素。深度卷积网络自然的整合了低中高不同层次的特征,特征的层次可以

2021-04-26 09:48:22 958

转载 一文搞懂激活函数(Sigmoid/ReLU/LeakyReLU/PReLU/ELU)

本文整理/翻译自AYOOSH KATHURIA的博客:Intro to Optimization in Deep Learning: Vanishing Gradients and Choosing the Right Activation Function, 整理过程中加入了一些自己的观点,欢迎讨论/指正/点赞!#***文章大纲***#1. Sigmoid 和梯度消失(Vanishing Gradients) 1.1 梯度消失是如何发生的? 1.2 饱和神经元(Saturated

2021-04-25 19:59:26 2210

原创 __call__用法

__call__方法的功能类似于在类中重载 () 运算符。使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。class Test(): def __call__(self,name): print("hello, I am ", name)T = Test()T('Alice')>>hello, I am Alice...

2021-04-17 15:55:29 128

原创 TypeError: sum() got multiple values for argument ‘x‘

functools.partialdef sum(x,y) : return x+yf = functools.partial( f, y=1 )f(2)3 # Works as expecteddef sum(x,y) : return x+yf = functools.partial( f, x=1 )f(2)TypeError: sum() got multiple values for argument 'x'报错原因:Python first

2021-04-17 08:23:06 726

转载 ResNet及其变种的结构梳理、有效性分析与代码解读

0、前言何凯明等人在2015年提出的ResNet,在ImageNet比赛classification任务上获得第一名,获评CVPR2016最佳论文。因为它“简单与实用”并存,之后许多目标检测、图像分类任务都是建立在ResNet的基础上完成的,成为计算机视觉领域重要的基石结构。本文对ResNet的论文进行简单梳理,并对其网络结构进行分析,然后对Torchvision版的ResNet代码进行解读,最后对ResNet训练自有网络进行简单介绍,相关参考链接附在文末; 论文连接:Deep Residual

2021-04-03 17:33:21 626

原创 卷积

卷积output大小:

2021-04-03 10:14:43 83

转载 Batch Normalization

BN的基本思想机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。BN的基本思想其实相当直观:因为深层神经网络在做非线性变换前的激活输入值(就是WU+B,U是输入)随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近(对于S

2021-04-01 19:07:35 72

转载 1x1卷积层【转】

现在各种神经网络都会用到1x1 conv,它到底起到什么作用呢?要回答这个问题,先从最经典的Inception模型说起,Figure 1是Inception-ResNet-v2的block架构图。Figure1作用一:改变矩阵维度block中每个sublayer的第一层都1x1 conv,它在这里的作用之一是降维,减少运算量--feature map channel数越少,卷积操作需要的计算量越小。但就像图像压缩一样,压缩率越大丢帧越多,1x1 conv是如果做到在质量与速度的平衡的呢?.

2021-03-23 18:20:54 1076

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除