自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 离线迁移conda的python环境,方便私有化安装

1.安装conda-pack,用来打包conda环境的工具下载地址:https://pypi.tuna.tsinghua.edu.cn/simple/conda-pack/如果本地环境可以联网,也可以直接pip install conda-pack2.打包本地环境conda pack -n my_env#my_env就是本地要被打包的环境名称打包完成后会在本地生成一个my_env.tar.gz的压缩包。下载此压缩包,拷贝到要部署的服务器即可3.新服务器环境复原首

2021-02-23 20:02:29 489 1

原创 怎么拿到BERT任意层的embedding结果

本方法基于hugginface的transformers项目改造过程其实很简单,基于TFBertMainLayer下的call函数做了改造,如果直接用self.bert的输出其实就是CLS token 的结果。使用时同样可以使用from_pretrained来加载下载好的BERT模型参数,然后把输入的数据整理为input_ids, attention_mask,token_type_ids格式即可。使用tf.datasets也可。from transformers.modeling_t

2021-02-15 22:53:04 3207 1

原创 标签平滑 Label smoothing / Temperature Softmax

标签平滑 Label smoothing逻辑为什么有效近期在查看一些训练技巧,无意中发现了标签平滑 Label smoothing,非常简单却有效的一个技巧,记录一下。逻辑思路很简单,如名,使标签更平滑。假设三分类标签 [1, 0, 0]从正确类的1中拿出一点点分给其他类,比如拿出0.1平分。变成 [0.933, 0.033, 0.033]代码如下:def label_smoothing(inputs, epsilon=0.1): K = inputs.get_shape().as_lis

2020-09-20 22:44:47 1577

原创 python pip 自动生成requirements、批量离线下载、批量安装、修改linux默认源

生成requirements.txt文件pip freeze > requirements.txt安装requirements.txt依赖pip install -r requirements.txt下载requirements.txt依赖pip download -d packages/ -r requirements.txt修改pip默认源# vim ~/.pip/pip.conf 编辑配置文件,若不存在会自动创建# 修改成如下[global]index

2020-08-31 14:57:53 1699

原创 图解LSTM 结构逻辑

下图为LSTM的图结构,LSTM中通过3个门来控制信息传递,缓解RNN中长时间依赖导致的梯度爆炸或梯度弥散下面通过图解来介绍每一个门的逻辑

2020-05-17 23:33:01 918

原创 Pycharm中使用keras在一行打印进度条

关于在 PyCharm 中 Keras 进度条打印新行而不是更新栏搜索到如下文件打开: Lib\site-packages\keras\utils\generic_utils.py 。导入包: import os找到下面这行: if self._dynamic_display:然后修改为:if self._dynamic_display or "PYCHARM_HOS...

2020-04-25 22:16:37 1018 2

原创 基于BERT fine-tuning的情感分类

近期在自己的数据集上尝试了BERT 的fine-tuning,效果不错,现在把自己的操作过程分享给大家。由于自己的数据不方便分享,我替换成了一份外卖情感分析,供大家使用。数据及完整代码:https://github.com/BruceJust/Sentiment-classification-by-BERT首先下载huggingface出品的transformers包,这...

2020-04-12 21:36:03 1381 2

原创 聊天机器人框架介绍

2020-04-12 14:17:25 749

转载 隐马尔可夫模型最详细讲解 HMM(Hidden Markov Model)

最近有一个作业要手撸HMM,找了很多资料,这篇文章属写的最好的,故转载过来。另如果觉得文章看起来比较费力,还可以配合下面两个视频下饭。https://www.bilibili.com/video/BV1BW411P7gV 悉尼科大徐亦达https://www.bilibili.com/video/BV1MW41167Rf shuhuai大神如果是喜欢看书的,请参考李航老师《...

2020-04-10 21:45:24 22034 4

原创 Bagging与Boosting基础逻辑

Bagging基本思路:有数据集N,进行有放回的抽取n个数据,N > n,反复K次,得到K组数据,K组数据分别独立训练K个模型,然后再投票得到分类结果。投票方法:绝对多数投票法,某个类超过半数相对多数投票法,票数最多的为预测结果,若多个同时最高,则从最高中随机一个加权投票法,与加权平均类似若是回归问题,则取平均数bagging的应用:bagg...

2020-03-30 21:21:41 387

原创 归一化 Normalization/标准化 Standardization/中心化 Zero-centered 逻辑及应用场景

在机器学习的任务中,我们常常需要对数据做一定的处理,来优化模型效果或者优化计算效率下面梳理一个常见的方式归一化 Normalization通常是把数据变成 (0, 1) 或者 (-1, 1)之间的小数。主要方法就是把最大值与最小值分别映射到1, 0, 然后其他值按与最小值的差等比例缩小。这样可以把有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量,便于不同单位或者量级的指...

2020-03-29 21:35:52 583

原创 Decission Tree 决策树 (分类树) 构建与剪枝

开局一张图总体流程: 自根至叶的递归过程 在每一个中间节点寻找一个划分属性终止条件: 当前节点包含的样本全属于同一类别,无需划分 当前属性集为空,或者所有样本在所有属性上取值相同,无法划分 当前节点包含的样本集合为空,不能划分本文以周志华老师的西瓜书中的西瓜筛选作为案例那么重点就在于如何选择每一个中间节点的划分属性了。...

2020-03-29 21:06:59 565

原创 欠拟合/过拟合 现象分析及对策

