自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 pytorch中的正则化-weight decay与dropout

**首先是pytorch中的L2正则项weight decay**一.正则化与偏差方差分解Regularization:减小方差的策略误差可分解为:偏差,方差与噪声之和。即误差=偏差+方差+噪声之和偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响噪声则表达了在当前任务...

2020-03-11 16:12:51 1245

原创 深度学习中的normalization

背景:normalization的作用:解决数据尺度分布异常的问题。relu可以解决,但可能出现梯度爆炸或消失。sigmoid也会导致梯度爆炸或消失。normalization则将数据尺度控制在一个合理区间内,主要是让梯度在0.5附近,不会过于接近0(消失),也不会超过1(爆炸)。一、batch normalization一个Batch的图像数据shape为[样本数N, 通道数C, 高度H,...

2020-03-11 14:57:39 1117

原创 python的os.walk()函数,os.path.join() 函数,os.listdir()方法 ,os.isdir()方法

一、python的os.walk()函数经过查阅官方文档,对其用法简单总结如下:先上代码(这里用截图):上图的概述:在利用os.walk(data_path)函数,打印输出结果。然后再组合这些目录和文件,还原回去。由此可见:root就是data_path,这是一个路径,dir为该路径下的文件夹列表,files为该路径下的文件列表;后续的循环是对上面得到的dir文件夹进行迭代搜索,又...

2020-03-07 23:42:28 1161

原创 【无标题】

当git clone失败的时候 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加apt-get updatesudo apt-get install curl提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录当git clone失败的时候前言一、apt-get update二、sudo apt-get install curl总结前言apt-get update。一、apt-get update二、sudo apt-get install cur

2022-05-11 20:04:16 211

原创 normalize/norm函数

def normalize(input, p=2, dim=1, eps=1e-12, out=None): # type: (Tensor, float, int, float, Optional[Tensor]) -> Tensor r"""Performs :math:`L_p` normalization of inputs over specified dimens...

2020-04-16 09:58:27 847

原创 np.resize(a3, size[::-1])解析,注意与a3.resize(size[::-1])的区别

a3 = np.random.normal(2, 6, (3, 2, 2))e3 = a3[:, :, None]#注意这里的形状,将第三维设为空,尺寸为1,原来的第三维自动向后,变为了第四维,所以e3的形状为(3,2,1,2)size = (4, 5)b3 = np.resize(a3, size[::-1])#不够的话,循环复制;而a3.resize是一遍到头之后,补零。这已经不是原位操...

2020-04-11 13:05:42 569

原创 **=解析

d = 2c = 3c **= d#相当于c的d次方赋给了c,d没有变化print(c, d)

2020-04-11 12:47:24 665

原创 resize(size[::-1])解析

a3 = np.random.normal(2, 6, (3, 2))size = (4, 5)b3 = a3.resize(size[::-1])#resize是原位操作,直接将原来的a3拉成一维,再填充成5行4列,还在a3里,无返回值,所以b3是noneprint(a3, b3)[[ 9.17528213 11.45083687 7.14082812 12.43437843] [...

2020-04-11 12:46:16 1388

原创 _squared_euclidean函数详解:计算两个样本集中两两样本(来自不同样本集)之间的距离

看GLVQ的代码时候,发现下面一段(已经被我拆分了,方便调试),本来不知所云,后来发现,里面文章大得很。def _squared_euclidean(a, b=None): if b is None: d = np.sum(a ** 2, 1)[np.newaxis].T + np.sum(a ** 2, 1) - 2 * a.dot( a.T)...

2020-04-05 23:13:45 1023

原创 关于np.where详解

动机是学习机器学习的时候遇到了困惑:Ymean = np.zeros((movies, 1))Ynorm = np.zeros((movies, users))for i in range(movies): idx = np.where(R[i,:] == 1)[0]#这里的[0]表示返回的是行索引,还是列索引? Ymean[i] = Y[i,idx].mean() ...

2020-03-29 20:31:09 1588

原创 机器学习备忘-特征映射

将一个二维特征(x1, x2)根据自己的需要映射到高维。def feature_mapping(x, y, power, as_ndarray=False):#这里x,y是np数组的形式,as_ndarray默认为false,这是作者定义的函数# """return mapped features as ndarray or dataframe""" data = {"f{...

2020-03-27 11:08:47 3429 1

原创 7.类:面向对象

引子Why:面向对象更符合人类对客观世界的抽象和理解一切皆对象一只小狗,一把椅子,一张信用卡,一条巧克力。。。一切对象,都有自己内在的属性狗狗的品种、椅子的质地、信用卡的额度、巧克力的口味。。。一切行为,皆是对象的行为狗狗蹲下、椅子移动位置、刷信用卡、巧克力融化了。。。How:类是对象的载体不同年龄、肤色、品质的猫,每一只都是一个对象他们有一个共同的特征:都是猫我们可以把一类...

2020-03-26 11:26:07 127

原创 机器学习备忘-维度辨析axis-矩阵和向量混合运算-.py文件中调用.mat文件-欠拟合过拟合解决方案

1.可以通过np.matrix()函数将一个变量转换为numpy型矩阵2.python中,np库中,矩阵和向量相乘的话,会自动对向量进行转换,转换成列向量/一列的矩阵。3.关于维度的一些辨析# 找到每个样本中预测概率最大的值 h_argmax = np.argmax(h, axis=1)#这里axis = 1 表示按行找出最大值对应的列索引2.二维数组或者矩阵中,axis=1表...

2020-03-26 10:46:19 159

原创 第六章 函数

一 函数的定义及调用为什么要用函数1、提高代码复用性——抽象出来,封装为函数2、将复杂的大问题分解成一系列小问题,分而治之——模块化设计的思想3、利于代码的维护和管理函数的定义及调用白箱子:输入——处理——输出三要素:参数、函数体、返回值1、定义def 函数名(参数):  函数体  return 返回值2、调用函数名(参数)参数传递0、形参与实参形参(形式参数):...

2020-03-25 22:26:23 227

原创 第五章 程序控制结构

第一部分 条件测试1、比较运算非空ls = [1]if ls: # 数据结构不为空、变量不为0、None、False 则条件成立 print("非空")else: print("空的")2、逻辑运算与、或、非a = 10b = 8c = 12print((a > b) and (b > c)) # 与print((a...

2020-03-24 20:09:22 103

原创 python第四章--组合数据类型(备忘)

range(起始数字,中止数字,数字间隔)如果起始数字缺省,默认为0;必须包含中止数字;数字间隔缺省,默认为1range()转列表反向切片print(cars[:-4:-1]) # 开始位置缺省,默认为-1print(cars[::-1]) # 获得反向列表用 list1+lis2 的形式实现列表的拼接用 nlist 或 listn 实现列表的成倍复制...

2020-03-24 00:27:53 238

原创 python基础语法备忘

1.动态交互输入x = input("请输入一个数字:")x请输入一个数字:4'4' #输出是一个字符,是带引号的#eval() 去掉引号x = eval(input("请输入一个数字:"))x请输入一个数字:44 #输出是一个数字,不带引号的2.打印输出print 默认换行,若不想换行:换行控制 end=print(123,end=" ")print(456)12...

2020-03-21 21:59:11 101

原创 pytorch基本语法备忘

一、torch.max网上搜集的torch.max函数的用法,以备查询。torch.max(input, dim, keepdim=False, out=None) -> (Tensor, LongTensor):按维度dim 返回最大值torch.max)(a,0) 返回每一列中最大值的那个元素,且返回索引(返回最大元素在这一列的行索引)torch.max(a,1) 返回每一行中最...

