自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cuda编程以及GPU基本知识

GPU的基本知识以及cuda的基本编程术语

2023-03-03 10:24:44 1061

原创 numpy - 花式索引

import numpy as npdata = np.arange(10000).reshape(100, 100)print(data)index = np.array([[10, 20], [30, 40], [50, 60]])print(index.shape)print(index.T[0])selected = data[index.T[0], index.T[1]]print(selected)

2022-01-16 17:01:12 1071

原创 网络轻量化 - 注意力迁移(Attention Transfer)

原文:《PAYING MORE ATTENTION TO ATTENTION: IMPROVING THE PERFORMANCE OF CONVOLUTIONAL NEURAL NETWORKS VIA ATTENTION TRANSFER》目录动机前期知识注意力机制空间域(Spatial Domain)通道域(Channel Domain)混合域(Mixed Domain)算法部分基于激活的注意力转移三种实现方式:利用注意力转移进行知识蒸馏基于梯度的注意力转移动机在知识蒸馏中,教师网络学习到的注意

2022-01-05 18:16:25 4279

原创 网络轻量化 - 知识蒸馏(knowledge distillation)

原文:《Distilling the Knowledge in a Neural Network》目录前期知识集成模型(Ensemble Models)BaggingBoosting缺点知识蒸馏思想算法部分知识蒸馏方法引入温度参数 T(Temperature)组合两种 Loss前期知识集成模型(Ensemble Models)通过结合了来自多个模型的决策,以提高最终模型的稳定性和准确性。Bagging从原始样本抽取训练集:每轮从原始样本集抽取 n 个样本,共进行 k 轮抽取,获得 k 个训

2022-01-05 14:42:45 2514 1

原创 网络轻量化 - 泰勒剪枝

原文:《PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE》目录算法部分通道重要性判断通道重要性判断的主流方法本文的通道重要性判断方法 - 一阶泰勒展开与其他标准联合判断对每个通道的重要性进行归一化FLOPs 正则化使用迭代式剪枝来降低精度损失代码部分hook 介绍register forward hookregister backward hookHook for Tensor算法部分通道重要性判断通道重要性

2022-01-04 21:01:10 1379 4

原创 网络轻量化 - 非结构化剪枝