表象:过拟合,简单来说,训练数据分数很高,测试/评估数据分数不高欠拟合,训练数据分数不高,测试/评估数据分数也不高实际现象:以上说的是表象,我们再深入的分析一下实际现象呢,可以方便评估的指标就是偏差与方差。预测值与真实值的偏差与方差。下图是从李宏毅老师的课件中截图的。它清晰的表达了偏差与方差的状态。比较常见的训练过程中,通常在前几个epoch,train...

2020-03-28 23:43:16 384

原创 Logistics Regression逻辑回归为什么要进行连续特征离散化

逻辑分析:逻辑回归属于广义线性模型,分类任务寻找的是分类临界。低于LR,从离散数据中寻找临界比连续数据更容易,离散化本身也引入了非线性变换,提升了数据表达能力。效果分析:在工业界,很少直接将连续值作为逻辑回归的特征输入,而是将连续特征离散化为一系列0, 1 特征交给逻辑回归模型,这样做的优势有以下几点:离散特征的增加和减少都很容易,易于模型迭代 稀疏向量内积乘法运算速度...

2020-03-27 13:06:10 1354

原创 Logistics Regression逻辑回归推导

我们从基本原理讲起,首先标准三步走:找到一个合适的预测函数,一般表示为h函数,用h函数来对输入数据进行映射,利用h函数的输出来做出分类判断,选择何种h函数,主要取决于数据形态,需要对数据有一定的了解或分析,需要线性变换或者非线性变换。 构造一个Cost函数(损失函数),该函数表示预测的输出 (h) 与训练数据类别 (y) 之间的偏差,可以是二者之间的差 (h-y) 或者其他形式。...

2020-03-25 21:26:37 143

原创 从每一个计算细节了解 transformer

目前NLP领域最火的是各种各样的BERT。而BERT的核心则是更早出生的transformer。今天就来理一理transformers,下面是transformer的原论文。Attention is All You Need:https://arxiv.org/abs/1706.03762首先是为什么要有transformer,在这之前我们训练seq2seq任务大多使用的是LST...

2020-03-23 21:53:57 3885 1

原创 tensorflow 2.0 自定义训练

常常会遇到自定义网络结构的情况,自定结构后往往会有多个输入,或者还需要自定义loss或者accuracy函数,那么keras的fit就无法使用了,因此需要自定义训练步骤下面则自定义一次batch的训练步骤,包含了计算loss,accuracy和梯度下降。tensorflow2.0 主推eager模式,那么tf.GradientTape则是eager模式下的利器,自动计算梯度并传递最...

2020-03-19 22:10:28 1750 8

转载 最通俗易懂的BiLSTM-CRF模型中的CRF层介绍

本文翻译自GitHub博客上的原创文章,结尾有原文链接。文章没有晦涩的数学公式,而是通过实例一步一步讲解CRF的实现过程,是入门CRF非常非常合适的资料。概述该文章系列包括以下内容:概念介绍 — 基于 BiLSTM-CRF模型中的命名实体识别任务中的CRF层解释 例子详解 — 用一个玩具的例子详细解释CRF是如何工作的 Chainer实现 — 用基于Chainer包的代码实现CRF...

2020-03-18 20:55:56 884

原创 tf.random.fixed_unigram_candidate_sampler进行负例采样

在不少任务中需要进行负例采样来降低训练难度,加速训练下面讲一下tensorflow中的负例采样函数sampled_ids, true_expected_count, sampled_expected_count = tf.random.fixed_unigram_candidate_sampler( true_classes = V, # 待采样真实数据,...

2020-03-17 22:50:22 970 1

原创 NLP 中消除padding对计算影响的技巧 mask

NLP的任务处理中,处理的通常是一句句话,每一句话的长度是不同的,这给训练带来了麻烦。特别是为了高效的GPU并行运算,数据大小的一致性就很重要了,除非batch_size设置为1。增加padding因此我们就需要把一堆句子的长度统一,通常是用最长的句子的长度为标准(也可以自定义),对短于这个长度的句子进行padding,长于的就截掉。keras中可以用proprecessing来出来d...

2020-03-14 18:33:31 5115 2

原创 Tensorflow 2.0 自定义带mask的loss function

在做序列预测时,常常由于输入的(文本)序列长度不同,而需要padding到固定长度,于是就带来了大量的0,在计算loss的时候其实这些0的位置是多余,它们参与的loss计算是不准确的,于是就需要创建一个带mask的loss function来剔除掉这些0对loss计算的营销。loss_object = keras.losses.SparseCategoricalCrossentropy( ...

2020-03-10 23:03:46 3049

原创 各分词工具对比 jieba、pkuseg、thulac、nlpir、基于BI-LSTM+ CRF自训练

jieba 主要接口 cut https://github.com/fxsjy/jieba 默认精准切词,尽量保留长词 cut_all模式,在精准模式下增加一些短词 cut_for_search 切出尽量多的词用于搜索 特性 日常切词效果最好,比如三个字的动词一般会比较全,“打不开...

2020-03-09 17:31:10 1316

原创 Tensorflow GPU 内存自增长,随时观察GPU内存真实占用

设置GPU内存为自增长,避免直接全部占用GPU,还可以随时观察到当前任务实际GPU占用,对调整训练策略有帮助,比如维度大小,batch_size大小等# 获取所有可用GPUgpus = tf.config.experimental.list_physical_devices('GPU')# 将对应GPU设置为内存自增长tf.config.experimental.set_memory_...

2020-03-08 22:16:24 711

原创 在指定conda环境下pip安装

1. 进入对应的conda环境,然后使用pip install安装conda activate your_conda_environmentpip install tensorflow==1.14.02. 直接使用conda命令安装conda install -n your_conda_environment tensorflow==1.14.0经验看来,第一种方法会...

2020-03-08 21:46:14 13698

空空如也

空空如也

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

TA关注的人

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