def test_disable_gpu_acceleration(): """ Ensure xlogit properly disables GPU and uses numpy """ device.disable_gpu_acceleration() assert not device.using_gpu assert device.np.__name__ == 'numpy'
# -*- coding: utf-8 -*- import numpy as np import pytest from xlogit import MixedLogit from xlogit import device device.disable_gpu_acceleration() # Setup data used for tests X = np.array([[2, 1], [1, 3], [3, 1], [2, 4], [2, 1], [2, 4]]) y = np.array([0, 1, 0, 1, 0, 1]) ids = np.array([1, 1, 2, 2, 3, 3]) alts = np.array([1, 2, 1, 2, 1, 2]) panels = np.array([1, 1, 1, 1, 2, 2]) varnames = ["a", "b"] randvars = {'a': 'n', 'b': 'n'} N, J, K, R = 3, 2, 2, 5 def test__balance_panels(): """ Ensures that unbalanced panels are properly balanced when required """ X_, y_ = X.reshape(N, J, K), y.reshape(N, J, 1) model = MixedLogit() X_, y_, panel_info = model._balance_panels(X_, y_, panels) assert np.array_equal(panel_info, np.array([[1, 1], [1, 0]])) assert X_.shape == (4, 2, 2) def test_log_likelihood():