摘要:
在训练CNN网络的时候,常常会使用dropout来使得模型具有更好的泛化性,并防止过拟合。而dropout的实质则是以一定概率使得输入网络的数据某些维度上变为0,这样可以使得模型训练更加有效。但是我们需要注意dropout层在训练和测试的时候,模型架构是不同的。为什么会产生这种差别呢? 一、训练和测 阅读全文
摘要:
在我们平常面试和工程中会用到BN和LN,但或许没有去了解过BN和LN到底在那个维度上进行的正则化(减均值除以标准差)。下面将会采用各种例子来为大家介绍BN层和LN层各个参数以及差别。 一、BatchNorm(批标准化): BatchNorm一共有三个函数分别是BatchNorm1d,BatchNor 阅读全文
摘要:
在项目中我们常常需要用到多个环境,因此在JupyterNotebook中配置多个内核是我们必须要学会的。为了举例子,我们这里利用conda创造了两个环境分别是py3.8和py3.7. 第一步:了解Jupyter Kernel如何启动的 当我们使用conda activate py3.8 启动环境之后 阅读全文
摘要:
第一步:查看计算机架构 由于是在服务器上安装Anaconda因此我们需要先了解当前服务器架构(是ARM架构还是X86架构),才能下载指定架构的安装包。 uname -a 使用该命令之后,根据返回结果来选择。 上图箭头所指表示该服务器架构为X86_64,如果其他计算机显示为aarch64(则为ARM架 阅读全文
摘要:
我们在使用python进行项目开发的时候常常会调用许多包,而这些包又是在不停的更新中的。因此,当前项目所需要的包的功能,在以后包的迭代中可能会被取代或者更新,从而导致在以后的某个时间重启项目的时候无法运行。所以记录下当项目所需要的包的类型以及版本是非常重要的,方便以后重启项目的时候可以直接安装。 一 阅读全文
摘要:
在NLP项目中,我们常常会需要对文本内容进行编码,所以会采tokenizer这个工具,他可以根据词典,把我们输入的文字转化为编码信息,例如我们本文信息是“我爱你”将转化为[2,10,3],其中”我“在字典里对应数字2,”爱“在字典里对应数字10,经过转化之后的文本,就可以作为模型的输入了。因此我们可 阅读全文
摘要:
之前的一篇博文详细讲解了什么函数装饰器(Python迭代器、生成器、装饰器的使用)。在类的定义中,我们也常常见到装饰器的使用,并且最常用的就是@classmethod,@staticmethod来装饰我们自定义类的函数(方法),这两个内置的装饰器是什么作用呢? 在讲解这两种方法前我们需要只要,一般我 阅读全文
摘要:
在学习装饰器的时候,装饰函数(比如写一个计算函数运行时间的装饰函数)我们常常是不知道被装饰函数会传入多少参数的,因此在装饰函数中,常常会使用(*args, **kargs)的方式来定义内部函数。因此我们需要了解一下*args和**kargs在函数定义和函数使用方面的不同,他们两者被称为可变参数传入。 阅读全文
摘要:
本文介绍python中常常会用到的迭代器,生成器和装饰器的使用与解读。 1、迭代器 首先先要知道什么是可迭代对象(Iterable),在python中常见的可迭代对象是字典,字符串,数组,元组等,这些都是可以迭代的对象。如何创建自己的可以迭代对象呢?只要在你定义的类中包含 __iter__ 方法,那 阅读全文
摘要:
本文主要是记录下,使用PytorchLightning这个如何进行深度学习的训练,记录一下本人平常使用这个框架所需要注意的地方,由于框架的理解深入本文会时不时进行更新(第三部分的常见问题会是不是的更新走的),本文深度参考以下两个网站pytorch_lightning 全程笔记 、Pytorch Li 阅读全文