自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (29)
  • 收藏
  • 关注

原创 二次型矩阵

二次型的每一项都是二次的,如果是平方则是平方项,如果是两个不同的变量则为交叉项。二次型如:x2+xy+y2x^2+xy+y^2x2+xy+y2。二次型->矩阵表达式例:x12+2x1x2+x22−x2x3+2x32−2x1x3x_1^2+2x_1x_2+x_2^2-x_2x_3+2x_3^2-2x_1x_3x12​+2x1​x2​+x22​−x2​x3​+2x32​−2x1​x3​解:平方项的系数直接做成主对角线的元素交叉项的系数除以2放到两个对称的相应位置上图可表示为 XTAXX^

2021-10-11 20:59:42 18329 3

原创 实对称矩阵的对角化

矩阵与对角形相似(P−1AP=ΛP^{-1}AP=\LambdaP−1AP=Λ)的条件定理1AAA 相似于对角形 Λ\LambdaΛ 的充要条件是 AAA 有 nnn 个线性无关的特征向量。推论如果 AAA 有 nnn 个互异的特征值,则 AAA 一定相似于对角形 Λ\LambdaΛ。其中 Λ\LambdaΛ 对角线为 AAA 的特征值。定理2A∼ΛA \sim \LambdaA∼Λ 的充分必要条件是对每一个 KKK 重的特征根的基础解系有 KKK 个解。所有的实对称矩阵都能对角化!!!向量

2021-10-11 16:39:35 4002

原创 向量和正交

向量的内积α\alphaα 和 β\betaβ 的内积 (α,β)(\alpha, \beta)(α,β) 为对应元素相乘再相加。内积是一个数。向量的长度(范数、模)∣∣α∣∣=(α,α)||\alpha||=\sqrt{(\alpha,\alpha)} ∣∣α∣∣=(α,α)​性质∣∣α∣∣≥0||\alpha||\ge0∣∣α∣∣≥0∣∣kα∣∣=∣k∣⋅∣∣α∣∣||k\alpha||=|k|\cdot||\alpha||∣∣kα∣∣=∣k∣⋅∣∣α∣∣∣(α,β)∣≤∣∣α∣∣⋅∣∣

2021-10-11 14:50:01 2959

原创 相似矩阵的性质

相似AAA,BBB 是两个 nnn 阶方阵,如果可存在 nnn 阶可逆矩阵 PPP,使得P−1AP=BP^{-1}AP=BP−1AP=B则 AAA 和 BBB 相似,即 A∼BA \sim BA∼B。注:矩阵之间有三大关系:矩阵等价(AAA 经过初等变换可以得到 BBB);矩阵相似;矩阵合同。相似的性质反身性 A∼AA \sim AA∼A,P=EP=EP=E。对称性 A∼B=>B∼AA \sim B =>B \sim AA∼B=>B∼A。若A∼B,B∼C=>A∼CA

2021-10-10 21:33:56 16378

原创 特征值和特征向量

特征值和特征向量定义假设 AAA 为 nnn 阶方阵(只有方阵才可以求特征值和特征向量),若存在一个数 λ\lambdaλ,若存在非零列向量 α\alphaα,使得 Aα=λαA\alpha=\lambda\alphaAα=λα则 λ\lambdaλ 为一个特征值,α\alphaα 为对应 λ\lambdaλ 的特征向量。其中 λ\lambdaλ 可以为 0,特征向量不能为 0。注1:用矩阵乘以向量相当于对向量进行线性替换,该向量通过矩阵从原来的空间替换成另一个空间的向量,且等于原始向量的 λ\lam

2021-10-09 19:02:56 1862

原创 【深度之眼】Pytorch框架班第五期-Week9【任务1】第一节:对抗生成网络一瞥

Generative Adversarial NetsGAN: 生成对抗网络 —— 一种可以生成特定分布数据的模型GAN的训练训练目的1、对于D:对真样本输出高概率2、对于G:输出使D会给出高概率的数据监督学习训练模式step1: 训练D输入:真实数据加G生成的假数据输出:二分类概率step2: 训练G输入:随机噪声z输出:分类概率——D(G(z))DCGANGenerator:Discriminator...

2020-09-14 15:42:58 129

转载 【深度之眼】Pytorch框架班第五期-Pytorch中常见的报错信息与课程总结

报错: ValueError: num_samples should be a positive integer value, but got num_samples=0可能的原因:传入的Dataset中的len(self.data_info)==0,即传入该dataloader的dataset里没有数据解决方法:检查dataset中的路径,路径不对,读取不到数据。检查Dataset的__len__()函数为何输出为零2报错:TypeError: pic should be PIL I...

