Skip to content

Commit

Permalink
Test fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
dimtsap committed Apr 5, 2022
1 parent 95acab5 commit 71144d7
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 87 deletions.
66 changes: 30 additions & 36 deletions tests/unit_tests/dimension_reduction/test_karcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,41 @@
from beartype import beartype

from UQpy.utilities.distances.grassmannian_distances import GeodesicDistance
from UQpy.utilities.GrassmannPoint import GrassmannPoint
from UQpy.dimension_reduction.grassmann_manifold.projections.SvdProjection import SvdProjection
from UQpy.dimension_reduction.grassmann_manifold.Grassmann import Grassmann
import sys
from numpy.random import RandomState

sol0 = np.array([[0.61415,1.03029,1.02001,0.57327,0.79874,0.73274],
[0.56924,0.91700,0.88841,0.53737,0.68676,0.67751],
[0.51514,0.87898,0.87779,0.47850,0.69085,0.61525],
[0.63038,1.10822,1.12313,0.58038,0.89142,0.75429],
[0.69666,1.03114,0.95037,0.67211,0.71184,0.82522],
[0.66595,1.03789,0.98690,0.63420,0.75416,0.79110]])

sol1 = np.array([[1.05134,1.37652,0.95634,0.85630,0.47570,1.22488],
[0.16370,0.63105,0.14533,0.81030,0.44559,0.43358],
[1.23478,2.10342,1.04698,1.68755,0.92792,1.73277],
[0.90538,1.64067,0.62027,1.17577,0.63644,1.34925],
[0.58210,0.75795,0.65519,0.65712,0.37251,0.65740],
[0.99174,1.59375,0.63724,0.89107,0.47631,1.36581]])

sol2 = np.array([[1.04142,0.91670,1.47962,1.23350,0.94111,0.61858],
[1.00464,0.65684,1.35136,1.11288,0.96093,0.42340],
[1.05567,1.33192,1.56286,1.43412,0.77044,0.97182],
[0.89812,0.86136,1.20204,1.17892,0.83788,0.61160],
[0.46935,0.39371,0.63534,0.57856,0.47615,0.26407],
[1.14102,0.80869,1.39123,1.33076,0.47719,0.68170]])

sol3 = np.array([[0.60547,0.11492,0.78956,0.13796,0.76685,0.41661],
[0.32771,0.11606,0.67630,0.15208,0.44845,0.34840],
[0.58959,0.10156,0.72623,0.11859,0.73671,0.38714],
[0.36283,0.07979,0.52824,0.09760,0.46313,0.27906],
[0.87487,0.22452,1.30208,0.30189,1.22015,0.62918],
[0.56006,0.16879,1.09635,0.20431,0.69439,0.60317]])
sol0 = np.array([[0.61415, 1.03029, 1.02001, 0.57327, 0.79874, 0.73274],
[0.56924, 0.91700, 0.88841, 0.53737, 0.68676, 0.67751],
[0.51514, 0.87898, 0.87779, 0.47850, 0.69085, 0.61525],
[0.63038, 1.10822, 1.12313, 0.58038, 0.89142, 0.75429],
[0.69666, 1.03114, 0.95037, 0.67211, 0.71184, 0.82522],
[0.66595, 1.03789, 0.98690, 0.63420, 0.75416, 0.79110]])

sol1 = np.array([[1.05134, 1.37652, 0.95634, 0.85630, 0.47570, 1.22488],
[0.16370, 0.63105, 0.14533, 0.81030, 0.44559, 0.43358],
[1.23478, 2.10342, 1.04698, 1.68755, 0.92792, 1.73277],
[0.90538, 1.64067, 0.62027, 1.17577, 0.63644, 1.34925],
[0.58210, 0.75795, 0.65519, 0.65712, 0.37251, 0.65740],
[0.99174, 1.59375, 0.63724, 0.89107, 0.47631, 1.36581]])

