自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文读懂贝叶斯,不再忘记

条件概率、贝叶斯、简单易懂易记

2022-08-14 07:18:14 495 1

转载 PYTHON的SUPER()以及父类继承

PYTHON的SUPER()以及父类继承Python中子类调用父类的方法有两种方法能够实现:调用父类构造方法,或者使用super函数(两者不要混用)。使用“super”时经常会出现代码“super(FooChild,self).__init__(xxx,xxx)”。那super().__init__()到底要怎么用呢?为了方便理解,我写了如下例子验证用法: 1 2 3 4 5 6 7 8 9 10 11

2021-09-17 10:28:37 568

转载 json.dumps()函数解析

json.dumps()json.dumps将一个Python数据结构转换为JSONimport jsondata = { 'name' : 'myname', 'age' : 100,}json_str = json.dumps(data)json库的一些用法方法 作用json.dumps() 将python对象编码成Json字符串json.loads() 将Json字符串解码成python对象json.dump() 将python中的对象转化...

2021-07-29 11:47:12 535

转载 GCN——初步理解

最近在看关于知识图谱融合的最新文献过程中,发现在实现embedding的时候采用最多、效果极佳的方法就是利用维基的词向量作为GCN的输入,从而得到包含语义和空间结构的embedding。所以这两天找了些关于GCN的资料看,并做个简单记录,方便以后复习,若发现错误或不太准确的地方,恳请指正。一、宏观理解GCN是什么?——特征提取器在CNN、RNN如此强大的模型之后,为什么出现GCN?CNN:针对图像(二维数据结构),它的核心在于其kernel,一个滑动窗口,通过卷积来提取特征。因为图像具有平移..

2021-07-27 14:52:40 4510 4

转载 k8s云集群混搭模式,可能帮你节省50%以上的服务成本

原创雨歌的歌半路雨歌2019-08-22现在大部分中小企业或团队都是使用云平台来部署自己的服务,如阿里云,亚马逊云等。一般来说,业务的负载都具备一定的规律,比如每天集中在某几个小时,或呈现时间段周期性波峰、波谷交替的现象,如下图如果使用ECS来部署服务,则可能大部分时间ECS的资源没有得到充分利用,造成成本浪费,尤其对于像GPU之类成本较高的资源就更加了。这个时候,我们可以考虑使用云集群的混搭模式来节约成本。业务场景假设有一个这样的业务场景,包括如下特点及要求: 整个...

2021-07-23 15:14:53 541

转载 什么是K8S

k8s全称kubernetes,这个名字大家应该都不陌生,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。那么称霸容器领域的k8s究竟是有什么魔力呢?首先,我们从容器技术谈起,在容器技术之前,大家开发用虚拟机比较多,比如vmware和openstack,我们可以使用虚拟机在我们的操作系统中模拟出多台子电脑(Linux),子电脑之间是相互隔离的,但是虚拟机对于开发和运维人员而

2021-07-23 15:00:16 168

转载 git rebase简介(基本篇)

rebase假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git commit$ vi otherfile.txt$ git commit...但是与此同时,有些人也在"origin"分支上做了一些修改并且做了提交了. 这就意味着"origin"和"mywork"这两个分支各自"

2021-07-23 14:41:23 245

转载 Git Reset 三种模式

有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法:1、修改错误内容,再次commit一次 2、使用git reset命令撤销这一次错误的commit第一种方法比较直接,但会多次一次commit记录。而我个人更倾向第二种方法,错误的commit没必要保留下来。那么今天来说一下git reset。它的一句话概括git-reset - Reset current HEAD to the specified state意思就...

2021-07-23 14:29:41 140

转载 Git 三大区域的操作分析

git专栏收录该内容1 篇文章0 订阅订阅专栏Git 三大区域的操作分析可以将git简单的分为三个区域 1、工作区(working directry) 2、暂缓区(stage index) 3、历史记录区(history)如图:git add files 把当前工作目录中的文件放入暂存区域 其实做了两件事: 1、将本地文件的时间戳、长度,当前文档对象的id等信息保存到一个树形目录中去(index,即平时说的暂存区) ...

2021-07-22 22:17:17 227

转载 git 四个状态和三个区域

