- 博客(42)
- 收藏
- 关注
原创 mnn推理示例
MNN环境配置首先可以通过官网提供的window,mac,linux版本运行库来配置自己的mnn环境 https://github.com/alibaba/MNN。或者可以自己下载最新的mnn源码根据 https://www.yuque.com/mnn/cn的官方文档来编译出最新的运行库来配置自己的mnn环境,文档中各种版本的编译都很详细,可以根据需要自行编译。MNN推理示例配置好环境,准备已经转换好的mnn模型之后开始推理#include "MNN/Interpreter.hpp"#incl
2021-12-27 09:25:08
1940
原创 win10下vs2019配置litorch
在配置过程自己遇到不少坑,跟着该博文一步步操作即可一遍成功!###1.下载libtorchhttps://pytorch.org/根据自己是否需要gpu版本和torch与cuda的版本号来选择性下载,最好选择对应的版本,不对应可能也没有问题(没试过)。可以在迅雷下载链接并更改自己需要的版本即可下载成功,比如这里的1.9改为1.7.1,我下载的是1.7.1+cu101。解压后可以看到这样的目录结构2.开始在vs2019下配置libtorch环境2.1新建一个项目,一定先切换 x86到x64。
2021-09-07 17:38:39
631
原创 nn.LSTM层出来的out和hn的关系
import torchimport torch.nn as nn单层lstmlstm = nn.LSTM(input_size=100, hidden_size=200, bidirectional=True, batch_first=True)a = torch.randn(32, 512, 100)out, (h, c) = lstm(a)print(out.shape) # 32, 512, 400print(h.shape) # 2, 32, 400print(out[0
2021-07-08 12:25:41
820
3
原创 bert预训练模型使用demo
下面是huggingface的bert文件API的调用及简单的使用demo,具体bert文本分类使用可以参考https://github.com/lyj157175/nlp_projectsfrom pytorch_pretrained import BertModel, BertTokenizerimport torchimport torch.nn as nn# 加载本地预训练模型文件,包括config.json, vocab.txt, pytorch_model.binbert = Be
2021-06-08 17:09:48
707
原创 文件的复制python
import shutilshutil.copy(src_path, tgt_path)src_path: 原文件路径tgt_path: 目标文件路径
2021-06-03 20:56:26
98
原创 图邻接表,BFS和DFS的python实现
图的邻接表实现class V: def __init__(self, item): self.id = item self.nbrs = {} self.visited = False def add_nbr(self, nbr, weight=0): self.nbrs[nbr] = weight def get_nbrs(self): return self.nbrs.keys
2021-03-30 23:32:27
797
原创 堆结构和堆排序原理及python实现
堆结构堆结构是一个完全二叉树,将数组中的数字在二叉树从上到下,从左到右进行排列。若每个父节点的值大于子节点的值则为大顶堆,若每个父节点的值小于子节点的值则为小顶堆。属性:对任意一个node为idx (idx=0为根节点)父节点:(idx-1)//2,左节点:(2idx + 1),右节点:(2idx + 2)父节点 >=子节点,根节点最大(大顶堆),反之小顶堆堆排序堆排序分为建堆和堆调整两个过程。建堆的时间复杂度为O(n),堆调整的时间复杂度为log(n),所以堆排序的时间复杂度为n
2021-03-29 17:20:22
349
原创 【pytorch模型实现12】文本匹配之DSSM
DSSM模型结构代码地址:https://github.com/lyj157175/Modelsimport torch import torch.nn as nnclass DSSM(nn.Module): def __init__(self, vocab_size, embedding_dim, dropout): super(DSSM, self).__init__() self.embed = nn.Embedding(vocab_size,
2021-03-09 16:20:15
1920
原创 【pytorch模型实现11】Bert及预训练任务
Bert模型BERT包括BertEmbedding和12层TransformerBlock组合而成。BertEmbedding包括TokenEmbedding,PositionalEmbedding,SegmentEmbedding三部分相加而成。TransformerBlock则是transformer的encoder部分。两个预训练任务Masked language modelNext Sentence Prediction Modelimport torchimport tor
2021-03-09 16:11:51
1151
1
原创 pytorch模型实现汇总
【pytorch模型实现1】Skip-Gram+Neghttps://blog.youkuaiyun.com/lyj223061/article/details/113849997【pytorch模型实现2】Glovehttps://blog.youkuaiyun.com/lyj223061/article/details/113850145【pytorch模型实现3】C2Whttps://blog.youkuaiyun.com/lyj223061/article/details/113850182【pytorch模型实现4】T.
2021-02-18 17:43:13
690
原创 【pytorch模型实现9】HAN_Attention
HAN_Attention模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torch import torch.nn as nn from torch.autograd import Variableimport numpy as np from torch.nn import functional as Fclass HAN_Attention(nn.Module): '''层次注意力网络文档分类模型实现
2021-02-18 17:36:01
1924
5
原创 【pytorch模型实现8】Seq2Seq + attention
Seq2Seq + attention模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torchimport torch.nn as nn from torch.autograd import Variableimport torch.nn.functional as Fimport numpy as np class Seq2Seq_attention(nn.Module): '''Bahdanau论文中
2021-02-18 17:34:15
289
原创 【pytorch模型实现7】Seq2Seq
Seq2Seq模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torchimport torch.nn as nn class Seq2Seq(nn.Module): def __init__(self, src_vocab_size, tgt_vocab_size, embedding_dim, hidden_size): super(Seq2Seq, self).__init__()
2021-02-18 17:33:08
230
原创 【pytorch模型实现6】FastText
FastText模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torch import torch.nn as nnclass FastText(nn.Module): def __init__(self, vocab_size, embedding_dim, max_len, num_label): super(FastText, self).__init__() self.
2021-02-18 17:31:50
589
原创 【pytorch模型实现5】ChartextCNN
ChartextCNN模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torchimport torch.nn as nn class ChartextCNN(nn.Module): '''6层卷积,3层全连接层''' def __init__(self, config): super(ChartextCNN, self).__init__() self.in_featu
2021-02-18 17:30:11
427
原创 【pytorch模型实现4】TextCNN
TextCNN模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torch import torch.nn as nn import torch.nn.functional as Fclass TextCNN(nn.Module): def __init__(self, config): super(TextCNN, self).__init__() self.max_seq_le
2021-02-18 17:28:22
374
原创 【pytorch模型实现3】C2W
C2W模型实现NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torchimport torch.nn as nn class C2W(nn.Module): def __init__(self, config): super(C2W, self).__init__() self.char_hidden_dim = config.char_hidden_dim self.w
2021-02-18 17:26:23
234
原创 【pytorch模型实现2】Glove
NLP模型代码github仓库:https://github.com/lyj157175/Modelsimport torchimport torch.nn as nnclass Glove(nn.Module): def __init__(self, vocab_size, embedding_dim, x_max, alpha): super(Glove, self).__init__() self.vocab_size = vocab_size
2021-02-18 17:24:00
399
1
原创 【pytorch模型实现1】Skip-Gram+Neg
Word2Vec原文 https://arxiv.org/pdf/1301.3781.pdfSkip-Gram+Neg模型实现NLP模型代码github仓库:https://github.com/lyj157175/Models'''Word2Vec模型包括:CBOW, Skip-Gram这里实现的是Skip-Gram + 负采样(NEG)模型'''import torchimport torch.nn as nnimport torch.nn.functional as Fcla
2021-02-18 17:21:54
471
1
原创 CPU,GPU,TPU解析
可先阅读这篇文章仅需1/5成本:TPU是如何超越GPU,成为深度学习首选处理器的https://baijiahao.baidu.com/s?id=1610560990129941099&wfr=spider&for=pc什么是CPU?中央处理器(CPU),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速及实现它们
2020-12-01 12:19:22
341
原创 pytorch迁移学习,模型加载保存,参数量计算一揽子使用技巧
查看模型参数for name, param in mpdel.named_parameters(): if param.requires_grad: print(name, ':', param.size())计算模型参数量total = sum([param.nelement() for param in model.parameters()])print("Number of parameter: %.2fM" % (total/1e6))迁移学习https://
2020-11-20 17:33:13
434
原创 RNN, LSTM, GRU模型结构详解(看这一篇就够了)
RNN和LSTM讲解超详细的文章https://zhuanlan.zhihu.com/p/32085405GRU超详解文章https://zhuanlan.zhihu.com/p/32481747
2020-11-14 10:58:50
15274
原创 Teacher Forcing机制及Beam search详解
RNN在训练过程中的问题训练迭代过程早期的RNN预测能力非常弱,几乎不能给出好的生成结果。如果某一个unit产生了垃圾结果,必然会影响后面一片unit的学习。teacher forcing最初的motivation就是解决这个问题的。RNN的两种训练模式free-running modeteacher-forcing modefree-running mode就是常见的那种训练网络的方式: 上一个state的输出作为下一个state的输入。而Teacher Forcing是一种快速有效地训练循
2020-11-03 21:36:56
2742
原创 pack_padded_sequence和pad_packed_sequence详解
先提供一个官网解读https://pytorch.org/docs/1.0.1/nn.html#torch.nn.utils.rnn.pack_padded_sequence在使用深度学习特别是LSTM进行文本分析时,经常会遇到文本长度不一样的情况,此时就需要对同一个batch中的不同文本使用padding的方式进行文本长度对齐,方便将训练数据输入到LSTM模型进行训练,同时为了保证模型训练的精度,应该同时告诉LSTM相关padding的情况,此时,pytorch中的pack_padded_seque
2020-10-24 21:01:56
737
原创 【论文学习】BiLSTM-CRF模型及pytorch代码详解
Bidirectional LSTM-CRF Models for Sequence Tagging用于序列标注的双向LSTM-CRF模型序列标注问题输入为特征序列,输出为类别序列。大部分情况下,标签体系越复杂准确度也越高,但相应的训练时间也会增加。因此需要根据实际情况选择合适的标签体系。命名实体识别发展历程BiLSTM-CRF历史意义• 拉开命名实体识别深度学习时代的序幕• 使模型更加简洁高效,鲁棒性强模型结构句中转化为字词向量序列,字词向量可以在事先训练好或随机初始化,在模型训
2020-10-19 18:57:17
4913
1
原创 音频基础及处理
采用率16000Hz 表示1s中在连续信号中采集16000次,每一次叫做一个采样点。采样位宽(位数)16bit 表示每一个采样点采集2个bit的数据,也就是2个字节。音频数据大小计算采样率为16k,采用位宽为16bit,单声道,在1分钟中采集数据的大小为多少?16000260/1024/1024~=1.83MBpython处理wav音频文件:音频信息,读取内容,获取时长with wave.open(wav_path, "rb") as f: f = wave.open(wav_pa
2020-10-15 15:34:06
1243
原创 NLP的基础任务及常见应用
NLP的两大核心任务:NLP = NLU + NLGNLU(自然语言理解):NLG(自然语言生成):NLP的基础任务:分词(前向最大匹配算法,后向最大匹配算法)词性标注(POS,也叫序列标注sequence labeling,每个单词单独做分类,算法:HMM,CRF)命名实体识别(NER)句法分析(syntatic analysis,主谓宾)语义分析(semantic analysis,如何理解一个单词和文本的意思)NLP常见的应用:写作助手(拼写纠错,语言模型)文本分类(
2020-10-13 17:53:10
1615
原创 【论文学习】FastText总结
《 Bag of Tricks for Efficient Text Classification》Fasttext: 对于高效率文本分类的一揽子技巧论文背景:文本分类是自然语言处理的重要任务,可以用于信息检索、网页搜索、文档分类等。基于深度学习的方法可以达到非常好的效果,但是速度很慢,限制了文本分类的应用。基于机器学习的线性分类器效果也很好,有用于大规模分类任务的潜力。从现在词向量学习中得到的灵感,我们提出了一种新的文本分类方法Fasttext,这种方法能够快速的训练和测试并且达到和最优结
2020-10-10 10:12:48
507
原创 论文3:TextCNN总结
《Convolutional Neural Networks for Sentence Classification》基于卷积神经网络的句子分类作者:Yoon Kim(第一作者)单位:New York University会议:EMNLP2014论文代码实现:https://github.com/lyj157175/NLP_paper_reproductionTextCNN结构TextCNN正则化DropoutL2正则结果分析超参分析Embedding方式卷积核大小卷
2020-09-21 17:48:39
221
原创 pytorch之nn.Conv1d和nn.Conv2d超详解
Conv1d一般用于文本nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)参数解读:in_channels: 输入通道。在文本分类中,即为词向量的维度out_channels: 卷积产生的通道。有多少个out_channels,就需要多少个1维卷积kernel_size:卷积核的尺寸(k, in_channels)stride: 卷积步
2020-09-21 15:02:51
10891
原创 论文2:Finding Function in Form: Compositional Character Models for Open Vocabulary Word Representation
Finding Function in Form: Compositional Character Models for Open Vocabulary Word Representation从字符中生成嵌入:用于开放词表示的组合字符模型论文复现代码:https://github.com/lyj157175/NLP_paper_reproduction背景介绍词向量的两个问题无法进行词推理OOV(不在词标的词无法表示)摘要C2W模型两种训练任务...
2020-09-20 17:57:16
523
原创 conda和pip如何切换为清华镜像源
换源后那下载速度可以说是飞起来了,大家快换起来哦!conda切换为清华镜像源提供一个清华官网的教程https://mirror.tuna.tsinghua.edu.cn/help/anaconda/各系统都可以通过修改用户目录下的 .condarc 文件。Windows 用户无法直接创建名为 .condarc 的文件,可先执行conda config --set show_channel_urls yes生成该文件之后再修改。去自己电脑C:\Users\lyj15找到该文件进行修改。将文件内容改
2020-09-17 12:05:09
15088
1
原创 论文系列1:《Efficient Estimation of Word Representations in Vector Space》
《Efficient Estimation of Word Representations in Vector Space》基于向量空间中词表示的有效估计作者:Tomas Mikolov单位:Google语言模型计算一个句子是句子概率有一些词或者词组在语料中没有出现过,但是这不能代表它不可能存在。Laplace Smoothing也称为加1平滑:每个词在原来出现次数的基础上加1。问题:参数空间过大数据稀疏严重引入马尔科夫假设????????=????(????1,????2,
2020-09-16 23:15:31
697
原创 pytorch与torchvision的更新,卸载和秒安装(看这一篇就够了)
pytorch和torchvision都是一起出现的,所以需要保证两者版本对应即可。更新更新其实就是将老版本进行卸载,再安装所需版本即可,其实卸载和安装都非常方便卸载直接使用下面命令对两者进行删除即可,也可以使用conda操作,这里不介绍pip uninstall torchpip uninstall torchvision安装安装pytorch前必须保证安装了cuda,这里推荐一个cuda的安装方法https://www.cnblogs.com/arxive/p/11198420.ht
2020-09-15 18:13:28
38615
4
原创 NLP系列项目三:Seq2Seq+Attention完成机器翻译
本项目尽可能复现Luong的attention模型,数据集非常小,只有一万多个句子的训练数据,所以训练出来的模型效果并不好,但基本实现了功能。如果想训练一个好一点的模型,可以参考下面的资料。课件cs224d论文Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine TranslationEffective Approaches to Attention-based Neural Mac
2020-08-30 09:58:07
1628
2
原创 NLP系列项目二:RNN训练语言模型(pytorch完整代码)
训练语言模型用RNN,LSTM,GRU来训练一个语言模型,用于预测单词的下一个词torchtext基本用法构建 vocabularyword to index 和 index to wordtorch.nn的一些基本模型LinearRNNLSTMGRURNN的训练技巧Gradient Clipping保存和读取模型torchtext介绍和使用教程import torchimport torch.nn as nnimport torchtextfrom tor
2020-08-15 18:12:07
3920
1
原创 NLP系列项目一:skip-gram方法训练词向量(pytorch完整代码)
skip-gram方法训练词向量(pytorch完整代码)欢迎移步小弟GitHub查看完整代码和训练使用的数据集https://github.com/lyj157175/My_NLP_projects尝试复现论文Distributed Representations of Words and Phrases and their Compositionality中训练词向量的方法. 实现Skip-gram模型,并且使用论文中noice contrastive sampling的目标函数。这篇论文有很多模
2020-08-14 18:14:01
2947
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人