2020-03-15 19:15:28 180

原创 pytorch学习笔记-六种常用的学习率及初始学习率的设置

首先给出****梯度下降的定义: ????????+???? = ????????** − LR * ????(????????)学习率(learning rate)就是控制更新的步伐学习率调整的基类:class _LRScheduler以下的六个策略都是基于这个基类。一、StepLR功能:等间隔调整学习率主要参数:• step_size:调整间隔数,比如为50,那么每50个epoch更新一次学习率• gamma:调整系数调...

2020-03-15 18:58:35 4939

原创 pytorch学习笔记-学习率调整策略

class _LRScheduler主要属性:• optimizer:关联的优化器• last_epoch:记录epoch数• base_lrs:记录初始学习率class _LRScheduler(object): def __init__(self, optimizer, last_epoch=-1):主要方法:• step():更新下一个epoch的学习率• get_lr(...

2020-03-15 16:29:33 191

原创 pytorch学习笔记:优化器

pytorch的优化器:管理并更新模型中可学习参数的值,使得模型输出更接近 真实标签导数:函数在指定坐标轴上的变化率方向导数:指定方向上的变化率梯度:一个向量,方向为方向导数取得最大值的方基本属性• defaults:优化器超参数• state:参数的缓存,如momentum的缓存• params_groups:管理的参数组• _step_count:记录更新次数,学习率调整中使用...

2020-03-15 16:18:52 180

原创 if __name__ == '__main__'的作用和原理

以前困惑了一段时间,网上找了资料,自己验证了下,进一步加深了印象。多动手才是王道。一、基本作用一个python文件通常有两种使用方法:第一是作为脚本直接执行第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在 if name == ‘main’: 下的代码只有在第一种情况下(即文...

2020-03-13 10:53:42 172

原创 三行代码简单实现gpu

第一步设置device:device = torch.device("cuda" if torch.cuda.is_available() else "cpu")第二步,把模型加载到device上:resnet18_ft.to(device)第三步,将数据加载到device上: inputs, labels = inputs.to(device), labels.to(device)...

2020-03-12 10:05:05 438

原创 pytorch中模型的finetune-模型微调

迁移学习Transfer Learning:机器学习分支,研究源域(source domain)的知识如何应用到目标域(target domain)Model Finetune:模型的迁移学习,把权值当作知识用于新的任务模型微调步骤:获取预训练模型参数加载模型(load_state_dict)修改输出层模型微调训练方法:4. 固定预训练的参数(requires_grad =Fal...

2020-03-12 10:01:12 567

原创 pytorch学习笔记-模型保存与加载,断点续训练

一、模型的保存与加载PyTorch中的保存(序列化,从内存到硬盘)与反序列化(加载,从硬盘到内存)torch.save 主要参数: • obj:对象 • f:输出路径torch.load 主要参数 • f:文件路径 • map_location:指定存放位置, cpu or gpu两种方法:法1: 保存整个Moduletorch.save(net, path)法2: 保存模型参...

2020-03-11 17:08:33 2698 6

原创 提示路径错误的可能解决办法

路径问题主要是两个:相对路径不正确符号问题,例如linux下需要 / ,win需要 \用os.makedirs来创建文件夹,比较稳妥当然最简单,也最笨的错误:路径名写错了,导致读不了数据等等问题...

2020-03-10 23:56:56 3742

原创 关于初学pytorch的一些疑惑及解答(最后一点还未找到答案)

一、关于维度拓展有两点疑问(红色标在图中):1、为啥是在C维拓展,我看着像B维拓展啊?2、kernels.view里的-1是默认batchsize为1么,还是其他意思?解答:B C H W0 1 2 3这里已经取了某一个卷积核出来了,取出来的张量只剩下C H W,然后对其进行unsqueeze(1)操作的结果是:C(原) C(新) H W把原先的C(通道)当做...

2020-03-10 23:54:04 216 2

原创 关于tensor的data属性和shape属性的关系的粗浅认识,不同意见欢迎评论。欢迎解答第一个无限循环的问题

我就新建了一个3*3的二维张量,哪位大哥给个图中画红线的正解:一是为啥那个T可以一直循环下去?二是这个data={tensor:3}和t={tensor:3}以及T={tensor:3}怎么理解?关于第二点,我觉得data/t/T={tensor:3}都代表t.shape第一维的大小。这两点网上没找到解释。这用pytorch语法能解释么?...

2020-03-10 23:37:59 604 3

原创 解析os.path.dirname(__file__)、os.path.abspath(__file__)、os.path.join()使用

今天看了一下数据读取的相关代码,结合实践,作如下总结:我的代码所在目录如下图:conf_path = os.path.dirname(os.path.abspath(__file__))work_path = os.path.dirname(os.path.dirname(conf_path))data_path = os.path.join(work_path, "data")采...

2020-03-08 21:03:54 2034

原创 关于conda/pytorch安装,以及虚拟环境配置的一些坑以及避坑指南-conda/pip添加清华镜像源-命令行安装pytorch

本文是本人在安装conda/pycharm/pytorch的时候遇到的一些坑,以及解决办法,希望对大家有所帮助。折腾了快一天。。一、关于conda安装只强调一点,安装过程中一定要把360的相关安全软件推出,要不然安装过程中的一些配置将会被阻止,除非你一直盯着安装过程,手动点允许本次操作。ps:关于是否添加到环境变量,依据个人喜好。个人建议那个选项勾上,方便在cmd终端中用命令行操作。cmd命...

2020-03-06 14:56:25 1875

ts_126173v170101p0.zip

ts_126173v170101p0.zip

2023-09-02

common_tools.py

技术安全

2020-04-26

np.where详解.ipynb

关于np.where的一些思考和实验,主要是解答自己的一些困惑。因为我在网上看到的关于这个的解释讲解的太粗糙了。所以拿出来和大家共享一下。

2020-03-29

空空如也

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

TA关注的人

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