原文:《Learning both Weights and Connections for Efficient Neural Networks》目录前期知识参数量和计算量参数量计算量MACL1和L2 Regularization 的区别L1L2算法部分三步剪枝方法加入 Regularization 的作用代码部分网络构建结构化剪枝的思路前期知识参数量和计算量参数量参数量:模型中所有带参数的层的权重参数总量cv类网络中主要有:卷积层、BN层、全连接层等(注意:激活函数层、Pooling层、Ups

2022-01-04 13:50:42 2747

原创 网络轻量化 - 结构化剪枝

目录动机Network SlimmingChannel-Level SparsityLeveraging Scaling Factors in BN LayersChannel Pruning and Fine-tuning原文:《Learning Efficient Convolutional Networks Through Network Slimming》动机训练过程中减去部分权重后的非结构化剪枝无法直接部署在计算设备上,所以可以采用结构化剪枝,直接剪掉整个layer,如下图所示。Netw

2022-01-04 10:55:16 1809

原创 Categorical CrossEntropy 的反向传播推导

可以用运算图推导也可以用公式推导,如下图所示:

2021-12-02 12:26:45 777

原创 TUM I2DL - exercise5小结

目录全连接层反向传播的实现中,要注意的问题np.mean() 用法 (axis以及keepdims参数)one-hot编码实现softmax + cross entropy的梯度求解SGD + momentum的实现思路字典的常用操作全连接层反向传播的实现中,要注意的问题总结:某变量的梯度和该变量的 shape 要相同(接上)所以,写出数学表达式后,要通过 transpose、reshape 等方式“凑 shape ”注意是否除以 nnp.mean() 用法 (axis以及keepdims

2021-10-18 03:54:36 183

原创 TUM I2DL - exercise4小结

简单loss层的构建class Loss(object): def __init__(self): self.grad_history = [] def forward(self, y_out, y_truth): return NotImplementedError def backward(self, y_out, y_truth, upstream_grad=1.): return NotImplementedError

2021-10-15 08:39:45 368

原创 语义分割 - DeepLab系列(v1, v2, v3, v3+)

论文精读四种版本网络的对比v1修改 VGG16空洞卷积CRF 作为后处理v2设计 ASPP 模块,将空洞卷积的性能发挥到最大沿用 VGG16 作为主网络尝试使用 ResNet-101 进行对比实验CRF 作为后处理v3以 ResNet 作为主网络设计了一种串行和一种并行的 DCNN 网络微调 ASPP 模块取消 CRFv3+以 ResNet 或 Xception为主网络加入了编解码结构取消 CRF先验知识...

2021-10-01 20:30:52 624

原创 python - *的用法

目录*放在实参前*放在形参前*放在实参前在调用函数时,*可以对列表、元组、集合、字典及其他可迭代对象起到解包的作用。示例:定义函数如下:def print_test(a, b, c): print(a, b, c)该函数应传入三个参数,如果你如下所示传入实参就会报错:a = [1, 2, 3]print_test(a)运行结果:TypeError: print_test() missing 2 required positional arguments: 'b' and 'c'

2021-10-01 19:32:20 651

原创 语义分割 - U-Net / FusionNet

论文精读先验知识医学图像分割处理对象:X-射线成像(X-CT)核磁共振成 像(MRI)核医学成像(NMI)超声波成像(UI)电子显微镜成像(EM)难点:数据量少。一些挑战赛只提供不到100例的数据图片尺寸大。单张图片尺寸大、分辨率高,对模型的处理速度有一定的要求要求高。医学图像边界模糊、梯度复杂,对算法的分割准确度要求极高多模态。以ISLES脑梗竞赛为例,其官方提供了CBF,MTT,CBV,TMAX,CTP等多种模 态的数据padding定义:padding就是在卷积之

2021-09-25 17:09:28 506

原创 语义分割 - SegNet / DeconvNet

这里写目录标题论文精读先验知识编码器 - 解码器结构(Encoder - Decoder frame)随机丢弃层(Dropout)反池化(unpooling)SegNet本文创新点算法架构DeconvNet本文创新点算法架构算法实现SegNet.py导入包解码器中的卷积部分的定义构建网络DeconvNet.py导入包解码器中反卷积的部分的定义构建网络论文精读先验知识编码器 - 解码器结构(Encoder - Decoder frame)编码器结构:由普通卷积层和下采样层将特征图尺寸缩小解码器结构

2021-09-22 20:51:58 552 1

原创 语义分割 - FCN (Fully Convolutional Networks)

目录FCN论文精读本文的创新点先验知识感受野(感受域) Receptive field全局信息与局部信息算法架构训练技巧算法实现定义配置文件 cfg.py数据集处理 dataset.py导入包※※※ 对标签图像编码为什么要对标签图像编码代码实现加载数据集模型的建立 FCN.py导入包自定义双向线性插值卷积核线性插值与双线性插值代码实现卷积核效果构建网络卷积与反卷积尺寸计算公式vgg16的结构代码实现FCN论文精读本文的创新点将分类网络改编为全卷积网络,具体为全连接层转化为卷积层以及通过反卷积

2021-09-19 18:34:13 1010 6

原创 PyTorch - GAN与WGAN及其实战

目录GAN基本结构训练对于生成器对于判别器训练流程训练理论min max公式Where will D converge, given fixed GWhere will G converge, after optimal DGAN的实现导入包以及设置参数变量GeneratorDiscriminatordata_generator训练过程结果分析WGANGAN的缺点WGAN原理WGAN的实现gradient_penalty训练过程的变化部分GAN基本结构训练对于生成器输入一个n维度向量输出图片

2021-08-15 06:13:53 1226 2

原创 PyTorch - Auto Encoder及其实战

目录AutoEncoder经典AutoEncoderLoss Function的选择Denoising AutoEncoderVariational AutoEncoderReparameterization Trick实战部分AutoEncoder网络的构建数据集加载、训练和结果显示导入包数据集加载训练以及结果显示结果Variational AutoEncoder网络的搭建设置网络(\__init__())forward()数据集加载、训练和结果显示数据集加载训练以及结果显示结果AutoEncoder

2021-08-12 03:15:14 1055 1

原创 PyTorch - 迁移学习与实战

迁移学习迁移学习:迁移学习一般是将大规模数据训练的模型向相关任务上迁移,且这个相关任务只有少量的训练数据。因为大规模数据训练的模型提取的底层特征的泛化能力更高,所以一般冻结底层权重;又因为是不同的任务,所以要放开高层权重。迁移学习一般针对的是目标任务训练数据较少的情况目标训练集的训练样本少,就要注意避免过拟合的问题前几层一般都是来进行特征的提取和抽像利用迁移学习进行表面缺陷检测表面缺陷检测数据集该数据集类的构建与多任务网络实战中无异。导入包import torchimport num

2021-08-11 14:08:34 409 2

原创 MySQL(连接查询、子查询、DDL语句、DML语句)

目录连接查询内连接等值连接非等值连接自连接外连接右外连接左外连接多张表连接union关键字:合并查询结果集子查询where子句中的子查询from子句中的子查询DDL语句表的创建MySQl中的数据类型删除表DML语句insert语句数字格式化 format()日期的处理MySQL的日期格式str_to_datedate_formatdata和datatime类型的区别update(修改)delete(删除)连接查询连接查询:多张表联合起来查询数据在这里使用SQL99语法内连接内连接中,A表和B表连接

2021-08-10 04:18:22 350

原创 PyTorch - 多任务网络之年龄与性别预测

目录数据集类的构建torch.utils.data.Datasetimplementation导入包\__init__()\__len__()\__getitem__()检验数据集类手动提取数据DataLoader多任务网络的搭建与训练导入包检查是否可使用GPU多任务网络的搭建设置网络(\__init__())forward()训练过程数据集类的构建本实例使用的是UTKFace数据集,包含了两万多张不同种族的不同年龄的人脸图片torch.utils.data.Dataset是一个抽象类, 自定义的D

2021-08-09 04:16:32 2347 14

原创 MySQL(基本概念、基本操作、单表查询)

目录数据库基本概念MySQL的基本操作本地登录的方式MySQL的常用命令最基本的单元 - tableSQL语句的分类导入提前准备好的数据单表查询总结构语法细节条件查询模糊查询排序多个字段排序数据处理函数单行处理函数多行处理函数(分组)先分组,再使用分组函数进一步过滤数据库基本概念数据库(DataBase):按照一定格式存储数据的文件的组合。数据库管理系统(DBMS):用来管理数据库中的数据。 => “增删改查”SQL:结构化查询语言。DBMS负责执行SQL语句。SQL在MySQL、Oracl

2021-08-07 22:21:50 161

原创 PyTorch - 时间序列实战(预测sin函数)

目录时间序列实战(预测sin函数)RNN层结构导入包构建RnnNet网络的初始化与优化结果的可视化结果时间序列实战(预测sin函数)RNN层结构导入包import numpy as npimport torchimport torch.nn as nnimport torch.optim as optimfrom matplotlib import pyplot as plt构建RnnNettorch.nn.Module.parameters() 用法torch.nn.RNN(i

2021-07-29 05:46:22 766

原创 PyTorch - LeNet以及ResNet实现

这里写自定义目录标题

2021-07-26 08:28:50 187 2

原创 深度学习(传统神经网络)

线性回归概念:线性关系来描述输入到输出的映射关系一个线性回归方程优化方法:梯度下降梯度的计算:参数更新:非线性激励考量标准:正向对输入的调整反向梯度损失常见非线性激励函数-sigmoid优点:将数据映射到[0,1]缺点:梯度下降非常明显,至少损失75%y(x)求导如下所示,该导数函数是一条抛物线,最大值为0.25复合函数导数=内函数导数×外函数导数常见非线性激励函数-tanh优点:将输入数据映射到[-1,1]缺点:梯度损失明显(所以在最后一层使用

2020-12-03 22:34:54 391 1

原创 机器学习基础算法(逻辑回归、k-means、模型的保存与加载)

逻辑回归用来解决二分类问题:是否为垃圾邮件?肿瘤、癌症诊断是否是金融诈骗?给定一些输入,输出结果是离散值逻辑回归公式首先逻辑回归的模型与线性回归基本相同,w为待求的参数:与线性回归不同的地方在于,logistic回归通过函数S将wTx对应到了另一个状态p = S(wTx),然后根据p的大小决定因变量的值。这里的S函数就是Sigmoid函数:通过函数S的作用,我们可以将输出的值限制在区间[0,1]上;p(x)则可以用来表示概率p(y=1|x),即当一个x发生时,y被分到1的

2020-09-12 12:40:47 1584

原创 机器学习基础算法(线性回归、过拟合与欠拟合 - 岭回归)

目录线性回归线性模型损失函数两种线性回归算法最小二乘法正规方程梯度下降法sklearn线性回归API正规方程API梯度下降法API回归性能评估回归评估API梯度下降法与正规方程的对比过拟合和欠拟合欠拟合原因以及解决办法过拟合原因以及解决办法L2正则化带有正则化的线性回归 - 岭回归LinearRegression与Ridge对比线性回归线性模型通过属性的线性组合来进行预测的函数:最终的目的是找到最小损失对应的w值损失函数两种线性回归算法最小二乘法正规方程推导过程梯度下降法梯度下降

2020-09-08 19:01:22 264

原创 机器学习基础算法(决策树、随机森林)

决策树决策树就是利用if-then条件分支结构来分割数据的一种分类学习方法信息论信息熵例:32个球队,其中一支夺冠的概率其中包含的信息量应为:H = -(p1 × log(2,p1) + p2 × log(2,p2) + … + p32 × log(2,p32))其中,p1 , p2 , … , p32 分别是这 32 个球队夺冠的概率H是信息熵,单位是比特一个系统越是混乱,信息熵就越高当 32 个球队夺冠概率相同时,对应的信息熵等于5比特,这个例子中信息熵不可能大于5比特。信息增

2020-09-05 09:39:46 196

原创 机器学习基础算法(朴素贝叶斯、交叉验证与网格搜索)

朴素贝叶斯使用前提:目标值的属性之间相互独立贝叶斯公式概率联合概率:包含多个条件,且多个条件同时成立的概率。记作:P(A,B)条件概率:事件A在事件B已经发生的条件下发生的概率。记作:P(A|B)当A1、A2相互独立时,P(A1,A2|B)=P(A1|B)P(A2|B)贝叶斯公式w为给定文档的特征值(来自频数统计或由预测文档提供)c为文档类别公式可以理解为:...

2020-09-04 19:23:43 1239

原创 机器学习基础算法(关于数据集、K-近邻算法、分类模型的评估)

目录关于数据集数据集的划分数据集划分APIscikit-learn数据集sklearn数据集API获取数据集返回的类型转换器与估计器转换器(Transformer)估计器(Estimator)K-近邻算法定义计算距离公式sklearn K-近邻算法APIK-近邻算法的优缺点应用场景分类模型的评估准确率混淆矩阵精确率(precision)与召回率(recall)F1-score分类模型评估API关于数据集数据集的划分机器学习一般的数据集划分为两部分训练数据:用于训练,构建模型测试数据:在模型检验时

2020-08-26 11:20:34 587

原创 机器学习基础算法(数据集和特征工程)

目录数据集的组成可用数据集数据集结构特征工程数据的特征抽取字典的特征抽取DictVectorizer语法流程对文本进行特征值化tfidf方式提取文本特征TfidfVectorizer语法流程数据的特征预处理归一化公式语法步骤总结标准化公式语法步骤总结缺失值处理缺失值处理方法语法步骤关于np.nan数据的降维数据集的组成可用数据集数据集结构常用数据集结构: 特征值+目标值特征工程特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性。数

2020-07-06 12:38:01 1946

原创 pandas(补充1)

目录memory_usage()方法数据的选择方式选择数据集前几行的方法选择数据某一列的方法提取前五列的方法丢弃某一列根据特征选择数据memory_usage()方法返回每列的内存使用情况(以字节为单位)memory_usage()用法数据的选择方式选择数据集前几行的方法df.head(3)df.iloc[0:3,:]df.loc[0:2,:]选择数据某一列的方法df_love=pd.read_csv("exam_1.csv")print(df_love)运行结果为: he

2020-06-10 11:35:02 186

原创 matplotlib(其他属性及用法1)

目录颜色和样式颜色八种内建默认颜色缩写其他颜色表示方法RGB元组html十六进制灰度值样式线型点型样式字符串子图 subplot基本用法网格基本用法其他参数图例基本用法方式一方式二坐标轴坐标轴范围坐标轴刻度添加坐标轴颜色和样式颜色八种内建默认颜色缩写b:blueg:greenr:redc:cyanm:magentay:yellowk:blackw:white其他颜色表示方法RGB元组# 例:plt.plot(y+1,color=(0.1,0.2,0.3))html十六进制

2020-06-01 13:54:18 201

原创 matplotlib(六种统计图)

目录散点图基本用法相关性不相关性正相关性负相关性外观调整折线图基本用法表示随时间变化时 plot_date()外观调整条形图基本用法(竖向条形图)外观调整横向条形图plt.bar(orientation='horizontal')plt.barh()复杂条形图叠加条形图并列条形图直方图基本用法二维直方图 plt.hist2d()饼状图基本用法其他属性箱形图基本用法多组数据对比散点图散点图用来显示两组数据的值,每个点的坐标由变量的值决定由一组不连接的点组成,用于观察两种变量的相关性基本用法基本语

2020-05-31 19:32:18 3133

原创 pandas基础(时间日期)

目录时间日期Python标准库中对时间日期的处理datetime时间差字符串和 datetime 转换pandas中的时间序列时间戳Timestamp日期范围 date_range生成日期范围时间频率 freq时期时期创建及算术运算时期序列时期的频率转换 asfreq()季度时间频率Timestamp 和 Period 相互转换时间重采样resampleOHLC升采样和插值通过groupby重采样时间日期时间戳 tiimestamp:固定的时刻 -> pd.Timestamp固定时期 peri

2020-05-30 16:40:57 578

原创 pandas基础(导入与导出)

目录导入数据到pandasread_csv 和 read_table默认:第一行自动为列索引指定索引处理不规则的分隔符缺失值处理逐块读取数据其他格式保存数据到磁盘to_csv直接将读取的数据写出,默认写出索引不写索引不写列名称指定分隔符只写出一部分列导入数据到pandas索引:将一个列或多个列读取出来构成 DataFrame,其中涉及是否从文件中读取索引以及列名类型推断和数据转换:包括用户自定义的转换以及缺失值标记日期解析迭代:针对大文件进行逐块迭代。这个是Pandas和Python原生的csv

2020-05-28 11:27:50 1165 1

原创 pandas基础(分组和聚合运算)

目录分组计算对Series进行分组对DataFrame分组求每个分组的元素个数 size()对分组进行迭代将分组转化为字典按列分组 axis=1通过字典进行分组通过函数来分组多层索引数据根据索引级别分组数据聚合内置聚合函数自定义聚合函数应用多个聚合函数使用其他方法分组运算(transform()和apply())transform函数apply函数分组计算分组计算三步曲:拆分 -> 应用 -> 合并拆分:根据什么进行分组?应用:每个分组进行什么样的计算?合并:把每个分组的计算结果合并

2020-05-27 13:31:55 724

原创 pandas基础(索引)

目录重新索引Seriesreindex方法DataFramereindex方法丢弃部分数据drop方法函数应用apply方法applymap方法排序和排名Seriesrank方法DataFramesort_value方法数据唯一性及成员资格数据唯一性unique函数value_counts函数成员资格isin函数Series的重复元素索引层次化索引Series多层索引DataFrame多层索引索引交换及排序按照索引级别进行统计索引与列的转换重新索引Seriesreindex方法s = pd.Seri

2020-05-27 00:03:43 236

原创 pandas基础(核心数据结构)

目录pandas核心数据结构Series从ndarray创建从字典创建从标量创建Series 是类 ndarray 对象Series 是类字典对象属性:标签对齐属性:nameDataFrame从字典创建从结构化数据创建从字典列表创建从字典列表创建从Series创建列的选择、增加、删除用assign()方法插入新列(不改变原DataFrame)索引和选择属性:数据对齐属性:使用nump函数Panelpandas核心数据结构SeriesSeries 是一维带标签的数组,数组里可以放任意的数据(整数,浮点数

2020-05-24 13:17:51 954

原创 numpy入门

目录创建矩阵array()函数创建全0矩阵创建全1矩阵创建空矩阵创建等差矩阵linspace() 创建线性矩阵创建随机矩阵矩阵的算术运算position-wise(大小相同矩阵)broadcast(大小相同矩阵)dot()方法(点积的矩阵乘法)矩阵的切片和聚合矩阵的切片操作矩阵的聚合矩阵的转置和重构矩阵的转置矩阵的重构n维矩阵(ndarray)矩阵的合并上下合并(vertical stack)左右...

2020-05-03 14:37:07 226

原创 数据结构与算法Python(树与树算法)

目录树树的概念、特点二叉树二叉树的实现节点的创建树的创建添加节点广度遍历三种深度遍历树树的概念、特点树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零...

2020-04-11 20:20:52 257

空空如也

空空如也

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

TA关注的人

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