Hi,

I applied LSTM as input CNN feaures. I observed until 10 epochs but the loss value does not decrease.It is usually around 1.60(loss value).

I did not find where is problem.Please help me .

I have to set 1 to mini-batch size ,because of

cuda runtime error (2) : out of memory

I have 5 classes and total number of video is 300.The videos are different length.And max length is 600.

Lr : 1e-4

Lstm-layers : 1

Hidden size: 512

Fc-size: 1024

I scaled down hidden size to 64, but result there is no change.

```
def __init__(self, original_model, arch, num_classes, lstm_layers, hidden_size, fc_size):
super(LSTMModel, self).__init__()
self.hidden_size = hidden_size
self.num_classes = num_classes
self.fc_size = fc_size
if arch.startswith('resnet50'):
self.features = nn.Sequential(*list(original_model.children())[:-1])
for i, param in enumerate(self.features.parameters()):
param.requires_grad = False
self.fc_pre = nn.Sequential(nn.Linear(2048, fc_size), nn.Dropout())
self.rnn = nn.LSTM(input_size = fc_size,
hidden_size = hidden_size,
num_layers = lstm_layers,
batch_first = True)
self.fc = nn.Linear(hidden_size, num_classes)
else:
raise Exception("This architecture has not been supported yet")
def init_hidden(self, num_layers, batch_size):
return (torch.zeros(num_layers, batch_size, self.hidden_size).cuda(),
torch.zeros(num_layers, batch_size, self.hidden_size).cuda())
def forward(self, inputs, hidden=None, steps=0):
length = len(inputs)
fs = torch.zeros(inputs[0].size(0), length, self.rnn.input_size).cuda()
for i in range(length):
f = self.features(inputs[i])
f = f.view(f.size(0), -1)
f = self.fc_pre(f)
fs[:, i, :] = f
outputs, hidden = self.rnn(fs, hidden)
outputs = self.fc(outputs)
return outputs
```