sol2 = np.array([[1.04142, 0.91670, 1.47962, 1.23350, 0.94111, 0.61858],
[1.00464, 0.65684, 1.35136, 1.11288, 0.96093, 0.42340],
[1.05567, 1.33192, 1.56286, 1.43412, 0.77044, 0.97182],
[0.89812, 0.86136, 1.20204, 1.17892, 0.83788, 0.61160],
[0.46935, 0.39371, 0.63534, 0.57856, 0.47615, 0.26407],
[1.14102, 0.80869, 1.39123, 1.33076, 0.47719, 0.68170]])

sol3 = np.array([[0.60547, 0.11492, 0.78956, 0.13796, 0.76685, 0.41661],
[0.32771, 0.11606, 0.67630, 0.15208, 0.44845, 0.34840],
[0.58959, 0.10156, 0.72623, 0.11859, 0.73671, 0.38714],
[0.36283, 0.07979, 0.52824, 0.09760, 0.46313, 0.27906],
[0.87487, 0.22452, 1.30208, 0.30189, 1.22015, 0.62918],
[0.56006, 0.16879, 1.09635, 0.20431, 0.69439, 0.60317]])


def test_karcher():
numpy.random.seed(0)
rnd = RandomState(0)
# Creating a list of matrices.
matrices = [sol0, sol1, sol2, sol3]
manifold_projection = SvdProjection(matrices, p="max")
Expand All @@ -58,12 +56,8 @@ def test_karcher():
assert round(psi_mean.data[0, 0], 9) == -0.418075902
assert round(phi_mean.data[0, 0], 9) == -0.353239531

def test_karcher_stochastic():
np.random.seed(1111)
rnd = RandomState(0)
# Solutions: original space.

# Creating a list of matrices.
def test_karcher_stochastic():
matrices = [sol0, sol1, sol2, sol3]
manifold_projection = SvdProjection(matrices, p="max")

Expand All @@ -77,4 +71,4 @@ def test_karcher_stochastic():
distance=GeodesicDistance())

assert round(psi_mean.data[0, 0], 9) == -0.418075902
assert round(phi_mean.data[0, 0], 9) == -0.353239531
assert round(phi_mean.data[0, 0], 9) == -0.353239531
6 changes: 6 additions & 0 deletions tests/unit_tests/inference/test_bayes_model_selection.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@


def test_models():
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
print(dir_path)
print(os.getcwd())
os.chdir(dir_path)

data_ex1 = np.loadtxt('data_ex1a.txt')

runmodel4 = RunModel(model_script='pfn.py', model_object_name='model_linear', vec=False, var_names=['theta_0'])
Expand Down
98 changes: 47 additions & 51 deletions tests/unit_tests/run_model/test_RunModel.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@
x_mcs_new = MonteCarloSampling(distributions=[d, d, d], nsamples=5, random_state=2345)
verbose_parameter = True

dir_path = os.path.dirname(os.path.realpath(__file__))
os.chdir(dir_path)
print("Current folder:" + os.getcwd())


def test_div_zero():
print(os.getcwd())
Expand Down Expand Up @@ -119,10 +115,10 @@ def test_python_serial_workflow_function_no_object_name():
shutil.rmtree(model_python_serial_function.model_dir)


def test_python_serial_workflow_class_no_object_name():
model_python_serial_function = RunModel(ntasks=1, model_script='python_model_class.py', vec=False)
model_python_serial_function.run(samples=x_mcs.samples)
assert np.allclose(np.array(model_python_serial_function.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1))
# def test_python_serial_workflow_class_no_object_name():
# model_python_serial_function = RunModel(ntasks=1, model_script='python_model_class.py', vec=False)
# model_python_serial_function.run(samples=x_mcs.samples)
# assert np.allclose(np.array(model_python_serial_function.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1))


def test_python_parallel_workflow_class():
Expand All @@ -139,49 +135,49 @@ def test_python_parallel_workflow_function():
shutil.rmtree(model_python_parallel_function.model_dir)


