- 博客(683)
- 资源 (104)
- 收藏
- 关注
原创 PyTorch:tensor-基本操作
相同点:tensor.data和tensor.detach() 都是变量从图中分离,都是“原位操作 inplace operation”,都是变成require s_grad = False。不同点:(1).data 是一个属性,.detach()是一个方法;(2).data 是不安全的,.detach()是安全的。
2020-10-28 22:09:34 6013 2
原创 PyTorch:tensor-数学API
-柚子皮-乘法API1. 二维tensor相乘:torch.mma是 [m, k],b是[k, n],结果是 [m, n]c = torch.mm(a, b)2. 三维tensor相乘torch.bmm只能用于三维tensor相乘,这个函数不支持广播,也就是第一维必须相同,另外两维符合矩阵相乘法则c = torch.bmm(a, b)3. 任意多维tensor相乘:torch.matmul支持广播;当两个都是一维时,表示点积c = torch.matmul(a, b)利用这
2020-10-22 23:04:54 2113 2
原创 PyTorch:tensor-张量维度操作(拼接、维度扩展、压缩、转置、重复……)
张量维度操作(拼接、维度扩展、压缩、转置、重复……)-柚子皮-torch.cat(seq, dim=0, out=None) 多个tensor拼接在指定的维度dim上对序列seq进行连接操作。参数:seq (sequence of Tensors) - Python序列或相同类型的张量序列dim (int, optional) - 沿着此维度连接张量out (Tensor, optional) - 输出参数例子:x = torch.randn(2, 3)x-0.5866 -0.
2020-10-22 23:04:20 56283 1
原创 深度学习:batch_size和学习率 及如何调整
-柚子皮-学习率衰减import torch.optim as optimfrom torch.optim import lr_scheduler# 训练前的初始化optimizer = optim.Adam(net.parameters(), lr=0.001)#学习率衰减scheduler = lr_scheduler.StepLR(optimizer, 10, 0.1) # # 每过10个epoch,学习率乘以0.1# 训练过程中for n in n_epoch: ...
2020-10-21 00:17:08 35030 2
原创 PyTorch:输出层和损失函数loss function
输出和目标的维度是(batch,C),batch是样本数量,C是类别数量,对于每一个batch的C个值,对每个值求sigmoid到0-1之间,所以每个batch的C个值之间是没有关系的,相互独立的,所以之和不一定为1。,输出和目标的维度是(batch,C),batch是样本数量,C是类别数量,每一个C之间是互斥的,相互关联的,对于每一个batch的C个值,一起求每个C的softmax,所以每个batch的所有C个值之和是1,哪个值大,代表其属于哪一类。Note: 这里加view[两个神经元算loss时。
2020-10-21 00:16:47 2537
原创 PyTorch:模型训练-parameters和optimizer
迭代打印model.named_parameters()将会打印每一次迭代元素的名字和paramparam.requires_grad=False # 顺便改下属性。
2020-10-20 23:39:40 8806 2
原创 GPT-1、GPT-2和GPT-3模型详解及其进化之路
原文[OpenAI gpt模型基于Transformer的语言模型,其利用Transformer的decoder结构来进行单向语言模型的训练。GPT的核心思想是先通过无标签的文本去训练生成语言模型,再根据具体的NLP任务(如文本蕴涵、QA、文本分类等),来通过有标签的数据对模型进行fine-tuning。文中所用的网络结构如下:。
2020-09-22 23:27:17 3681 1
原创 PyTorch:数据读取2 - Dataloader
Dataloader的处理逻辑是先通过Dataset类里面的函数获取单个数据,然后组合成batch,再使用collate_fn所指定的函数对这个batch做一些操作(比如每个batch中实际lengths,padding,cuda之类的)。因为dataloader是有batch_size参数的,我们可以通过自定义来设计数据收集的方式,意思是已经通过上面的Dataset类中的函数采样了batch_size数据,以一个包的形式传递给collate_fn所指定的函数。示例1:通过collate_fn进行解包。
2020-09-11 10:10:51 6019 1
原创 PyTorch:数据读取1 - Datasets和TensorDataset
PyTorch提供了一个工具函数。通过这个类,我们可以让数据变成mini-batch,且在准备mini-batch的时候可以多线程并行处理,这样可以加快准备数据的速度。Datasets就是构建这个类的实例的参数之一。DataLoader的使用参考[PyTorch:数据读取2 - Dataloaderdataset必须继承自内部要实现两个函数:一个是__lent__用来获取整个数据集的大小,一个是用来从数据集中得到一个数据片段item。
2020-09-10 22:31:02 6253
原创 中文分词:正向最大匹配与逆向最大匹配
正向(前向)最大匹配与逆向(后向)最大匹配。所谓词典正向最大匹配就是将一段字符串进行分隔,其中分隔 的长度有限制,然后将分隔的子字符串与字典中的词进行匹配,如果匹配成功则进行下一轮匹配,直到所有字符串处理完毕,否则将子字符串从末尾去除一个字,再进行匹配,如此反复。示例说明示例1:对字符串:“研究生命的起源”进行分词。假定我们的字典中的相关内容如下:研究研究生...
2020-04-15 00:36:36 7868
原创 中文句法分析
中文语法http://中文语法音节...词词是由语素组成的最小的造句单位。从构成方式来看,可以分成:单纯词和合成词。从词性来看,可以分成:实词和虚词。
2020-04-15 00:26:09 10680 1
原创 深度学习:批归一化和层归一化Batch Normalization、Layer Normalization
深度神经网络模型训练难,其中一个重要的现象就是 Internal Covariate Shift. Batch Norm 自 2015 年由Google 提出之后, Layer Norm / Weight Norm / Cosine Norm 等也横空出世。Normalized的作用1.1 独立同分布与白化1.2 深度学习中的 Internal Covariate Sh...
2020-03-10 00:44:29 14623 4
原创 Tensorflow:variable变量和变量空间
name_scope: 为了更好地管理变量的命名空间而提出的。比如在 tensorboard 中,因为引入了 name_scope, 我们的 Graph 看起来才井然有序。 variable_scope: 大部分情况下,跟 tf.get_variable() 配合使用,实现变量共享的功能。with tf.variable_scope('scopename', reu...
2019-08-01 21:13:12 4533
原创 深度文本匹配模型:ESIM
ESIM,简称 “Enhanced LSTM for Natural Language Inference“,一种专为自然语言推断而生的加强版 LSTM。ESIM模型主要是用来做文本推理的,给定一个前提premise pp 推导出假设hypothesis hh,其损失函数的目标是判断pp与hh是否有关联,即是否可以由pp推导出hh,因此,该模型也可以做文本匹配,只是损失函数的目标是...
2019-07-14 22:01:26 293 1
原创 Tensorflow:模型保存和服务
tensorflow模型保存和使用TensorFlow是通过构造Graph的方式进行深度学习,任何操作(如卷积、池化等)都需要operator,保存和恢复操作也不例外。在tf.train.Saver()类初始化时,用于保存和恢复的save和restore operator会被加入Graph,所以类初始化操作应在搭建Graph时完成。TensorFlow会将变量保存在二进制checkpoint文...
2019-07-13 17:38:28 3076 1
原创 PyTorch:安装和配置
安装pip安装pip3 install torch torchvisionmacos还需要安装brew install libomp否则出错:ImportError: dlopen(/...torch/_C.cpython-36m-darwin.so, 9): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib...
2019-07-13 17:09:56 2194
原创 深度学习:bert embedding用法详解
环境配置下载bert已训练好的模型如BERT-Base, Chinese: Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters解压到目录/.../chinese_L-12_H-768_A-12/,其中...为你自己的某个目录。[https://github.co...
2019-07-13 17:09:27 6516 1
原创 Keras:模型评估
keras模型评估keras能用的模型评估不多,有的可能是这些评估在keras框架下不准确,如果要用,可以使用tensorflow或者sklearn中的评估模型。tensorflow:from tensorflow.python.estimator import trainingresult = training.train_and_evaluate(dnn_estimat...
2019-07-13 17:08:37 2004 3
原创 Tensorflow:常见错误
Tensorflow SSE报错TensorFlow wasn't compiled to use SSE (etc.) instructions, but these are available解决:os.environ['TF_CPP_MIN_LOG_LEVEL']='2'[TensorFlow wasn't compiled to use SSE (etc.) instru...
2019-07-13 17:06:54 1089
原创 Tensorflow:可视化学习TensorBoard
用 TensorBoard 来展现 TensorFlow 图,绘制图像生成的定量指标图以及显示附加数据(如其中传递的图像)。tensorflow.summaryscalar一般用于数值的显示如tf.summary.scalar(softmax_cross_entropy) tf.summary.scalar(loss)histogram一般用于向量的分布...
2019-07-13 17:06:31 2544
原创 Tensorflow:模型调参
Tensorflow中使用gridsearch1 使用tf.contrib.learn.estimators使用tf中自带的Estimator将自定义的tf模型转换成估计器,输入到sklearn中的gridesearch运行。# My custom model. # Feature request: New params dict with values filled ...
2019-07-13 17:06:14 855
原创 Tensorflow:模型训练tensorflow.train
深度学习训练中的几个概念(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;一次Forword运算以及BP运算中所需要的训练样本数目,其实深度学习每一次参数的更新所需要损失函数并不是由一个{data:label}获得的,而是由一组数据加权得到的,这一组数据的数量就是[batch size]。当然batch size 越大...
2019-07-13 17:05:51 1863
原创 Tensorflow:seed用法详解
##### file1 #####import tensorflow as tf# tf.set_random_seed(1234)# a = tf.Variable(tf.random_uniform([2, 2], 0, 1), name="aaa")a = tf.Variable(tf.random_uniform([2, 2], 0, 1, seed=1234, name...
2019-07-13 17:05:17 2131
原创 Tensorflow:estimator训练
学习流程:Estimator 封装了对机器学习不同阶段的控制,用户无需不断的为新机器学习任务重复编写训练、评估、预测的代码。可以专注于对网络结构的控制。数据导入:Estimator 的数据导入也是由 input_fn 独立定义的。例如,用户可以非常方便的只通过改变 input_fn 的定义,来使用相同的网络结构学习不同的数据。网络结构:Estimator 的网络结构是在 model_fn 中独...
2019-07-13 17:04:17 6557
原创 Tensorflow:分类模型评估
使用tf.estimator时,如果调用 Estimator 的 evaluate 方法,则 model_fn 会收到 mode = ModeKeys.EVAL。在这种情况下,模型函数必须返回一个包含模型损失和一个或多个指标(可选)的 tf.estimator.EstimatorSpec。虽然返回指标是可选的,但大多数自定义 Estimator 至少会返回一个指标。TensorFl...
2019-07-13 17:03:57 4124
原创 TensorFlow:交叉熵损失函数
基础softmax归一化计算什么是logits? logits就是神经网络模型中的W * X矩阵,注意不需要经过sigmoid,即为未通过激活函数的原始输出。Tensorflow "with logit": The input_vector/logit is not normalized and can scale from [-inf, inf].[What...
2019-07-13 17:03:28 4888
原创 Tensorflow:特征处理
wide and deep 模型训练一般是以多个训练样本作为 1 个批次 (batch) 进行训练,训练样本在行维度上定义,每一行对应一个训练样本实例,包括特征(feature column),标注(label)以及权重(weight),如图 2。特征在列维度上定义,每个特征对应 1 个 feature column,feature column 由在列维度上的 1 个或者若干个张量 (tensor) 组成,tensor 中的每个元素对应一个样本在该 feature column 上某个维度的值。
2019-07-13 17:02:55 3827 1
原创 Tensorflow:dataset数据读取
Tensorflow输入Dataset读取使用dataset读取batch数据示例DEBUG = Truemlb = MultiLabelBinarizer()with open(os.path.join(DATADIR, 'vocab.tags.txt'), 'r', encoding='utf-8') as f: mlb.fit([[l.strip() for l ...
2019-07-13 17:01:01 3732
原创 Tensorflow:操作执行原理
基本原理在TensorFlow中,所有的操作只有当你执行,或者另一个操作依赖于它的输出时才会运行。运行op构建图时不需要显示声明变量名,如tf.concat(axis=1, values=initial_state, name="initial_state")直接使用图中的name就可以运行了。initial_state = sess.run(fetches="lstm...
2019-07-13 17:00:18 531
原创 Tensorflow:安装和配置
安装anacondawindows下直接安装,最好勾上python加入系统路径。查看及安装tensorflow依赖查看cuda版本(机器支持gpu的不考虑)cat /usr/local/cuda/version.txtcuda版本及其对应tf版本:[经过测试的构建配置]查看python版本python -V安装python环境anaconda参考[pytho...
2019-07-13 16:59:43 1945 1
原创 Tensorflow函数映射:py_func和map_fn
tf.map_fn[tf.map_fn]:map on the list of tensors unpacked from elems on dimension 0. 接受一个函数对象,然后用该函数对象对集合(elems)中的每一个元素分别处理,tf.map_fn( fn, elems, dtype=None, parallel_iterations=Non...
2019-07-04 21:38:02 4983 2
原创 Tensorflow:tensor数据类型转换、计算和变换
示例import tensorflow as tfx = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])y = tf.constant([[[11, 12, 13], ...
2019-06-05 14:43:17 7526 1
原创 深度学习:文本CNN-textcnn
对于文本分类问题,常见的方法无非就是抽取文本的特征,比如使用doc2evc或者LDA模型将文本转换成一个固定维度的特征向量,然后在基于抽取的特征训练一个分类器。然而研究证明,TextCnn在文本分类问题上有着更加卓越的表现。从直观上理解,TextCNN通过一维卷积来获取句子中n-gram的特征表示。TextCNN对文本浅层特征的抽取能力很强,在短文本领域如搜索、对话领域专注...
2018-12-18 20:30:48 62938 10
Parameter estimation for text analysis
2016-05-23
pdfstudio安装文件及破解
2016-03-24
matplotlib安装包
2016-01-02
pandas安装文件
2016-01-01
matplotlib安装文件
2016-01-01
GB2UTF8.exe
2015-08-07
A First Course in Probability 第8版 Sheldon Ross
2014-10-31
wps symbol fonts
2017-02-27
Anand.Rajaraman-Mining of Massive Datasets
2016-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人