概述
上一篇中使用BiLSTM-Attention模型进行关系抽取,因为只放出了较为核心的代码,所以看上去比较混乱。这篇以简单的文本分类为demo,基于pytorch,全面解读BiLSTM-Attention。
文本分类实战
整体构建
首先,我们导入需要的包,包括模型,优化器,梯度求导等,将数据类型全部转化成tensor类型
import numpy as np
import torch
import torch.nn as nn
import torch.optim as optim
from
1、Tensor
与tensorflow相同,在pytorch框架中,同样使用张量(tensor)来传输数据。我们可以对tensor的维度进行自定义,如果图像转化为tensor,那么一般来说我们需要将图像先转类型为numpy(此时数据维度为N x H x W X C,即数量x高x宽x通道数),然后再使用toTensor()将数据维度转变为N x C x H x W,因为在训练中,需要将通道数提到前面。同时,需要特别注意的是,在训练网络中,图像转为tensor后的数据类型一般会是float或是ui
之前学习深度学习算法,都是使用网上现成的数据集,而且都有相应的代码。到了自己开始写论文做实验,用到自己的图像数据集的时候,才发现无从下手 ,相信很多新手都会遇到这样的问题。
参考文章https://www.jb51.net/article/177613.htm
下面代码实现了从文件夹内读取所有图片,进行归一化和标准化操作并将图片转化为tensor。最后读取第一张图片并显示。
# 数据处理
import os
import torch
from torch.utils import data
f