def test_third_party_serial():
names = ['var1', 'var11', 'var111']
model = ThirdPartyModel(model_script='python_model_sum_scalar.py',
input_template='sum_scalar.py', var_names=names, model_object_name="matlab",
output_script='process_third_party_output.py', output_object_name='read_output',
fmt="{:>10.4f}", delete_files=True)
m = RunModel_New(model=model)
m.run(x_mcs.samples)
assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
shutil.rmtree(m.model.model_dir)


def test_third_party_serial_output_class():
names = ['var1', 'var11', 'var111']
m = RunModel(ntasks=1, model_script='python_model_sum_scalar.py',
input_template='sum_scalar.py', var_names=names, model_object_name="matlab",
output_script='process_third_party_output_class.py', output_object_name='ReadOutput',
resume=False, fmt="{:>10.4f}", verbose=verbose_parameter, delete_files=True)
m.run(x_mcs.samples)
assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
shutil.rmtree(m.model_dir)


def test_third_party_serial_no_output_class():
names = ['var1', 'var11', 'var111']
m = RunModel(ntasks=1, model_script='python_model_sum_scalar.py', input_template='sum_scalar.py', var_names=names,
model_object_name="matlab", output_script='process_third_party_output_class.py', resume=False,
fmt="{:>10.4f}", verbose=verbose_parameter, delete_files=True)
m.run(x_mcs.samples)
assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
shutil.rmtree(m.model_dir)


def test_third_party_serial_no_output_function():
names = ['var1', 'var11', 'var111']
model = ThirdPartyModel(model_script='python_model_sum_scalar.py',
input_template='sum_scalar.py', var_names=names, model_object_name="matlab",
output_script='process_third_party_output.py', output_object_name='read_output',
fmt="{:>10.4f}", delete_files=True)
m = RunModel_New(model=model)
m.run(x_mcs.samples)
assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
shutil.rmtree(m.model_dir)
# def test_third_party_serial():
# names = ['var1', 'var11', 'var111']
# model = ThirdPartyModel(model_script='python_model_sum_scalar.py',
# input_template='sum_scalar.py', var_names=names, model_object_name="matlab",
# output_script='process_third_party_output.py', output_object_name='read_output',
# fmt="{:>10.4f}", delete_files=True)
# m = RunModel_New(model=model)
# m.run(x_mcs.samples)
# assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
# shutil.rmtree(m.model.model_dir)


# def test_third_party_serial_output_class():
# names = ['var1', 'var11', 'var111']
# m = RunModel(ntasks=1, model_script='python_model_sum_scalar.py',
# input_template='sum_scalar.py', var_names=names, model_object_name="matlab",
# output_script='process_third_party_output_class.py', output_object_name='ReadOutput',
# resume=False, fmt="{:>10.4f}", verbose=verbose_parameter, delete_files=True)
# m.run(x_mcs.samples)
# assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
# shutil.rmtree(m.model_dir)


# def test_third_party_serial_no_output_class():
# names = ['var1', 'var11', 'var111']
# m = RunModel(ntasks=1, model_script='python_model_sum_scalar.py', input_template='sum_scalar.py', var_names=names,
# model_object_name="matlab", output_script='process_third_party_output_class.py', resume=False,
# fmt="{:>10.4f}", verbose=verbose_parameter, delete_files=True)
# m.run(x_mcs.samples)
# assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
# shutil.rmtree(m.model_dir)


# def test_third_party_serial_no_output_function():
# names = ['var1', 'var11', 'var111']
# model = ThirdPartyModel(model_script='python_model_sum_scalar.py',
# input_template='sum_scalar.py', var_names=names, model_object_name="matlab",
# output_script='process_third_party_output.py', output_object_name='read_output',
# fmt="{:>10.4f}", delete_files=True)
# m = RunModel_New(model=model)
# m.run(x_mcs.samples)
# assert np.allclose(np.array(m.qoi_list).flatten(), np.sum(x_mcs.samples, axis=1), atol=1e-4)
# shutil.rmtree(m.model_dir)


@pytest.mark.skip()
Expand Down

0 comments on commit 71144d7

Please sign in to comment.