
PyTorch实战
文章平均质量分 52
布拉拉巴卜拉
迎着光奔跑,爱吉他的梦想家
展开
-
PyTorch实战(X) - - 神经网络常见细节技巧
神经网络常见细节技巧定义模型时:initrange = 0.5 / self.embed_size self.out_embed = nn.Embedding(self.vocab_size, self.embed_size, sparse=False) self.out_embed.weight.data.uniform_(-initrange, initrange) //权重初始化的一种方法torch.bmm()为batch间的矩阵相乘(b,n,m)*(b,m,原创 2020-08-14 11:45:45 · 888 阅读 · 0 评论 -
项目实战(七) - - 机器翻译(二)Seq2Seq+Attention
PyTorch实战 - - 机器翻译(二)Seq2Seq+Attention1. 任务概述2. 算法流程3. 代码实现与解析1. 任务概述在上篇Seq2Seq的文章中我们介绍了怎么用encoder-decoder框架实现机器翻译任务,现在加上注意力机制2. 算法流程Encoder(x,x_len):return encoder_output,encoder_hidContext=encoder_output,context_len=x_lenDecoder(Context,context_le原创 2020-08-03 09:13:57 · 758 阅读 · 0 评论 -
项目实战(六) - - 机器翻译(一)Seq2Seq
PyTorch实战(六) - - 机器翻译(一)Seq2Seq1. 任务概述2. 算法流程3. 代码实现与解析1. 任务概述实现英文句子翻译成中文句子,除了机器翻译,seq2seq其实可以用在很多地方,例如自动对话机器人,文档摘要自动生成,图片描述自动生成等任务2. 算法流程①读取数据(英文句子,中文句子)②构建单词表、词编码③构造batch:按长度排序,每个batch内句长相似,pad补齐④定义模型⑤定义损失与优化⑥训练与评估3. 代码实现与解析读入中英文数据:[‘BOS’]+[t原创 2020-08-02 22:29:51 · 1161 阅读 · 0 评论 -
项目实战(五) - - 用三种神经网络实现文本分类(AVG/RNN/CNN)
PyTorch实战(五) - - 文本分类1. 任务概述2. 算法步骤3. 代码实现与解析3.1 Word Averaging模型3.2 RNN模型3.3 CNN模型1. 任务概述2. 算法步骤3. 代码实现与解析导入相关包数据预处理(分词,语料库,词编码)TEXT=data.Field(tokenize=tokenizer)LABEL = data.LabelField(dtype=torch.float)train_data,test_data=datasets.IMDB.split原创 2020-08-02 18:04:46 · 865 阅读 · 0 评论 -
项目实战(四) - - LSTM实现语言模型
PyTorch实战(四) - - 语言模型1. 任务概述2. 算法步骤3. 代码实现与解析3.1 导入相关包3.2 构造训练数据集3.3 定义模型3.4 定义loss function和optimizer3.5 训练步骤3.6 测试3.7 句子生成1. 任务概述根据上下文语境基于概率预测下一个词,通过对网络训练一定程度后,最后的模型参数可当成词向量使用2. 算法步骤构造数据集定义模型Layers:Embedding,LSTM,Linear训练与评估Loss:CrossEntropyLoss原创 2020-08-02 17:43:33 · 1033 阅读 · 0 评论 -
项目实战(三) - - 实现词向量模型Word2vec
PyTorch实战 - - 词向量Word2vec1. 词向量模型--Word2vec2. 两种网络结构2.1 CBOW2.1.1 算法任务2.1.2 算法步骤2.2 Skip-gram2.2.1 算法任务2.2.2 算法步骤3. 如何优化4. 代码实现与解析4.1 导入相关包4.2 数据预处理4.3 定义Dataset与DataLoader4.4 定义模型4.5 训练4.6 Evaluate4.7 test -- 求最相似的n个词5. Word2Vec存在的问题在自然语言处理应用中,词向量作为深度学习原创 2020-08-01 11:10:28 · 1252 阅读 · 1 评论 -
项目实战(二) - - 搭建简单神经网络
PyTorch实战(二) - - 搭建简单神经网络1. PyTorc项目流程:2. 项目代码及解析1. PyTorc项目流程:①数据读取、转换、加载②将批量数据传入网络③计算损失④梯度清零⑤反向传播计算梯度2. 项目代码及解析// 导入相关包import torchimport torch.nn as nn// 随机创建一些训练数据N,D_in,H,D_out=64,1000,100,10x=torch.randn(N,D_in)y=torch.randn(N,D_out)原创 2020-07-31 18:58:01 · 391 阅读 · 0 评论 -
项目实战(一) - - PyTorch简介
PyTorch实战(一) - - PyTorch简介1. 为什么选择选择PyTorch?2. PyTorch安装验证3. 常用PyTorch库:3.1. 常用网络层3.2. 常用激活函数3.3. 常用损失函数4. PyTorch项目流程5. CUDA简介6. 张量1. 为什么选择选择PyTorch?①用途: PyTorch的计算图是动态的,而其他框架通常是静态的,许多深度学习领域的前沿研究都需要动态图或从动态图中获益 (计算图是用于描绘神经网络中张量的函数操作,通常用于计算优化神经网络权重所需的导数)原创 2020-07-31 18:48:50 · 819 阅读 · 0 评论