def test_ebbi_cpu_equals_gpu(): red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) cpu = ebbi(red, swir, tir, use_cuda=False) gpu = ebbi(red, swir, tir, use_cuda=True) assert np.isclose(cpu, gpu, equal_nan=True).all()
def test_ebbi_cpu(): # vanilla numpy version red_numpy = create_test_arr(red_data) swir_numpy = create_test_arr(swir1_data) tir_numpy = create_test_arr(tir_data) numpy_result = ebbi(red_numpy, swir_numpy, tir_numpy) general_output_checks(red_numpy, numpy_result, ebbi_expected_results) # dask red_dask = create_test_arr(red_data, backend='dask') swir_dask = create_test_arr(swir1_data, backend='dask') tir_dask = create_test_arr(tir_data, backend='dask') dask_result = ebbi(red_dask, swir_dask, tir_dask) general_output_checks(red_dask, dask_result, ebbi_expected_results)
def test_ebbi_gpu(): # cupy red_cupy = create_test_arr(red_data, backend='cupy') swir_cupy = create_test_arr(swir1_data, backend='cupy') tir_cupy = create_test_arr(tir_data, backend='cupy') cupy_result = ebbi(red_cupy, swir_cupy, tir_cupy) general_output_checks(red_cupy, cupy_result, ebbi_expected_results) # dask + cupy red_dask_cupy = create_test_arr(red_data, backend='dask+cupy') swir_dask_cupy = create_test_arr(swir1_data, backend='dask+cupy') tir_dask_cupy = create_test_arr(tir_data, backend='dask+cupy') dask_cupy_result = ebbi(red_dask_cupy, swir_dask_cupy, tir_dask_cupy) general_output_checks(red_dask_cupy, dask_cupy_result, ebbi_expected_results)
def test_ebbi_dask_cupy_equals_numpy(): # vanilla numpy version red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) numpy_result = ebbi(red, swir, tir) # dask + cupy red_dask_cupy = create_test_arr(arr1, backend='dask+cupy') swir_dask_cupy = create_test_arr(arr2, backend='dask+cupy') tir_dask_cupy = create_test_arr(arr3, backend='dask+cupy') test_result = ebbi(red_dask_cupy, swir_dask_cupy, tir_dask_cupy) assert is_dask_cupy(test_result) test_result.data = test_result.data.compute() assert np.isclose(numpy_result, test_result, equal_nan=True).all()
def test_ebbi(): max_val = 2**16 - 1 arr1 = np.array([[max_val, max_val, max_val, max_val], [max_val, 1000.0, 1000.0, max_val], [max_val, 1000.0, 1000.0, max_val], [max_val, 1000.0, 1000.0, max_val], [max_val, max_val, max_val, max_val]], dtype=np.float64) arr2 = np.array( [[100.0, 100.0, 100.0, 100.0], [100.0, max_val, max_val, 100.0], [100.0, max_val, max_val, 100.0], [100.0, max_val, max_val, 100.0], [100.0, 100.0, 100.0, 100.0]], dtype=np.float64) arr3 = np.array([[10.0, 10.0, 10.0, 10.0], [10.0, max_val, max_val, 10.0], [10.0, max_val, max_val, 10.0], [10.0, max_val, max_val, 10.0], [10.0, 10.0, 10.0, 10.0]], dtype=np.float64) red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) result = ebbi(red, swir, tir) assert result.dims == red.dims assert isinstance(result, xa.DataArray) assert result.dims == red.dims
def test_ebbi_dask_equals_numpy(): # vanilla numpy version red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) numpy_result = ebbi(red, swir, tir) # dask red_dask = create_test_arr(arr1, backend='dask') swir_dask = create_test_arr(arr2, backend='dask') tir_dask = create_test_arr(arr3, backend='dask') test_result = ebbi(red_dask, swir_dask, tir_dask) assert isinstance(test_result.data, da.Array) test_result.data = test_result.data.compute() assert np.isclose(numpy_result, test_result, equal_nan=True).all()
def test_ebbi_cupy_equals_numpy(): import cupy # vanilla numpy version red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) numpy_result = ebbi(red, swir, tir) # cupy red_dask = create_test_arr(arr1, backend='cupy') swir_dask = create_test_arr(arr2, backend='cupy') tir_dask = create_test_arr(arr3, backend='cupy') test_result = ebbi(red_dask, swir_dask, tir_dask) assert isinstance(test_result.data, cupy.ndarray) assert np.isclose(numpy_result, test_result, equal_nan=True).all()
def test_ebbi_numpy(): red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) numpy_result = ebbi(red, swir, tir) assert numpy_result.dims == red.dims assert isinstance(numpy_result, xa.DataArray) assert numpy_result.dims == red.dims
def test_ebbi(): red = create_test_arr(arr1) swir = create_test_arr(arr2) tir = create_test_arr(arr3) result = ebbi(red, swir, tir, use_cuda=False) assert result.dims == red.dims assert isinstance(result, xa.DataArray) assert result.dims == red.dims
def test_ebbi_numpy(): red = create_test_arr(arr1) # add crs for tests red = _add_EPSG4326_crs_to_da(red) swir = create_test_arr(arr2) tir = create_test_arr(arr3) numpy_result = ebbi(red, swir, tir) assert numpy_result.dims == red.dims assert isinstance(numpy_result, xa.DataArray) assert numpy_result.dims == red.dims # crs tests assert numpy_result.attrs == red.attrs for coord in red.coords: assert np.all(numpy_result[coord] == red[coord])
def time_ebbi(self, nx, type): ebbi(self.red, self.swir1, self.tir)
def test_ebbi_gpu(red_data, swir1_data, tir_data, result_ebbi): result = ebbi(red_data, swir1_data, tir_data) general_output_checks(red_data, result, result_ebbi)