![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 62
weixin_44040169
这个作者很懒,什么都没留下…
展开
-
拉格朗日乘子法
DeepEMD里有对拉格朗日乘子法的使用看看,这个(6)就是KKT conditions。原创 2023-03-02 21:13:50 · 156 阅读 · 0 评论 -
熵,线性规划,半监督自监督聚类打标签
聚类(Clustering)是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。划分式聚类方法需要事先指定簇类的数目或者聚类中心,通过反复迭代,直至最后达到"簇内的点足够近,簇间的点足够远"的目标。,第一次用输出的概率进行加权平均,然后用余弦距离加伪标签,然后用k-means聚类的方法再求一次聚类中心,再用余弦距离加伪标签,这样得到的伪标签较为准确。对象的信息熵是正比于它的概率的负对数的,也就是。原创 2023-02-28 21:17:37 · 581 阅读 · 0 评论 -
if __name__==‘__main__‘:、argparse.ArgumentParser(),集合
1: python 后面直接跟文件名,这个时候把python程序当做脚本来运行。无论是在cmd当中执行“”python file.py“”这样的命令,还是IDE当中点击run运行都是这样运行的。python中的字典对象可以以“键:值”的方式存取数据。OrderedDict是它的一个子类,实现了对字典对象中元素的排序。name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f,action - 当参数在命令行中出现时使用的动作基本类型。choices - 可用的参数的容器。原创 2023-01-17 20:23:31 · 384 阅读 · 0 评论 -
特征解耦,torch.cumprod(),np.random.seed(),plt.scatter
特征解耦,x.detach阻断梯度回传,torch.cumprod()累乘,np.random.seed(0)产生相同的随机数,plt.scatter画图原创 2022-12-03 09:38:01 · 1200 阅读 · 0 评论 -
enumerate(),plt绘图,保存json,cv2.resize,baseline
1.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。baseline 就只是「参照物」的意思,至于 baseline 系统是怎么来的、性能如何,并没有一定的标准。INTER_LINEAR - 双线性插值,如果最后一个参数你不指定,默认使用这种方法。resize是opencv库中的一个函数,主要起到对图片进行缩放的作用。这么说resize岂不是和上采样和下采样功能方法几乎一致?放大缩小都使用的以上插值方法。原创 2022-11-30 19:15:30 · 452 阅读 · 0 评论 -
Pytorch使用Grad-CAM绘制热力图
使用grad_cam对不同预测目标的图像做activate图。需要模型feature的最后一层,模型训练权重。使用的是自己训练的MobileNetV2。原理与代码学习自B站。原创 2022-11-24 12:05:03 · 5795 阅读 · 7 评论 -
模型训练,预测,数据集调用
模型做预测时的各种参数值。各种数据集调用形式。原创 2022-11-23 20:48:27 · 224 阅读 · 0 评论 -
数据集导入预处理和多张图片预测
训练和验证数据集的导入和预处理。预测多张图片导入和预处理。整理成函数可以直接调用,见以下代码。原创 2022-11-23 20:29:05 · 398 阅读 · 0 评论 -
MobileViT代码实现部分细节重点
MobileVIT代码unfold部分原创 2022-11-19 22:25:44 · 399 阅读 · 0 评论 -
Swin Transformer代码实现部分细节重点
swin transformer 部分重点代码原创 2022-11-19 15:47:57 · 579 阅读 · 0 评论 -
概率论的一些知识
F ( x ) F ( x )F(x)在点x xx处的函数值表示X XX落在区间( − ∞ , x ] (−\infty,x](−∞,x]内的概率,所以分布函数就是定义域为R RR的一个普通函数,因此我们可以把概率问题转化为函数问题,从而可以利用普通的函数知识来研究概率问题,增大了概率的研究范围。1.PDF:如果X 是连续型随机变量,定义概率密度函数为f X (x),用PDF在某一区间上的积分来刻画随机变量落在这个区间中的概率,即。3.A与B的联合概率表示为 P(AB) 或者P(A,B),或者P(A∩B)原创 2022-11-01 20:44:57 · 427 阅读 · 0 评论 -
有无监督,上下游任务,高斯分布,BN总结
6.在深度学习中,语义信息可以通俗的理解成是图像的纹理,颜色,或者目标的类别等信息,例如在检测网络中,一个图像输入到网络中,经过一层层的卷积之后,语义信息会越来越明显,但是相对的位置信息会越来越弱,因为越到高层卷积的时候,feature map映射到原图中的感受野越大,这样对局部的位置信息感受就比较差。有激活函数解决这个问题。,现实中的很多随机变量是由大量相互独立的随机因素的综合影响所形成的,而其中每一个因素在总的影响中所起的作用都是微小的,这种随机变量往往近似服从高斯分布(中心极限定理的客观背景)。原创 2022-10-24 20:35:40 · 2487 阅读 · 0 评论 -
logit,熵,聚类等知识总结
Kmeans算法是最常用的聚类算法,主要思想是:在给定K值和K个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。③进行的是全局优化,强调一个神经网络模型囊括模型中所有步骤:可以实现各个子步骤的综合的、全局的优化的模型 也可以叫作端到端。用基于P的编码去编码来自Q的样本,所需要的比特个数。原创 2022-10-13 16:47:26 · 769 阅读 · 0 评论 -
torch.nn.Parameter(),nn.Embedding()
含义是将一个固定不可训练的tensor转换成可以训练的类型parameter,并将这个parameter绑定到这个module里面(net.parameter()中就有这个绑定的 parameter,所以在参数优化的时候可以进行优化),所以经过类型转换这个变量就变成了模型的一部分,成为了模型中根据训练可以改动的参数。(2)使用self.test = torch.nn.Parameter(torch.rand(1, 2))#注意:Parameter大写P。1.torch.nn.Parameter()函数。原创 2022-09-17 10:14:12 · 2976 阅读 · 0 评论 -
pytorch的函数(如squeeze,permute,flatten,stack,numel,matmul)
squeeze,permute,flatten,numel,matmul等。原创 2022-09-12 16:29:21 · 579 阅读 · 0 评论 -
循环神经网络RNN基础《PyTorch深度学习实践》
Dense全连接 DeepDNN稠密网络,全连接网络(权重最多,占大头)卷积 权重少 原因是:卷积核上权重整个图像上是共享的,所以参数少循环神经网络RNN:专门用来处理带有序列关系模式的数据(天气,故事,自然语言),使用权重共享来减少需要训练的权重的数量使用思路:不仅要考虑序连接关系还要考虑先后的时间关系RNN Cell:本质线性层(一个维度映射到另一个维度) 如下图h0先验值:CNN+FC(图像生成文本)或设成和h1…同维度的向量for x in X: #h1=Linea原创 2022-08-02 17:56:17 · 212 阅读 · 0 评论 -
python小知识
6.Pythontimesleep()函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。(-1)或[-1]则表示的是将元组或列表进行切片,切片的规则是取元组或是列表除最后一位元素的切片。file要保存的文件名称,需指定文件保存路径,如果未设置,保存到默认路径。arr为需要保存的数组,也即把数组arr保存至名称为file的文件中。从中可以看出(-1)或[-1]表示的是将元组或列表逆序。3.list(set())函数对原列表去重并按从小到大排序。...原创 2022-07-31 17:39:33 · 107 阅读 · 0 评论 -
jupyter notebook初使用
jupyter notebook使用原创 2022-07-26 16:55:48 · 294 阅读 · 0 评论 -
flask +layUI+ ajax 上传图片
flask +layUI+ ajax 上传图片-放到本地文件夹中记录:1、在使用layui时出现的问题,加载css,js出现问题GET http://127.0.0.1:5000/layui/css/layui.css net::ERR_ABORTED 404 (NOT FOUND)然后我将layui文件夹放到static里改成< link rel=“stylesheet” href=“…/static/layui/css/layui.css” media=“all”>,就行了(好像对于原创 2022-05-04 22:14:14 · 820 阅读 · 0 评论 -
模型性能评测
模型性能评测考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。1.精确度accuracy = 正确数/总数2.查全率(RECALL)——真正原创 2022-05-01 11:29:38 · 499 阅读 · 0 评论 -
LeNet,AlexNet,VGG,NiN,GoogLeNet,ResNet
1.LeNet–早期成功的神经网络LeNet 分为卷积层块和全连接层块两个部分,卷积层块⾥的基本单位是卷积层后接最⼤池化层。使用卷积层来学习图片空间信息,通过池化层降低图片敏感度使用全连接层来转换到类别空间。2.AlexNet是更大更深的LeNet,,AlexNet 包含 8 层变换,其中有五层卷积和两层全连接隐含层,以及⼀个全连接输出层AlextNet 将 sigmoid 激活函数改成了更加简单的 ReLU 激活函数AlextNet 通过丢弃法来控制全连接层的模型复杂度。AlextNet 引原创 2022-04-30 21:03:38 · 543 阅读 · 0 评论 -
卷积神经网络(高级篇)《PyTorch深度学习实践》
构造神经网络时一些超参数比较难选,比如 kernal卷积核 大小串型GoogleNet:把集中卷积核都作为候选1.Inception Module1*1卷积核:输入不同通道相同位置的信息的融合作用:改变通道数量以减低运算量实现Inception Module(如下图)构建网络:先是1个卷积层(conv,maxpooling,relu),然后inceptionA模块(输出的channels是24+16+24+24=88),接下来又是一个卷积层(conv,mp,relu),然后inception原创 2022-04-29 18:40:54 · 1282 阅读 · 0 评论 -
卷积神经网络CNN基础《PyTorch深度学习实践》
全连接神经网络:网络是线性层串行连接,因为线性层中任意输入与输出间,都有权重连接,因此线性层也叫全连接层。处理图像上常用的二维卷积神经网络构建神经网络时:首先明确输入输出张量维度,利用各种层进行维度上尺寸大小的变换,最后把它映射到想要的输出空间。特征提取器:卷积,下采样分类器:全连接…全连接使图像失去空间信息,卷积层能保留空间信息栅格图像:一个个像素点矢量图像:由基本图像及其描述,现场描绘对patch卷积...原创 2022-04-29 14:31:18 · 1224 阅读 · 1 评论 -
多分类问题《PyTorch深度学习实践》
多分类softmax分类器输出变为多个1.概率>02.概率和为11.softmax分类器,使用SoftMax分类器进行多分类问题2.NLLLoss(nagative log likelihood loss ): Y是原始标签,另一个输入是 softmax 后 求对数3.CrossEntropyLoss <==> LogSoftmax + NLLLoss(One-hot独热编码 是一行或一列只有一位是1的矩阵)import torch y = torch.LongT原创 2022-04-28 21:22:56 · 1308 阅读 · 1 评论 -
PyTorch数组,张量,维度,切片
1 .切片:切片:一维:[ start :end :step ]冒号。多维:[,]逗号分隔维度切片是从外到内看维度X = np.array( [ [0,1,2] , [10,11,12] , [20,21,22] , [30,31,32] ] )[0,1,2] , [10,11,12] , [20,21,22] , [30,31,32] 这是0维(去掉一个[])---大小:40,1,2 10,11,12 ...这是1维(去掉两个[])---大小:3例子:import n原创 2022-04-28 20:03:01 · 992 阅读 · 0 评论 -
加载数据集《PyTorch深度学习实践》
dataset dataloader加载数据dataset 构造数据集(支持索引)dataloader 拿出minibatchbatch: 加快计算速度1样本: 能较好随机性克服鞍点(缺点时间长)minibatch 用来均衡两者10,000 样本batch-size 1000iteration 10先打乱,再分成minibatch(如下图)import torchimport numpy as npfrom torch.utils.data import Dataset #Da原创 2022-04-28 11:00:52 · 417 阅读 · 0 评论 -
处理多维特征的输入《PyTorch深度学习实践》
多维的特征输入:每一个维度的xi乘相应的权值wi的和加上一个偏置量bi,送入sigmoid函数进行二分类多维输入,有多个特征,进行分类机器学习 — 数据库每行:样本—记录每列:特征—字段矩阵运算可以利用GPU并行运算,for循环不行import numpy as npimport torchimport matplotlib.pyplot as plt # delimiter=','分隔符xy = np.loadtxt('原创 2022-04-28 09:58:09 · 1836 阅读 · 0 评论 -
梯度下降算法《PyTorch深度学习实践》
梯度下降—>随机梯度下降梯度下降:import matplotlib.pyplot as plt # prepare the training setx_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0] w = 1.0 #初始权重猜测 def forward(x): return x*w def cost(xs, ys): #计算MSE cost = 0 for x, y in zip(xs,ys):原创 2022-04-28 09:54:47 · 116 阅读 · 0 评论 -
逻辑斯蒂回归《PyTorch深度学习实践》
逻辑斯蒂回归logistic regression逻辑斯蒂回归-----是做分类的分类问题:不是计算它是哪个实数,而是计算属于哪个类的概率两个类别问题:即二分类问题–只输出一个实数,一类的概率饱和函数:单调递增,有极限,满足饱和logistic函数典型的sigmoid函数逻辑斯蒂回归和线性模型的明显区别是在线性模型的后面,添加了激活函数(非线性变换)损失:不再计算两个几何之间的距离,而是分布的差异分布差异:KL散度,交叉熵cross entropyBCE:二分类交叉熵损失,越小越好imp原创 2022-04-27 20:36:27 · 294 阅读 · 0 评论 -
实现线性回归《PyTorch深度学习实践》
pytorch写神经网络:1.构造数据集 -----x,y必须是矩阵2.设计模型#计算y_hat-------构造计算图3.构造损失函数和优化器(API)4.写训练循环(前馈,反馈,更新)在minibatch里注:1.向量是一维张量,矩阵是二维张量,2.标量l,才能backward3.一个样本表示一个及一个以上的feature,行表示样本,列表示feature4.对象():说明是可调用对象,callableforward 来自torch.nn.Module是callable,重写的f原创 2022-04-27 19:17:29 · 731 阅读 · 0 评论 -
反向传播 《PyTorch深度学习实践》
反向传播过程:先算损失,backward,得到梯度,用梯度下降做更新wimport torchx_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0] w = torch.tensor([1.0]) # w的初值为1.0w.requires_grad = True # 需要计算梯度 def forward(x): #y_hat return x*w def loss(x, y): #L y_pred = forwar原创 2022-04-27 15:37:01 · 1033 阅读 · 0 评论 -
初学-深度学习记录
(完全针对我本人的学习记录)1.学习步骤:刘老师视频《PyTorch深度学习实践》完结合集-----李沐老师的书《动手学深度学习》-----李沐老师视频B站主页2.下一阶段任务:mtcnn模型原理,facenet原理及训练 mtcnn+facenet学习动手实现:anoconda安装,先看看需要anoconda里的python版本,需要python37/38python与anaconda安装安装pytorch学习训练facenet模型,yolov3(毕设)/yolov5(很多案例)3.一些原创 2022-04-24 21:52:07 · 1120 阅读 · 0 评论 -
mtcnn+facenet学习
CNN的知识:基本流程:卷积-ReLU-池化重点就是特区函数特征,然后训练计算各个参数权重 (先初始化权重,然后通过模型训练不断地更新权重得到)经过误差反向传播 ,学会找到卷积核,权重超参数:初始指定的卷积核数目尺寸1.卷积卷积核(特征提取器)卷积运算,不同的卷积核对原图进行运算就能提取出不同的特征2.池化将得到的FeatureMap缩小,池化要求一定要保留原特征图的特征最大池化:选择被扫描区域内的最大值,平均池化:取被扫描区域内的平均值在处理边缘时的操作称为(Padding)如果对图原创 2022-04-24 19:03:02 · 2006 阅读 · 0 评论 -
mtcnn学习
1.IOU 交并比:(Intersection over Union)IOU值定位为两个矩形框面积的交集和并集的比值。即:IOU = A ∩ B/ A ∪ B详见 基于Python实现的IOU算法—最简单易懂的代码实现2.目标检测锚框和NMS非极大值抑制锚框也就是我们很多书中说的anchor。实际上这就是在进行目标检测的时候在特征图上每个点都设置相同数量的框框这就叫锚框。NMS(非极大值抑制)所谓非极大值抑制:依靠分类器得到多个候选框,以及关于候选框中属于类别的概率值,根据分类器得到的类别分原创 2022-04-23 22:13:11 · 1223 阅读 · 0 评论 -
DeepLearning(李沐老师)
pythontorchtensor[1,3)左闭右开广播机制x=torch.arange(24).reshape(3,4)tensor([[0.,1.,2.,3.], [4.,5.,6.,7.], [8.,9.,10.,11.] ])1.csv中的数变成pytorch中的tensornumpycsv文件:每行是一个数据,每个域,分开NA:NotNumber数据预处理:创建人工数据集,存在csv中pandas:通常用来处理csvimport pandas as pdd原创 2022-04-04 20:43:45 · 601 阅读 · 0 评论 -
初学Python——模块与python的库
1.模块模块概念模块是一个包含变量、语句、函数或类定义的程序文件,文件名就是模块名加上.py扩展名,编写程序的过程就是编写模块的过程导入模块import 模块名 [as 别名]from 模块名 import 模块中的函数1.import 语句导入后 在使用模块中的函数时,需要通过模块名,或模块别名来调用import mathprint(math.pi)import math a...原创 2019-10-28 22:09:06 · 150 阅读 · 0 评论 -
初学python 笔记
>>> 是一个提示符来的,也就是在它后面可以输入一些内容,更确切的说,这是交互式Pyhon解释器接收内容的符号。快捷键「Ctrl + N」来新建一个编辑窗口「Ctrl + S」保存一下文件到桌面在我们的 IDLE 中用力的按一下 F5 开始运行程序input 是输入的意思 print 就是打印的意思,一个数据 = 01010101 (8个状态)那么这样的由8个状态组...原创 2019-10-27 22:19:08 · 654 阅读 · 0 评论