2020-09-11 13:37:44 372

原创 【深度之眼】Pytorch框架班第五期-GPU使用代码解析

CPU(central processing unit,中央处理器):主要包括控制器和运算器GPU(Graphics processing unit, 图形处理器):处理统一的,无依赖的大规模数据运算to函数: 转换数据类型/设备1、tensor.to(*args, **kwargs)2、tensor.to(*args, **kwargs)区别: 张量不执行inplace, 模型执行inplacetensor to cudaimport torchimport torch.nn as nn

2020-09-11 11:20:57 543

原创 【深度之眼】Pytorch框架班第五期-Finetune代码解析

模型的微调(Finetune)Transfer Learning: 机器学习分支,研究源域(source domain)的知识如何应用到目标域(target domain)。模型微调步骤:1、获取预训练模型参数2、加载模型(load_state_dict)3、修改输出层模型微调训练方法:1、固定预训练的参数(requires_grad=False, lr=0),即不更新参数的梯度,或者学习率为0。2、Features Extractor较小学习率(params_group)。对于分类任务来说

2020-09-10 22:45:26 529

原创 【深度之眼】Pytorch框架班第五期-模型保存与加载代码解析

模型的保存import torchimport numpy as npimport torch.nn as nnclass LeNet2(nn.Module): def __init__(self, classes): super(LeNet2, self).__init__() self.features = nn.Sequential( nn.Conv2d(3, 6, 5), nn.ReLU(),

2020-09-10 20:56:07 361

原创 【深度之眼】Pytorch框架班第五期-Batch Normalization代码调试

Batch NormalizationBatch Normalization: 批标准化批:一批数据,通常为mini-batch标准化:0均值,1方差优点:1、可以用更大的学习率,加速模型的收敛2、可以不用精心设计权值初始化3、可以不用dropout或者较小的dropout4、可以不用L2或者较小的weight decay5、可以不用LRN(local response normalization)计算方式代码import torchimport numpy as npim

2020-09-10 17:24:00 221

原创 【深度之眼】Pytorch框架班第五期-学习率调整策略代码调试

学习率调整策略梯度下降: Wi+1 = Wi - LR * g(Wi)学习率(learning rate)控制更新的步伐。Class _LRSchedulerclass _LRScheduler(object): def __init__(self, optimizer, last_epoch=-1): def get_lr(self): raise NotImplementedError主要属性:optimizer: 关联的优化器last_epoch: 记录epoch数,学习率的调

2020-09-10 15:35:53 310

原创 【深度之眼】Pytorch框架班第五期-Week8【任务2】第一节:目标检测一瞥

Object Detection目标检测:判断图像中目标的位置目标检测两要素1、分类:分类向量[p0, …, pn]2、回归:回归边界框[x1, y1, x2, y2]模型如何完成目标检测将3D张量映射到两个张量1、分类张量:shape为[N, c+1]2、边界框张量:shape为[N, 4]边界框数量N如何确定?重要概念:特征图一个像素对应原图一块区域目标检测模型简介按流程分为: one-stage和two-stageFaster RCNN——经典two-stage

2020-09-10 09:34:37 140

原创 【深度之眼】Pytorch框架班第五期-Hook函数与CAM算法代码调试解析

Hook函数概念Hook函数机制:不改变主体,实现额外功能,像一个挂件,挂钩,hook。由于pytorch采用的计算图为动态图,动态图运算结束后,产生的中间变量(例如特征图,非叶子节点的梯度)会被释放掉,但是往往有时候我们想要提取这些中间变量,这时我们就可以采用Hook函数。import torchimport torch.nn as nnimport sys, oshello_pytorch_DIR = os.path.abspath(os.path.dirname(__file__)+os.

2020-09-09 22:36:04 338

原创 【深度之眼】Pytorch框架班第五期-Tensorboard图像、卷积核和特征图可视化代码解析

import osimport torchimport timeimport torchvision.models as modelsimport torchvision.transforms as transformsimport torchvision.utils as vutilsfrom torch.utils.tensorboard import SummaryWriterfrom torch.utils.data import DataLoaderimport syshell

2020-09-09 20:48:12 478

原创 【深度之眼】Pytorch框架班第五期-Tensorboard代码解析

代码import osimport numpy as npimport matplotlib.pyplot as pltfrom torch.utils.tensorboard import SummaryWriterimport syshello_pytorch_DIR = os.path.abspath(os.path.dirname(__file__)+os.path.sep+".."+os.path.sep+"..")sys.path.append(hello_pytorch_DI.

2020-09-09 17:08:16 224

原创 【深度之眼】Pytorch框架班第五期-Tensorboard界面使用详解

import numpy as np# SummaryWriter用来创建一个writer,可以记录我们想要可视化的数据。from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter(comment='tensorboard_818')for x in range(100): # 曲线名称,y轴,x轴 writer.add_scalar('y=2x', x * 2, x) writer.add.

2020-09-09 15:30:57 388

原创 【深度之眼】Pytorch框架班第五期-优化器代码调试

优化器采用梯度更新模型中的可学习参数,使得模型输出与真实标签的差异最小,即使loss下降。管理并更新模型中可学习参数的值,使得模型输出更接近真实标签。Optimizerclass Optimizer(object): def __init__(self, params, defaults): self.defaults = defaults self.state = defaultdict(dict) self.param_groups = [] . . . param_

2020-09-09 12:26:35 225

原创 【深度之眼】Pytorch框架班第五期-模型容器之nn.ModuleDict代码调试

模型容器(Containers)nn.ModuleDictnn.ModuleDict 是nn.module的容器,用于包装一组网络层,以索引方式调用网络层。主要方法:clear(): 清空ModuleDictitems(): 返回可迭代的键值对(key-value pairs)keys(): 返回字典的键(key)values(): 返回字典的值(value)pop(): 返回一对键值,并从字典中删除class ModuleDict(nn.Module): def __ini

2020-09-08 22:39:10 899

原创 【深度之眼】Pytorch框架班第五期-模型容器之nn.ModuleList代码调试

模型容器(Containers)nn.ModuleListnn.ModuleList是nn.module的容器,用于包装一组网络层,以迭代的方式调用网络层。主要方法:append(): 在ModuleList后面添加网络层extend(): 拼接两个ModuleListinsert(): 指定在ModuleList中位置插入网络层class ModuleList(nn.Module): def __init__(self): super(ModuleList, s

2020-09-08 22:27:51 374

原创 【深度之眼】Pytorch框架班第五期-模型容器之nn.Sequential代码调试

模型容器(Containers)nn.Sequentialnn.Sequential 是 nn.module 的容器,用于按顺序包装一组网络层class LeNetSequential(nn.Module): def __init__(self, classes): super(LeNetSequential, self).__init__() self.features = nn.Sequential( nn.Conv2d(3, 6

2020-09-08 21:23:56 546

原创 【深度之眼】Pytorch框架班第五期-图像分割一瞥

图像分割将图像每一个像素分类图像分割分类1、超像素分割:少量超像素代替大量像素,常用于图像预处理2、语义分割:逐像素分类,无法区分个体3、对个体目标进行分割,像素级目标检测4、语义分割结合实例分割模型如何完成图像分割?答:图像分割由模型与人类配合完成模型:将数据映射到特征人类:定义特征的物理意义,解决实际问题Pytorch-Hub–Pytorch模型库,有大量模型供开发者调用...

2020-09-08 20:02:40 304

原创 【深度之眼】Pytorch框架班第五期-图像分类一瞥

模型是如何进行图像分类的?图像分类的Inference(推理)步骤:1、获取数据与标签2、选择模型,损失函数,优化器3、写训练代码4、写Inference代码Inference代码基本步骤:1、获取数据与模型2、数据变换,如RGB -> 4D-Tensor3、前向传播4、输出保存预测结果Inference阶段注意事项:1、确保model处于eval状态而非training2、设置torch.no_grad(),减少内存消耗3、数据预处理需保持一致,RGB or rB

2020-09-08 15:57:30 211

原创 【深度之眼】Pytorch框架班第五期-通过调试了解nn.Module模块

nn.Module调试1、以LeNet为例,我们在第72行设置断点,并进行Debug。2、点击C按钮,我们进入到LeNet,可以发现LeNet是继承于nn.Module的,所以LeNet是一个module,代码super(LeNet, self).init()实现父类函数调用的功能,父类为nn.Mudule,所以它会调用nn.Module的__init__()函数。3、点击C按钮进入该行代码,观察__init__()的函数操作,我们可以发现__init__()实现了8个有序字典的初始化。s

2020-09-04 19:37:54 240

原创 【深度之眼】Pytorch框架班第五期-模型创建机制

调试1、以LeNet为例,我们在第72行设置断点,并进行Debug。2、点击C按钮进入到模型中,我们可以发现__init__()函数构建了LeNet模型需要的子模块。3、我们一直点击B按钮,当最后一个模块构建完成后,程序跳出,LeNet模型的初始化就完成了。模型构建完成。4、我们将代码运行到模型训练部分的97行,此处我们对模型输入了inputs,输出outputs。5、点击C按钮进入该行代码,此时我们进入module.py文件中的Module类的__call__()函数中,因为LeNe.

2020-09-04 17:00:49 256

原创 【深度之眼】Pytorch框架班第五期-transforms.Normalize运行机制调试

transforms.Normalizetransforms.Normalize(mean, std, inplace=False)功能:逐channel的对图像进行标准化output = (input - mean)/ stdmean: 各通道的均值std: 各通道的标准差inplace: 是否原地操作调试1、在my_dataset.py文件中RMBDataset类中的__getitem__(self, index)函数中的transforms语句上设置断点,并在主程序中进行deb

2020-09-04 11:47:45 423

原创 【深度之眼】Pytorch框架班第五期-transforms运行机制的代码调试

torchvision.transforms常用的图像预处理方法# ============================ step 1/5 数据 ============================split_dir = os.path.join(BASE_DIR, "..", "..", "data", "rmb_split")if not os.path.exists(split_dir): raise Exception(r"数据 {} 不存在, 回到lesson-06\1_s

2020-09-04 11:10:56 181

原创 【深度之眼】Pytorch框架班第五期-Pytorch数据读取的代码调试

torch.utils.data.DataLoaderData(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=False, drop_list=False, timeout=0, worker_init_fn=None, multiprocessing_context=None).

2020-09-04 09:53:17 528 2

原创 【深度之眼】Pytorch框架班第五期-Week7【任务2】第一节:GPU的使用

GPU in PyTorchCPU(central processing unit,中央处理器):主要包括控制器和运算器GPU(Graphics processing unit, 图形处理器):处理统一的,无依赖的大规模数据运算数据迁移torch.cuda常用方法1、torch.cuda.device_count(): 计算当前可见可用gpu数2、torch.cuda.get_device_name():获取gpu名称3、torch.cuda.manual_seed():为当前gpu设置

2020-09-03 11:26:22 152

原创 【深度之眼】Pytorch框架班第五期-Week7【任务1】第二节:Finetune

Transfer Learning & Model Finetune模型微调Transfer Learning: 机器学习分支,研究源域(source domain)的知识如何应用到目标域(target domain).模型微调步骤:1、获取预训练模型参数2、加载模型(load_state_dict)3、修改输出层模型微调训练方法:1、固定预训练的参数(requires_grad=False, lr=0)2、Features Extractor较小学习率(params_g

2020-08-31 10:50:13 109

原创 【深度之眼】Pytorch框架班第五期-Week7【任务1】第一节:模型保存与加载

序列化与反序列化序列化与反序列化表示的是内存与硬盘之间的序列关系。1、Pytorch中的序列化与反序列化1、torch.save主要参数:obj: 对象f: 输出路径2、torch.load主要参数:f: 文件路径map_location: 指定存放位置,cpu or gpuPytorch中保存模型的两种方法法1:保存整个Moduletorch.save(net, path)法2:保存模型参数state_dict = net.state_dict()torch.sa

2020-08-31 09:45:15 133

原创 【深度之眼】Pytorch框架班第五期-Week6【任务2】第二节:Layer Normalizatoin、Instance No

为什么要Normalization?常见的Normalization——BN、LN、IN and GNNormalization小结

2020-08-28 20:49:09 94

原创 【深度之眼】Pytorch框架班第五期-Week6【任务2】第一节:Batch Normalization

Batch Normalization概念批标准化批:一批数据,通常为mini-batch标准化:0均值,1方差优点:1、可以用更大的学习率,加速模型的收敛2、可以不用精心设计权值初始化3、可以不用dropout或者较小的dropout4、可以不用L2或者较小的weight decay5、可以不用LRN(local response normalization)计算方式affine transform 增强Capacity(容纳能力)内部协变量转移_BatchNorm__

2020-08-28 20:06:05 126

原创 【深度之眼】Pytorch框架班第五期-Week6【任务1】第二节:dropout

正则化之DropoutDropout: 随机失活随机: dropout probability失活:weight=0数据尺度变化:测试时,所有权重乘以1-drop_prob, drop_prob = 0.3, 1- drop_prob=0.7nn.Dropouttorch.nn.Dropout(p=0.5, inplace=False)功能:Dropout层参数p = 被舍弃的概率实现细节:训练时权重均乘以1 / 1-p , 即除以1-pPyTorch中,Dropout在训

2020-08-25 09:54:14 176

原创 【深度之眼】Pytorch框架班第五期-Week6【任务1】第一节:weight_decay

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

2020-08-25 09:17:52 164

原创 深度之眼】Pytorch框架班第五期-Week5【任务3】第一节:hook函数与CAM

Hook函数概念Hook函数机制:不改变主体,实现额外功能,像一个挂件,挂钩,hook1、Tensor.register_hookhook(grad) -> Tensor or None功能: 注册一个反向传播hook函数Hook函数仅一个输入参数,为张量的梯度2、Module.register_forward_hookhook(module, input, output) -> None功能:注册module的前向传播hook函数module:当前网络层input:当前

2020-08-21 16:18:10 183

原创 【深度之眼】Pytorch框架班第五期- Week5【任务2】第二节:TensorBoard使用(二)

add_image and torchvision.utils.make_gridadd_image()add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')功能:记录图像tag: 图像的标签名,图的唯一标识img_tensor:图像数据,注意尺度global_step:x轴dataformats: 数据形式,CHW,HWC,HWtorchvision.utils.make_grid

2020-08-20 13:36:30 125

原创 【深度之眼】Pytorch框架班第五期-Week5【任务2】第一节:TensorBoard使用(一)

SummaryWriterclass SummaryWriter(object): def __init__(self, log_dir=None, comment='', purge_step=None, max_queue=10,flush_secs=120, filename_suffix='')功能:提供创建event file的高级接口主要属性:log_dir: event_file输出文件夹comment: 不指定 log_dir时,文件后缀filename_suffix..

2020-08-20 10:36:02 165

原创 【深度之眼】Pytorch框架班第五期-Week5【任务1】第二节:TensorBoard简介与安装

TensorBoard简介

2020-08-18 22:07:21 123

原创 【深度之眼】Pytorch框架班第五期-Week5【任务1】第一节:学习率调整

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

2020-08-18 20:40:38 140

Gabor-SVM和PCA-SVM人脸识别程序

该程序完成了Gabor-SVM和PCA-SVM人脸识别程序,并将两个算法准确率进行了对比,提供了一个GUI交互界面,并且附加使用说明。

2018-09-16

奇异值分解( 英文文档)

The topic of this article, the singular value decomposition, is one that should be a part of the standard mathematics undergraduate curriculum but all too often slips between the cracks. Besides being rather intuitive, these decompositions are incredibly useful. For instance, Netflix, the online movie rental company, is currently offering a $1 million prize for anyone who can improve the accuracy of its movie recommendation system by 10%. Surprisingly, this seemingly modest problem turns out to be quite challenging, and the groups involved are now using rather sophisticated techniques. At the heart of all of them is the singular value decomposition. A singular value decomposition provides a convenient way for breaking a matrix, which perhaps contains some data we are interested in, into simpler, meaningful pieces. In this article, we will offer a geometric explanation of singular value decompositions and look at some of the applications of them.

2017-09-16

操作系统精髓与设计原理第5版_1.pdf

操作系统精髓与设计原理第5版_1.pdf

2017-05-20

机器学习实践指南:案例应用解析.pdf

机器学习实践指南:案例应用解析.pdf

2017-05-20

nginx源码剖析.pdf

nginx源码剖析.pdf

2017-05-20

移动应用UI设计模式.pdf

移动应用UI设计模式.pdf

2017-05-20

gdb完全手册.pdf

gdb完全手册.pdf

2017-05-20

Linux高性能服务器编程.pdf

Linux高性能服务器编程.pdf

2017-05-20

程序员编程艺术.pdf

程序员编程艺术.pdf

2017-05-20

跟我一起写 Makefile.pdf

跟我一起写 Makefile.pdf

2017-05-20

UNIX网络编程第二卷.pdf

UNIX网络编程第二卷.pdf

2017-05-20

linux系统编程.pdf

linux系统编程.pdf

2017-05-20

UNIX环境高级编程_第二版中文.pdf

UNIX环境高级编程_第二版中文

2017-05-20

TCP-IP三卷.zip

内含TCP-IP的第一、二、三卷

2017-05-19

计算机算法设计与分析(王晓东).pdf

计算机算法设计与分析(王晓东).pdf

2017-05-17

Boost库学习指南.pdf

Boost库学习指南

2017-05-17

BigTable详解pdf

内有pdf+doc+ppt,非常详细

2017-05-17

C程序设计(第四版)谭浩强.pdf

学习C语言的好资料

2017-05-17

shell脚本学习指南

学习脚本编程的好资料

2017-05-17

系统程序远程长计划

系统程序员成长计划pdf,完整版

2017-05-17

计算机网络第五版谢希仁

非常清晰,非常有利于学习计算机网络

2017-05-17

Tutorial-LDA-Balakrishnama.pdf

LDA英文版教程,给出了详细的推导过程。

2017-05-17

空空如也

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

TA关注的人

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