- 博客(96)
- 资源 (5)
- 收藏
- 关注
原创 python logging模块简单使用(包括控制台输出、文件写入)
#简单控制台输出import logginglogging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')logger = logging.getLogger(__name__)logger.info("Start print log")logger.debug("Do something")logger.warning("Something may
2020-06-28 17:53:21 1100
原创 百度Paddle深度学习框架学习
学习心得(个人心得):学习到目前感觉百度的paddle框架总体来说还是很不错的,paddle可以使用静态和动态图的方式可以很好的适合tensorflow和pytorch的童鞋门入手,并且可以快速部署自己的模型paddle_serving。paddlehub在cv领域上目前大多数模型都进行了很好的封装,使用非常简单,这使得很多预训练模型在部署和finetune上都非常方便。但是个人感觉在nlp领域上目前还是比较乱,版本更新很快,数据reader的方式有点乱,有些文档解释还不够清楚,等待后期的完善。另外
2020-06-21 15:34:50 1236
转载 BERT八个基本知识
转载一片朋友对bert的总结:(1)BERT 的MASK方式的优缺点?答:BERT的mask方式:在选择mask的15%的词当中,80%情况下使用mask掉这个词,10%情况下采用一个任意词替换,剩余10%情况下保持原词汇不变。优点:1)被随机选择15%的词当中以10%的概率用任意词替换去预测正确的词,相当于文本纠错任务,为BERT模型赋予了一定的文本纠错能力;2)被随机选择15%的词当中以10%的概率保持不变,缓解了finetune时候与预训练时候输入不匹配的问题(预训练时候输入句子当中有mask,
2020-05-28 18:17:58 1181
原创 paddle基于ernie的自定义数据集文本分类
ernie是百度开发的一个预训练模型,模型结构类似bert,没错就是ernie成功带我入paddleernie1.0在bert的基础上mask做了改进如图,后续bert也使用这种方法比如wwm的模型:ernie2.0在bert的基础上增加了更多的训练任务任务,目前还没开源以下个人观点:这些任务首先大致是pipeline的方法在各个任务上训练到最好,然后使用多任务训练的方法一起进行微调ernie模型结构也是transformer应该和bert一样,只是在训练模型时增加了更多的任务。paddle
2020-05-28 17:52:08 2526
原创 基于paddle的自定义数据集文本分类
文本分类可以用在NLP的很多领域,比如情感分析,意图识别,领域识别等等,先总结一波使用paddle进行文本分类的整体流程NLP任务的整体流程一般如下:1.数据处理(将数据变成可以放入到模型的格式)2.模型构建(构建你想使用的模型)3.训练和评估模型(构建loss、优化器、metrics)我们使用paddle这个框架来实现一般模型的文本分类和后续使用ernie这种预训练模型来进行文本分类1.数据处理部分这个部分包括从文件中读取数据(训练集)然后处理数据一般包括padding (类似长度不够补0
2020-05-26 10:47:06 2005
原创 交叉熵和信息熵
交叉熵:用于多分类的损失函数,熵越大模型越不确定,熵越小模型越确定,即优化模型目的是最小化交叉熵公式如下:例子:信息熵:信息熵是消除不确定性所需信息量的度量,也即未知事件可能含有的信息量,信息熵大小与观测者的观测粒度有关,即在P(xi)P(x_i)P(xi)这个观测分布下熵的大小相对熵(KL散度)如果对于同一个随机变量XXX有两个单独的概率分布P(x)P(x)P(x)和Q(x...
2020-04-24 17:12:46 1947
原创 jupyter kernel dead
导入报错ImportError: cannot import name 'create_prompt_application'[I 15:16:14.657 NotebookApp] KernelRestarter: restarting kernel (3/5)解决办法:python3.6版本安装:sudo pip install ‘prompt-toolkit==1.0.15...
2020-04-14 15:23:27 412
转载 实体消岐和实体统一
定义:实体消歧的本质在于一个单词很可能有多个意思,也就是在不同的上下文中所表达的含义可能不太一样。简单实现首先我们需要准备一个类似于下面的这种实体库:id 实体名 实体描述1001 苹果 美国一家高科技公司,经典的产品有Iphone手机1002 苹果 水果的一种,一般产自于…… … …| id|实体名 |实体描述||1...
2020-03-30 15:27:18 755
原创 准确率,正确率,召回率,F1
图片: https://uploader.shimo.im/f/cjCOsP5mQmQdPf0b.png评价标准:图片: https://uploader.shimo.im/f/MkOxSxEbgjYp0EDo.png图片: https://uploader.shimo.im/f/j8Y0nh87ulAOcWFN.png图片: https://uploader.shimo.im/f/nSU...
2020-03-12 18:35:39 575
原创 Pytorch之Bert文本分类(三)
Bert文本分类流程化使用这章节主要介绍huggingface关于bert的流程化使用,主要针对run_glue.py文件进行讲解。这个文件中包括5个模型的使用,bert,xlnet,xlm,roberta,distilbertMODEL_CLASSES = { 'bert': (BertConfig, BertForSequenceClassification, BertToken...
2019-10-10 22:12:13 5176
原创 python导入自己的包
当遇到无法导入某个python模块时,可能会是没有安装某个模块,也有可能是某模块在加载过程中失败,也有可能是陷入了循环导入的问题。ImportError: No mudule named myModule]当前运行的程序加载的路径有错。python运行时将从以下位置尝试加载python modules:当前目录环境变量$PYTHONPATH所指示的值,这是一个由“:”分隔的字符串,...
2019-09-29 21:10:54 1396
原创 Pytorch之Bert中文文本分类(二)
本文主要是针对入门级别的Bert使用,包括英文文本分类和中文文本分类。这部分主要使用Bert进行情感分析,属于中文文本分类,同样使用BertForSequenceClassification数据集中包括三个情感分类等级[-1,0,1]流程和第一部分一致,主要修改地方是在Bert的config文件中将类别设置成3,并将数据集中的[-1,0,1],变化成[0,1,2]的形式,bert的预训练模...
2019-09-29 16:40:44 11135 6
原创 Pytorch之Bert文本分类(一)
本文主要是针对入门级别的Bert使用,包括英文文本分类和中文文本分类。英文部分使用BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding中的Cola数据集,任务如下图这个数据集包括四列:[‘sentence_source’, ‘label’, ‘label_notes’, ‘sente...
2019-09-29 15:43:45 13999 11
原创 pytorch中F.avg_pool1d()和F.avg_pool2d()
F.avg_pool1d()数据是三维输入input维度: (batch_size,channels,width)channel可以看成高度kenerl维度:(一维:表示width的跨度)channel和输入的channel一致可以认为是矩阵的高度假设kernel_size=2,则每俩列相加求平均,stride默认和kernel_size保持一致,越界则丢弃(下面表示1,2列和3,4列相加求...
2019-08-25 19:23:41 22032 1
原创 pytorch矩阵中每行(列)乘上不同元素以及矩阵相乘
mul和*等价(attetion中可以用到)每行乘上不同元素>>> a = torch.ones(3,4)>>> atensor([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]])>>> b = torch.Tensor([1,2,3]).re...
2019-08-22 10:16:41 5833
原创 pytorch 中narrow的使用
在pytorch中索引支持类似numpy方式,还有一种是narrow方式。区别直接看代码:import torchdata=torch.tensor([[1,2],[3,4],[5,6]])#tensor([[1, 2], [3, 4], [5, 6]])#使用numpy方式从data中取出第二列数据In [40]: data[:,1]Out[40]:...
2019-08-05 19:40:48 7015
原创 SVM:支持向量机
支持向量机SVM目的最优的超平面点到平面的距离支持向量推理支持向量机求解支持向量机的对偶形式核技巧SVM目的低纬到高维,使线性不可分变成超平面下线性可分,SVM可以得到最优的超平面最优的超平面是指模型可以容忍最大的误差(灰色区域是高斯噪音,从第三个图可以看出高斯噪音的方差最大,模型的鲁棒性最好)在SVM中就是找出margin最大的超平面点到平面的距离一个平面:w1x1+w2x2+....
2019-07-22 15:28:43 454
原创 python列表去重
In [32]: list_a=["a", "b", "c", "a", "b", "d"]In [33]: list_aOut[33]: ['a', 'b', 'c', 'a', 'b', 'd']In [34]: set(list_a)Out[34]: {'a', 'b', 'c', 'd'}
2019-06-04 16:53:39 761
原创 python中strip()函数的作用
strip()函数的目的是去除字符串中的首位符号中间位置的符号不管用In [68]: " Strip fuction ".strip()Out[68]: 'Strip fuction'In [72]: "\tStrip fuction\n".strip()Out[72]: 'Strip fuction'In [73]: "\tStrip \n fuction\n".strip()...
2019-05-24 21:52:42 5606 1
原创 pd.get_dummies()的使用
s = pd.Series(list(‘AABBCCABCDDEE’))s0 A1 A2 B3 B4 C5 C6 A7 B8 C9 D10 D11 E12 Edtype: objectpd.get_dummies(s)A B C D E0 1 0 ...
2019-03-04 21:34:03 3023
原创 Python生成多种类别的样本数据
import matplotlib.pyplt as pltfrom sklearn.datasets import make_blobsfrom matplotlib import pyplotdata, label = make_blobs(n_samples=200, n_features=2, centers=5)plt.scatter(data[:, 0], data[:, 1]...
2019-03-04 14:33:54 1947
转载 SVM matlab
关于SVM参数的优化选取,国际上并没有公认统一的最好的方法,现在目前常用的方法就是让c和g在一定的范围内取值,对于取定的c和g对于把训练集作为原始数据集利用K-CV方法得到在此组c和g下训练集验证分类准确率,最终取使得训练集验证分类准确率最高的那组c和g做为最佳的参数,但有一个问题就是可能会有多组的c和g对应于最高的验证分类准确率,这种情况怎么处理?这里采用的手段是选取能够达到最高验证分类准确率中...
2019-02-24 16:41:34 1403 1
原创 attetion 入门
attetion 入门attention 计算 List itemattention 计算attetion函数的本质可以描叙为一个查询(query)与键(key)值(value)一起的一个输出。attatetion(Q,K,V)=softmax(QKTdk)Vattatetion(Q,K,V)=softmax(\frac{QK^T}{\sqrt d_k}) Vattatetion(Q,...
2019-01-15 21:40:30 664
转载 Keras 复现结果
import numpy as npimport tensorflow as tfimport random as rn# The below is necessary in Python 3.2.3 onwards to# have reproducible behavior for certain hash-based operations.# See these referenc...
2018-12-21 15:03:24 1223
转载 [PyTorch] rnn,lstm,gru中输入输出维度
[PyTorch] rnn,lstm,gru中输入输出维度本文中的RNN泛指LSTM,GRU等等CNN中和RNN中batchSize的默认位置是不同的。CNN中:batchsize的位置是position 0.RNN中:batchsize的位置是position 1.在RNN中输入数据格式:对于最简单的RNN,我们可以使用两种方式来调用,torch.nn.RNNCell(),它只接受序...
2018-12-03 16:20:02 8048 1
原创 模糊集合和隶属度详解
模糊集合老是喜欢用一堆专业术语来解释,看上去似乎很难懂,所以越看越烦。下面我来白话解释一下。论域什么是论域?出现这个词感觉就很高大上,其实论域就是我们要讨论的集合,比如说,我们要研究人这个物种,我们的论域就是人,不是鸟,也不是鸭子。很简单吧。用术语表示:人们在研究具体问题时,总是对局限于一定范围内的对象进行讨论,所讨论的对象的全体称为论域,常用 UUU 表示。论域 UUU 中的每个对象...
2018-10-17 16:56:18 14870 3
转载 XGBoost 模型保存,读取
一个数据集可以分为训练集和验证集,训练完模型后,放到测试集上做预测。#!/usr/bin/pythonimport numpy as npimport scipy.sparseimport pickleimport xgboost as xgb### simple example# load file from text file, also binary buffer gene
2018-01-13 12:05:23 30691 1
转载 XGBOOST 参数
XGBoost ParametersBefore running XGboost, we must set three types of parameters: general parameters, booster parameters and task parameters.General parameters relates to which booster we are using
2018-01-12 23:24:09 1355
转载 python 使用卡方检验
什么是卡方分析卡方分析有两个常见的应用——适合度分析和独立性分析。这个笔记着重于适合度分析。从我目前的经验来看,这也是应用十分广泛的一种统计分析方式。那么什么是卡方适合度分析呢?且听我慢慢道来。现象1 现象2 现象3 观测值 a b c 预期值 A B C 常见的适合度分析的结构如下,一般有两组数据,一组是你统计或者观察到的值,另一组是理论上的预期值。如果这两组值十分
2018-01-11 15:27:59 6340
转载 特征处理(特征筛选,排序)
特征选择是特征工程中的重要问题(另一个重要的问题是特征提取),坊间常说:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程尤其是特征选择在机器学习中占有相当重要的地位。通常而言,特征选择是指选择获得相应模型和算法最好性能的特征集,工程上常用的方法有以下: 1. 计算每一个特征与响应变量的相关性:工程上常用的手段有计算皮尔逊系数和互信息系数,皮尔逊系数只能衡量线性
2018-01-09 13:51:56 6454
转载 交叉验证
sklearn中train_test_split将训练数据的一部分留出来做校验,不参与模型参数训练 – 优点:速度快 – 缺点:训练数据减少,一次校验集的划分会带来随机性交叉验证(corss-valisation, CV),但训练时间延长 – 适合训练数据规模较大的情况(如上百万条记录) – 适合训练慢的机器学习模型k-折交叉验证:将训练数据等分成k份(k通常的取值为3、5或10) – 重
2018-01-03 11:01:16 1970
转载 XGboost详解
前言 作为一个非常有效的机器学习方法,Boosted Tree是数据挖掘和机器学习中最常用的算法之一。因为它效果好,对于输入要求不敏感,往往是从统计学家到数据科学家必备的工具之一,它同时也是kaggle比赛冠军选手最常用的工具。最后,因为它的效果好,计算复杂度不高,也在工业界中有大量的应用。Boosted Tree的若干同义词 说到这里可能有人会问,为什么我没有听过这个名字。这是因为Boost
2018-01-02 14:54:47 675
转载 python 装饰器
'''装饰器:装饰器本身是一个函数,目的增加一些其他函数的额外功能 装饰其他函数原则:1.不会修改被装饰的函数源代码2.不会修改装饰函数的调用方式,被装饰的函数使用方式不变 (我把你变成的女的但是你不知道)实现装饰器:1.变量是函数2.高阶函数 把 函数名 当作实参 返回值中包含 函数名3.嵌套函数(不是函数内点用其他函数,而是函数内在定义一个新的局部函数
2017-12-27 19:36:56 248
原创 python pandas读文件(不把第一行作列属性)
import pandas as pd#read_table可以指定分隔符data1=pd.read_csv=("test.csv")#自动把第一行作列属性,第一行不能用data2pd.read_csv("test.cvs",hearder=None)#不把第一行作列属性data1=data1.conlumns(["A","B"])#修改列属性data1=data1.reindex(["1"
2017-12-27 16:26:41 75042 4
原创 python 作业3 修改haproxy文件
'''1、查 输入:www.oldboy.org 获取当前backend下的所有记录2、新建 输入: arg = { 'bakend': 'www.oldboy.org', 'record':{ 'server': '100.1.7.9', 'we
2017-12-24 13:28:11 658
原创 词向量模型
one_hotapple=[0,0,0,…,1,0,0,0]oriange=[0,0,1,0,…,0,0,0]这种方法首先对进行单词进行词频排序,让后对每个单词建立一个和词库大小的向量,这种犯法无法表达单词的重要程度,并且每个维度很大,与词库大小相等。tfidftf:文档中词出现的词频idf:词在所有文旦中出现的频率的倒数,主要用于降低所有文档中一些常见词对文档影响的作用,比如(a,an,the)这种方法在通过词频计算的方式定义每个词的向量,某种程度上给与词一个权重,可以用作关键词提取。但是t
2017-12-22 23:09:22 524
Deeplearning ~~中文版翻译
2017-11-22
matlab入门PPT
2017-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人