def test_torch_rnn_classifier_cheese_disease(cheese_disease_dataset): mod = torch_rnn_classifier.TorchRNNClassifier( vocab=cheese_disease_dataset['vocab'], embed_dim=20, hidden_dim=20, max_iter=20) mod.fit(cheese_disease_dataset['X_train'], cheese_disease_dataset['y_train']) pred = mod.predict(cheese_disease_dataset['X_test']) assert accuracy_score(cheese_disease_dataset['y_test'], pred) > 0.80
def test_torch_rnn_classifier_incremental(X_sequence): train, test, vocab = X_sequence model = torch_rnn_classifier.TorchRNNClassifier(vocab=vocab, max_iter=100) X, y = zip(*train) X_test, _ = zip(*test) model.fit(X, y, X_dev=X_test, dev_iter=20) epochs = list(model.dev_predictions.keys()) assert epochs == list(range(20, 101, 20)) assert all(len(v) == len(X_test) for v in model.dev_predictions.values())
def test_torch_rnn_classifier(X_sequence): """Just makes sure that this code will run; it doesn't check that it is creating good models. """ train, test, vocab = X_sequence mod = torch_rnn_classifier.TorchRNNClassifier(vocab=vocab, max_iter=100) X, y = zip(*train) X_test, _ = zip(*test) mod.fit(X, y) mod.predict(X_test) mod.predict_proba(X_test)
def test_torch_rnn_classifier_save_load(X_sequence): train, test, vocab = X_sequence mod = torch_rnn_classifier.TorchRNNClassifier(vocab=vocab, max_iter=2) X, y = zip(*train) X_test, _ = zip(*test) mod.fit(X, y) mod.predict(X) with tempfile.NamedTemporaryFile(mode='wb') as f: name = f.name mod.to_pickle(name) mod2 = torch_rnn_classifier.TorchRNNClassifier.from_pickle(name) mod2.predict(X_test) mod2.fit(X, y)
acc = np_sgd_classifier.simple_example() assert acc >= 0.89 @pytest.mark.parametrize("model, params", [ [ np_sgd_classifier.BasicSGDClassifier(max_iter=10, eta=0.1), {'max_iter': 100, 'eta': 1.0} ], [ np_rnn_classifier.RNNClassifier( vocab=[], max_iter=10, hidden_dim=5, eta=0.1), {'hidden_dim': 10, 'eta': 1.0, 'max_iter': 100} ], [ torch_rnn_classifier.TorchRNNClassifier( vocab=[], max_iter=10, hidden_dim=5, eta=0.1), { 'hidden_dim': 10, 'eta': 1.0, 'max_iter': 100, 'l2_strength': 0.01, 'embed_dim': 100, 'bidirectional': False } ], [ np_tree_nn.TreeNN( vocab=[], max_iter=10, hidden_dim=5, eta=0.1), {'embed_dim': 5, 'hidden_dim': 10, 'eta': 1.0, 'max_iter': 100} ], [