Pytorch学习笔记(五)

本文是Pytorch学习笔记的第五部分,主要讲解如何在Pytorch中使用LSTM。根据官方文档,Pytorch中RNN输入、隐藏层状态及输出的形状与Tensorflow和Keras有所不同,强调了shape的具体维度配置,并提供了运行示例。
摘要由CSDN通过智能技术生成

9)在Pytorch中使用LSTM
学习Pytorch的RNN使用时最好去官方文档看一下API是如何使用的:(http://pytorch.org/docs/nn.html#recurrent-layers)。一个需要注意的地方是在Pytorch中RNN的输入input的shape的三维分别是 (seq_len, batch, input_size),隐藏层h_0的shape三维分别是 (num_layers * num_directions, batch, hidden_size),输出output的shape三维分别是 (seq_len, batch, hidden_size * num_directions),这与之前使用的Tensorflow和Keras将batch作为第一维有点不太一样。

import torch
import torch.autograd as autograd
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F

def prepare_sequence(seq, to_ix):
    idxs = [to_ix[w] for w in seq]
    tensor = torch.LongTensor(idxs)
    return autograd.Variable(tensor)


training_data = [
    ("The dog ate the apple".split(), ["DET", "NN", "V", 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值