def test_feature_extraction(device_id): if cntk_device(device_id).type() != DeviceKind_GPU: pytest.skip('test only runs on GPU') # due to batch normalization in ResNet_18 try_set_default_device(cntk_device(device_id)) base_path = os.path.dirname(os.path.abspath(__file__)) externalData = 'CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY' in os.environ if externalData: extPath = os.environ['CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY'] print("Reading data and model from %s" % extPath) model_file = os.path.join(extPath, *"PreTrainedModels/ResNet/v1/ResNet_18.model".split("/")) map_file = os.path.join(extPath, *"Image/CIFAR/v0/cifar-10-batches-py/test_map.txt".split("/")) else: model_file = os.path.join(base_path, *"../../../../PretrainedModels/ResNet_18.model".split("/")) map_file = os.path.join(base_path, *"../../../../Examples/Image/DataSets/CIFAR-10/test_map.txt".split("/")) original_dir = os.curdir try: os.chdir(os.path.join(os.path.dirname(map_file), '..')) minibatch_source = create_mb_source(224, 224, 3, map_file) node_name = "z.x" output_file = os.path.join(base_path, "layerOutput.txt") eval_and_write(model_file, node_name, output_file, minibatch_source, num_objects=2) expected_output_file = os.path.join(base_path, "feature_extraction_expected_output.txt") output = np.fromfile(output_file) expected_output = np.fromfile(expected_output_file) assert np.allclose(output, expected_output, atol=TOLERANCE_ABSOLUTE) finally: os.chdir(original_dir)
def test_feature_extraction(device_id): if cntk_device(device_id).type() != DeviceKind_GPU: pytest.skip('test only runs on GPU') # due to batch normalization in ResNet_18 try_set_default_device(cntk_device(device_id)) base_path = os.path.dirname(os.path.abspath(__file__)) externalData = 'CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY' in os.environ if externalData: extPath = os.environ['CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY'] print("Reading data and model from %s" % extPath) model_file = os.path.join(extPath, *"PreTrainedModels/ResNet/v1/ResNet_18.model".split("/")) map_file = os.path.join(extPath, *"Image/CIFAR/v0/cifar-10-batches-py/test_map.txt".split("/")) else: model_file = os.path.join(base_path, *"../../../../Examples/Image/PretrainedModels/ResNet_18.model".split("/")) map_file = os.path.join(base_path, *"../../../../Examples/Image/DataSets/CIFAR-10/test_map.txt".split("/")) original_dir = os.curdir try: os.chdir(os.path.join(os.path.dirname(map_file), '..')) minibatch_source = create_mb_source(224, 224, 3, map_file) node_name = "z.x" output_file = os.path.join(base_path, "layerOutput.txt") eval_and_write(model_file, node_name, output_file, minibatch_source, num_objects=2) expected_output_file = os.path.join(base_path, "feature_extraction_expected_output.txt") output = np.fromfile(output_file) expected_output = np.fromfile(expected_output_file) assert np.allclose(output, expected_output, atol=TOLERANCE_ABSOLUTE) finally: os.chdir(original_dir)