felixs2013-05-28 15:54:453421收藏2分类专栏:版本控制工具版本控制工具专栏收录该内容11 篇文章0 订阅订阅专栏四个状态和三个区域Git内部只有三个状态,分别是未修改unmodified、修改modified、暂存staged。对于没有加入Git控制的文件,可以视为第四种状态未跟踪untracked。 Git文件流转有三个区域,分别是工作区域、索引区域、本地数据区域。工作树中的文件添加到git版本控制索引中...

2021-07-22 21:55:27 192

原创 LR逻辑回归的思维导图(纯干货)

2021-07-15 10:09:26 725

原创 LR逻辑回归于MLP多层感知机的区别与联系。

1、LR是MLP的一种特殊情况,即:MLP只有一层,且只有一个神经元,则是LP。2、LR是线性模型,MLP是非线性模型。MLP拟合的更加复杂。3、LR逻辑回归的参数数量和特征的个数是一样的,或者是特征个数加一; 而MLP的参数个数,一般情况下比较多,单层的MLP是参数个数是m*n的。...

2021-07-15 00:51:18 2225

转载 多层感知机

在这个项目中我们将会探索学习最基本的神经网络: 多层感知机。然后用PyTorch实现注意: 这个项目只是用PyTorch实现多层感知机的基础,所以为了保持教程的简洁我们不会介绍过多的机器学习必要步骤(比如划分训练集测试集时的类平衡,验证集,early stopping)。我们会在下节课学到这些最佳实践。Overview# 分类其中: 这是一个简单的二层多层感知机目标:给定输入, 预测它属于类别的概率。非线性激活函数的使用后...

2021-07-15 00:35:41 375

转载 机器学习实践中的7种常见错误

统计建模非常像工程学。在工程学中,有多种构建键-值存储系统的方式,每个设计都会构造一组不同的关于使用模式的假设集合。在统计建模中,有很多分类器构建算法,每个算法构造一组不同的关于数据的假设集合。当处理少量数据时,尝试尽可能多的算法,然后挑选最好的一个的做法是比较合理的,因为此时实验成本很低。但当遇到“大数据”时,提前分析数据,然后设计相应“管道”模型(预处理,建模,优化算法,评价,产品化)是值得的。正如我之前文章中所指出的,有很多种方法来解决一个给定建模问题。每个模型做出不同假设,如何导引和..

2021-07-15 00:09:12 154

原创 transformer的MASK

MASK# 返回True和False组成的MASKdef get_attn_pad_mask(seq_q, seq_k): batch_size, len_q = seq_q.size() batch_size, len_k = seq_k.size() # eq(zero) is PAD token pad_attn_mask = seq_k.data.eq(0).unsqueeze(1) # batch_size x 1 x len_k(=len_q), one i

2021-07-13 17:11:00 189

转载 python路径操作新标准:pathlib 模块

之前如果要使用 python 操作文件路径,我总是会条件反射导入 os.path。 而现在,我会更加喜欢用新式的 pathlib, 虽然用得还是没有 os.path 熟练,但是以后会坚持使用。pathlib 库从 python3.4 开始,到 python3.6 已经比较成熟。如果你的新项目可以直接用 3.6 以上,建议用 pathlib。相比于老式的 os.path 有几个优势:老的路径操作函数管理比较混乱,有的是导入 os, 有的又是在 os.path 当中,而新的用法统一可以用 pat...

2021-07-13 17:09:33 712

转载 NLP中Mask全解

NLP中Mask全解Mask 在NLP中是一个很常规的操作,也有多种应用的场景和形式,下面尝试从以下几个方面去全(用了夸张的修辞手法)解Mask,并尽可能地辅以图片说明和代码解释:Mask的作用:处理非定长序列RNN中的MaskAttention中Mask防止标签泄露Transformer中的MaskBERT中的MaskXLNet中的MaskMask的作用对于NLP中mask的作用,先上结论:1、padding mask:处理非定长序列,区分padding和非padding部分,

2021-07-11 16:43:14 361

转载 Pytorch损失函数NLLLoss()与CrossEntropyLoss()的关系

