(model, data, batch_size, seq_length, dev, inputs, labels)
| 195 | |
| 196 | |
| 197 | def evaluate(model, data, batch_size, seq_length, dev, inputs, labels): |
| 198 | model.eval() |
| 199 | val_loss = 0.0 |
| 200 | for b in range(data.num_test_batch): |
| 201 | batch = data.val_dat[b * batch_size:(b + 1) * batch_size] |
| 202 | inputs, labels = convert(batch, batch_size, seq_length, data.vocab_size, |
| 203 | dev, inputs, labels) |
| 204 | model.reset_states(dev) |
| 205 | y = model(inputs) |
| 206 | loss = autograd.softmax_cross_entropy(y, labels)[0] |
| 207 | val_loss += tensor.to_numpy(loss)[0] |
| 208 | print(' validation loss is %f' % |
| 209 | (val_loss / data.num_test_batch / seq_length)) |
| 210 | |
| 211 | |
| 212 | def train(data, |
no test coverage detected