0. 摘要
本文主要描述如何搭建一个RNN的基本训练架构.主要从如何读取CSV文件中的数据,构建数据管道. 如何搭建模型,如何在主函数中开启训练.
未完,待更新
1. RNN的基础知识
一个最简单的RNN结构展开图, X(t)表示循环神经网络在时刻t的输入,H是循环神经网络的主体结构,循环的过程就是H被不断执行的过程.O(t)代表t时刻循环神经网路的输出.
简单描述一下具体的过程:
在t时刻,H会读取输入层的输入x(t),并输出一个值O(t),同时H的状态值会从当前步传递到下一步.
也就是讲:H的输入除了来自输入层的输入x(t),还依赖于上一时刻的H(t-1).
一般情况下,输入层的x为下图所示:
为了研究方便,下文的叙述令in_putsize = 1.下面使用
2. 一个RNN小实验
2.1 数据集准备
链接:https://pan.baidu.com/s/1HorFNE5mlDgAvFXU6_JXfQ
提取码:x521
train_data: 里面包含6列数据, 每一行作为一个训练输入, 其对应的输出在train_label所对应的行.
train_label: 里面包含1列数据
2.2 设计设计pytorch的数据管道
设计dataloader data_loader.py
import torch
import numpy as np
class ImageFolder(torch.utils.data.Dataset):
def __init__(self, train_data):
self.data_