Pytorch损失函数NLLLoss()与CrossEntropyLoss()的关系import torchinput=torch.randn(3,3)soft_input = torch.nn.Softmax(dim=1)input1=torch.log(soft_input(input))print("对input做Softmax,然后取log#############")print(torch.log(soft_input(input)))loss=torch.nn.NLLLos

2021-07-09 11:55:15 201

原创 Transformer的几点总结

1、关于pad_mask:目的是为了让pad的词,在计算softmax之前的时候,置为负无穷,不参与计算,对其他词产生的影响为0。2、关于self attention里面的各种形状变换,可以分为两种。 1.线性模型其实也是一种变换,只不过是改变的是最后一个维度的数值。前面维度的数值不改变。 2.关于不同维度间的调换、扩展、缩小,复制、从而实现三维变四位、四维变三维; 但目的是为了:让一个词的embeding和另外一个词的embeding进行交互,避免让一个词的embeding进行分开,切记。3、L.

2021-07-08 23:57:28 702 2

转载 pytorch中LSTM的输入与输出理解

在阅读本篇博客之前希望你在LSTM方面有一定的知识储备,熟悉LSTM网络的内部结构,方便更好的理解pytorch中有关LSTM相关的api。一、参数理解这里我根据lstm的结构定义了一些参数,参数具体含义可以看注释batch_size = 10 #每个batch的大小seq_len = 2000 #模仿输入到LSTM的句子长度input_size = 30 #lstm中输入的维度hidden_size = 18 #lstm中隐藏层神经元的个数num_layers = 2 # 有多少层lstm

2021-07-08 23:45:24 1720 2

转载 Pytorch中的nn.LSTM

Pytorch中LSTM总共有7个参数,前面3个是必须输入的input_size – The number of expected features in the input xhidden_size – The number of features in the hidden state hnum_layers – Number of recurrent layers. E.g., setting num_layers=2 would mean stacking two LSTMs together

2021-07-08 23:41:17 585

原创 深度学习理解代码的技巧

1.首先需要建立:数据处理、训练、损失的三个大步骤。2. 在数据处理阶段:有很多方法可以形成按批次输入训练的方法。比如yield、pytorch 的dataloader 3.在训练阶段:有一些固定写法的代码,需要理解,并不要忘记。3.在损失阶段。不同的方法求损失。在模型架构方面: data的shape各个维度代表什么意思,是必须要理解的,理解了 这个,再理解后面的就顺利多了。...

2021-07-08 16:38:45 436

转载 Dataloader重要参数与内部机制

文章目录一、pytorch数据输入DatasetDataLoader二、Dataloader参数汇总2.1 sampler:分布式训练需DistributedSampler2.2 collate_fn:将batch的数据重新组装2.3 pin_memory=True:提高数据从cpu到gpu传输效率三、DataLoader的并行3.1 index_queue 要处理的数据下标3.2 worker_result_queue 返回结果参考文献一、pytorch数据输入Dataset

2021-07-08 15:17:21 4506

转载 np.clip的使用方法

np.clip的使用方法参数数量及其作用示例参数数量及其作用np.clip是一个截取函数,用于截取数组中小于或者大于某值的部分,并使得被截取部分等于固定值。函数如下:np.clip( a, a_min, a_max, out=None)该函数的作用是将数组a中的所有数限定到范围a_min和a_max中。部分参数解释:a:输入矩阵;a_min:被限定的最小值,所有比a_min小的数都会强制变为a_min;a_max:被限定的最大值,所有比a_max大的数都会强制变为a_m

2021-07-08 11:35:25 331

转载 路径处理库pathlib使用详解

路径处理库pathlib使用详解itanders 2019-03-23 00:52:23 12605 收藏 92分类专栏: Python版权在编程中处理文件的读写操作时免不了要和文件路径打交道,甚至有时候为了完成某些场景功能会变的有些繁琐,以前在Python中操作文件路径,我们更多的时候是使用os模块。而到了Python3时代后,Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单。甚至可以说pathlib已经可以完全替代os.path,它完全采用面向对象的编程方..

2021-07-08 11:18:02 253

转载 【Pytorch】torchtext的简单使用

