File size: 4,051 Bytes
580baa9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | ---
license: mit
---
# test rnn
The Models in test rnn is for [Huggingface Candle PR#2542](https://github.com/huggingface/candle/pull/2542) as example test cases.
Test models are refered to Pytorch [LSTM](https://pytorch.org/docs/stable/generated/torch.nn.LSTM.html) and [GRU](https://pytorch.org/docs/stable/generated/torch.nn.GRU.html).
Test models are generated by the following codes:
- lstm_test.pt: A simple LSTM model with 1 layer.
```python
import torch
import torch.nn as nn
rnn = nn.LSTM(10, 20, num_layers=1, batch_first=True)
input = torch.randn(5, 3, 10)
output, (hn, cn) = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
state_dict['cn'] = cn
torch.save(state_dict, "lstm_test.pt")
```
- gru_test.pt: A simple GRU model with 1 layer.
```python
import torch
import torch.nn as nn
rnn = nn.GRU(10, 20, num_layers=1, batch_first=True)
input = torch.randn(5, 3, 10)
output, hn = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
torch.save(state_dict, "gru_test.pt")
```
- bi_lstm_test.pt: A bidirectional LSTM model with 1 layer.
```python
import torch
import torch.nn as nn
rnn = nn.LSTM(10, 20, num_layers=1, bidirectional=True, batch_first=True)
input = torch.randn(5, 3, 10)
output, (hn, cn) = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
state_dict['cn'] = cn
torch.save(state_dict, "bi_lstm_test.pt")
```
- bi_gru_test.pt: A bidirectional GRU model with 1 layer.
```python
import torch
import torch.nn as nn
rnn = nn.GRU(10, 20, num_layers=1, bidirectional=True, batch_first=True)
input = torch.randn(5, 3, 10)
output, hn = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
torch.save(state_dict, "bi_gru_test.pt")
```
- lstm_nlayer_test.pt: A LSTM model with 3 layers.
```python
import torch
import torch.nn as nn
rnn = nn.LSTM(10, 20, num_layers=3, batch_first=True)
input = torch.randn(5, 3, 10)
output, (hn, cn) = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
state_dict['cn'] = cn
torch.save(state_dict, "lstm_nlayer_test.pt")
```
- bi_lstm_nlayer_test.pt: A bidirectional LSTM model with 3 layers.
```python
import torch
import torch.nn as nn
rnn = nn.LSTM(10, 20, num_layers=3, bidirectional=True, batch_first=True)
input = torch.randn(5, 3, 10)
output, (hn, cn) = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
state_dict['cn'] = cn
torch.save(state_dict, "bi_lstm_nlayer_test.pt")
```
- gru_nlayer_test.pt: A GRU model with 3 layers.
```python
import torch
import torch.nn as nn
rnn = nn.GRU(10, 20, num_layers=3, batch_first=True)
input = torch.randn(5, 3, 10)
output, hn = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
torch.save(state_dict, "gru_nlayer_test.pt")
```
- bi_gru_nlayer_test.pt: A bidirectional GRU model with 3 layers.
```python
import torch
import torch.nn as nn
rnn = nn.GRU(10, 20, num_layers=3, bidirectional=True, batch_first=True)
input = torch.randn(5, 3, 10)
output, hn = rnn(input)
state_dict = rnn.state_dict()
state_dict['input'] = input
state_dict['output'] = output.contiguous()
state_dict['hn'] = hn
torch.save(state_dict, "bi_gru_nlayer_test.pt")
```
|