def test_save_load_weights(): import tempfile tempdir = tempfile.gettempdir() tempfile = os.path.join(tempdir, 'w.json') # tempfile = os.path.join('', 'w.json') dbn1 = DBN([5], random_state=1234) X, y = get_iris() dbn1.fit(X, y) pred1 = dbn1.predict(X) prob1 = dbn1.predict_proba(X) dbn1.save(tempfile) dbn2 = DBN([5]) dbn2.load(tempfile) pred2 = dbn2.predict(X) prob2 = dbn2.predict_proba(X) eq_(dbn1.coef_, dbn2.coef_) for i, layer in enumerate(dbn1.layers): eq_(dbn1.layers[i].W, dbn2.layers[i].W) eq_(pred1, pred2) eq_(prob1, prob2)
def test_sklearn_api(): ''' sklearn API: not functionality ''' dbn = DBN([5]) X, y = get_iris() dbn.fit(X, y) dbn.predict_proba(X) dbn.predict(X)
def test_reproducible(): X, y = get_iris() dbn1 = DBN([5], random_state=123) dbn1.fit(X, y) pred1 = dbn1.predict(X) prob1 = dbn1.predict_proba(X) dbn2 = DBN([5], random_state=123) dbn2.fit(X, y) pred2 = dbn2.predict(X) prob2 = dbn2.predict_proba(X) eq_(dbn1.coef_, dbn2.coef_) eq_(pred1, pred2) eq_(prob1, prob2)
def test_iris_accuracy(): dbn = DBN([25], pretrain_epochs=0, finetune_epochs=10, finetune_batch_size=10, random_state=1) X, y = get_iris() dbn.fit(X, y) acc = (dbn.predict(X) == y).mean() eq_(acc, 0.95333, 5)