『TensotFlow』RNN中文文本_上】的更多相关文章

中文文字预处理流程 文本处理 读取+去除特殊符号 按照字段长度排序 辅助数据结构生成 生成 {字符:出现次数} 字典 生成按出现次数排序好的字符list 生成 {字符:序号} 字典 生成序号list 文本预处理生成字典是需要去重的,一般的思路是使用set数据结构来达成,不过这里使用的是collection.Counter,可以去重还能计数 这里的文本以全唐诗为例,一般一行为1首,目的是去掉作者,生成为“[诗主体]”的格式作为RNN输入,为了保证等长,引入字符“_”在后续处理中为长度不够的诗句补齐…
承前 接上节代码『TensotFlow』RNN中文文本_上, import numpy as np import tensorflow as tf from collections import Counter poetry_file = 'poetry.txt' poetrys = [] with open(poetry_file, 'r', encoding='utf-8') as f: for line in f: try: title, content = line.strip().sp…
往期RNN相关工程实践文章 『TensotFlow』基础RNN网络分类问题 『TensotFlow』RNN中文文本_上 『TensotFlow』基础RNN网络回归问题 『TensotFlow』RNN中文文本_下_暨研究生开学感想 张量分析 预处理结果是二维数据,相当于batch条一维数据,每个数据对应一首诗,每个字是一个scalar: embedding之后,将每个字映射为一个rnn_size大小的向量,数据变为三维: 经过递归神经网络,输出维度不变: 将之调整为二维数据,这里面第二维度(即每一…
RNN基础: 『cs231n』作业3问题1选讲_通过代码理解RNN&图像标注训练 TensorFlow RNN: 『TensotFlow』基础RNN网络分类问题 『TensotFlow』基础RNN网络回归问题 『TensotFlow』深层循环神经网络 『TensotFlow』LSTM古诗生成任务总结 对于torch中的RNN相关类,有原始和原始Cell之分,其中RNN和RNNCell层的区别在于前者一次能够处理整个序列,而后者一次只处理序列中一个时间点的数据,前者封装更完备更易于使用,后者更具灵…
『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 # Author : Hellcat # Time : 2018/2/11 import torch as t import torch.nn as nn import torch.nn.functional as F class LeNet(nn.Module): def __init__(self): super(LeNet,self).__init__() self.conv1 = nn.Conv2d(3, 6, 5)…
首更: 由于TensorFlow的奇怪形式,所以载入保存的是sess,把会话中当前激活的变量保存下来,所以必须保证(其他网络也要求这个)保存网络和载入网络的结构一致,且变量名称必须一致,这是caffe...好吧,caffe也没有这种python风格的设定... 废话少说,导入包: import numpy as np import tensorflow as tf 保存会话: W = tf.Variable([[1,2,3],[4,5,6]],dtype=tf.float32) b = tf.V…
概述 LSTM是RNN的增强版,1.RNN能完成的工作LSTM也都能胜任且有更好的效果:2.LSTM解决了RNN梯度消失或爆炸的问题,进而可以具有比RNN更为长时的记忆能力.LSTM网络比较复杂,而恰好找到一篇不错的介绍文章,和课程的讲述范围差不多,所以这里摘下来(自己截图记录好麻烦),另外找到一篇推了公式的LSTM介绍,这个cs231n的课程并没有涉及,我暂时也不做这方面的研究,不过感觉内容不错,链接记下来以备不时之需. 本篇原文链接 RNN以及LSTM的介绍和公式梳理 按照老师的说法,LST…
一.Gluon数据加载 下面的两个dataset处理类一般会成对出现,两个都可做预处理,但是由于后面还可能用到原始图片,.ImageFolderDataset不加预处理的话可以满足,所以建议在.DataLoader预处理 图片数据(含标签)加载函数:gluon.data.vision.ImageFolderDataset .synsets,标签名列表list,因为实际存储位置是数字 .__len__ 给出ImageFolderDataset类的描述, Init signature: mxnet.…
在PyTorch中计算图的特点可总结如下: autograd根据用户对variable的操作构建其计算图.对变量的操作抽象为Function. 对于那些不是任何函数(Function)的输出,由用户创建的节点称为叶子节点,叶子节点的grad_fn为None.叶子节点中需要求导的variable,具有AccumulateGrad标识,因其梯度是累加的. variable默认是不需要求导的,即requires_grad属性默认为False,如果某一个节点requires_grad被设置为True,那…
总结一下相关概念: torch.Tensor - 一个近似多维数组的数据结构 autograd.Variable - 改变Tensor并且记录下来操作的历史记录.和Tensor拥有相同的API,以及backward()的一些API.同时包含着和张量相关的梯度 nn.Module - 神经网络模块,便捷的数据封装,能够将运算移往GPU,还包括一些输入输出的东西 nn.Parameter - 一种变量(Variable),当将任何值赋予Module时自动注册为一个参数 autograd.Functi…