guofei_fly 2020-02-04 14:32:45 1316 收藏 4分类专栏: Pytorch版权自然语言处理的数据预处理过程主要包括如下步骤:(1)文本数据集的划分(训练集、验证集和测试集);(2)文本数据的导入;(3)分词;(4)词汇表的构建;(5)文本数据对于词汇表的编码和映射;(6)词向量的生成;(7)批文本数据的生成。torchtext是一个高效、有力的文本预处理库(其对NLP的作用类似于torchvision之于CV),提供了涵盖上述诸步骤的一站式文本...

2021-07-07 17:22:34 468

转载 DataLoader 和 Dataset

构建模型的基本方法,我们了解了。接下来,我们就要弄明白怎么对数据进行预处理,然后加载数据,我们以前手动加载数据的方式,在数据量小的时候,并没有太大问题,但是到了大数据量,我们需要使用 shuffle, 分割成mini-batch 等操作的时候,我们可以使用PyTorch的API快速地完成这些操作。Dataset是一个包装类,用来将数据包装为Dataset类,然后传入DataLoader中,我们再使用DataLoader这个类来更加快捷的对数据进行操作。DataLoader是一个比较重要的类,它为.

2021-07-07 17:16:47 569

转载 torch.stack()的使用

Teeyohuang 2018-05-18 12:56:30 85830 收藏 151分类专栏: pytorch版权废话不多说直接上图如图有a, b, c 三个 3x3的Tensor,如果我想把这三个tensor的最后一个维度的元素相叠加,形成一个新的tensor输入 d=torch.stack( (a,b,c) ,dim = 2)就会发现他们在第二个维度像叠加,具体来说变化如下图所示d[0][0]的位置是由a[0][0] 的 [1] , b[0][0] 的 [1...

2021-07-07 11:28:21 287

转载 pytorch学习笔记(十九):torchtext

pytorch学习笔记(十九):torchtextke1th 2018-02-11 13:47:04 42430 收藏 113分类专栏: NLP pytorch deeplearning pytorch学习笔记版权文章部分翻译自 http://anie.me/On-Torchtext/API一览torchtext.datatorchtext.data.Example : 用来表示一个样本,数据+标签torchtext.vocab.Vocab: 词汇表相关torchtext.da..

2021-07-07 10:57:58 501

转载 python中 x[:,0]和x[:,1] 理解和实例解析

jobschu 2018-05-14 11:59:35 61032 收藏 266分类专栏: python 编程算法 机器学习 文章标签: python版权x[m,n]是通过numpy库引用数组或矩阵中的某一段数据集的一种写法,m代表第m维,n代表m维中取第几段特征数据。通常用法:x[:,n]或者x[n,:]x[:,n]表示在全部数组(维)中取第n个数据,直观来说,x[:,n]就是取所有集合的第n个数据,举例说明:x[:,0][python] view plain...

2021-07-07 10:57:05 1640

转载 Numpy.array中[:]和[::]的区别

Numpy.array中[:]和[::]的区别丿一叶秋丶 2018-11-09 21:21:09 8510 收藏 36分类专栏: Numpy 文章标签: array[:] array[::]版权[:]和[::]的区别蛮大的,用的好可以节省时间,下面以实例进行分析array([:])>>> import numpy as np>>>>>> x=np.array([1,2,3,4,5,6,7,8,9,10,11,12])>&g..

2021-07-07 10:56:23 363

转载 Torchtext使用教程

主要内容:如何使用torchtext建立语料库 如何使用torchtext将词转下标,下标转词,词转词向量 如何建立相应的迭代器torchtext预处理流程:定义Field:声明如何处理数据 定义Dataset:得到数据集,此时数据集里每一个样本是一个 经过 Field声明的预处理 预处理后的 wordlist 建立vocab:在这一步建立词汇表,词向量(word embeddings) 构造迭代器:构造迭代器,用来分批次训练模型1. 下载数据:kaggle:Movie Rev..

2021-07-07 10:54:32 817

原创 写代码的技巧

1.能用类就别用方法。 用类显得高大上。2.超过100行的代码,就用类,别用方法。

2021-07-06 14:16:39 37

转载 自动文本摘要经典模型TextSum运行录

(一):开始尝试清川先生 2019-12-11 20:45:45 420 收藏 3分类专栏: # 自动文本摘要 文章标签: textsum 生成式文本摘要 自然语言处理版权1 研究背景最近的研究课题是自然语言处理领域的自动文本摘要。文本摘要按照方法不同可以分为两大类别,即生成式摘要与抽取式摘要,我所研究的方向以生成式摘要为主。抽取式摘要主要分析原文中句子的关键性,从原文中抽取并进行合理连接得到摘要。这种方法可以直接运用统计方式,发展现状较好,在Word中也早有插件应用。生成式摘要主要使用序列..

2021-07-02 11:55:46 442

转载 线程、开启线程、守护线程、线程互斥锁

一、什么是线程进程其实一个资源单位,而进程内的线程才是cpu上的执行单位,线程其实指的就是代码的执行过程二、进程和线程的区别1. 同一进程下的多个线程共享该进程内的资源2. 创建线程的开销要远远小于进程三、利用Thread类开启线程的两种方式1、Thread类Thread实例对象的方法 # isAlive(): 返回线程是否活动的。 # getName(): 返回线程名。 # setName(): 设置线程名。threading模块提供的一些方法: #..

2021-07-01 22:29:40 134

转载 GIL、死锁现象与递归锁、信号量、Event事件、线程queue

一、GIL全局解释器锁1、什么是全局解释器锁GIL本质就是一把互斥锁,相当于执行权限,每个进程内都会存在一把GIL,同一进程内的多个线程,必须抢到GIL之后才能使用Cpython解释器来执行自己的代码,即同一进程下的多个线程无法实现并行,但是可以实现并发。#1 所有数据都是共享的,这其中,代码作为一种数据也是被所有线程共享的(test.py的所有代码以及Cpython解释器的所有代码)#2 所有线程的任务,都需要将任务的代码当做参数传给解释器的代码去执行,即所有的线程要想运行自己的任务..

2021-07-01 22:13:29 161

转载 进程/线程池、协程、gevent第三方库

一、进程/线程池1、进程池(1)什么是进程池如果需要创建的子进程数量不大,可以直接利用multiprocess中的Process来创建。但是当需要创建上百个或上千个,手动创建就较为繁琐,这时就可以利用进程池来创建,即current.futures模块中的ProcessPoolExecutor(2)ProcessPoolExecutor的基本方法1. submit(fn,*args,**kwargs) # 异步提交任务2. map(func, *iterable..

2021-07-01 21:15:01 256

转载 从 Odds 角度理解 Logistic Regression 模型的参数

13 December 20151. 引言无论在学术界,还是在工业界,Logistic Regression(LR, 逻辑回归)模型[1]是常用的分类模型,被用于各种分类场景和点击率预估问题等,它也是Max Entropy(ME, 最大熵)模型[2],或者说Softmax Regression模型[3],在二分类的一种特例。用\(X\ =\ (x_1, x_2, …, x_k)\)表示k维样本,用\(\mathbf{\beta} = (\beta_0, \beta_1, \beta_2, ...

2021-06-22 19:01:32 2348

转载 python 正则表达式

正则表达式描述了一种字符串匹配的模式。1 为什么要使用正则表达式a. 数据验证验证手机号,银行卡号等。b. 替换文本正则查找特定源文本,将其替换为目标文本。c. 提取子串从给定字符串中提取目标子串。2 正则表达式-语法\s 匹配任何单个空白字符,包括tab键和换行符。\S 匹配任何非空白字符。\w 匹配包括[a-zA-Z0-9_]。(大小写英文字母、数字、下划线)\W 匹配任何非\w中的字符。(除了大小写英文字母、数组、下划线之外的特殊字符)...

2021-06-22 14:32:39 136

转载 Python--Socket用法

Socket 是所有语言的网络编程中最基本最重要的知识点,为此Python也不例外,而Python也提供了较为完善和易用的语法,那么我们就开始看看Python的Socket编程。import socketserve = socket.socket()首先第一步我们需要导入Python中的Socket包,并且初始化。需要注意的是:我之所以在socket()函数中没有填入参数,是因为在Python中它已经有了默认参数。family(给定的套接族)一般有两种重要参数:socket.AF_I

2021-06-22 12:58:10 3387

空空如也

空空如也

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

TA关注的人

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