Пример #1
0
def test_create_pair_summaries(patched_dataset_reading):
    provider = patched_dataset_reading.param
    run_data = gen.run_data(model=FakeModel(data_provider=provider()))
    dir_with_pair_summaries = filenames.get_run_logs_data_dir(
        run_data) / 'features'
    assert utils.check_filepath(dir_with_pair_summaries, exists=False)

    image_summaries.create_pair_summaries(run_data)

    assert utils.check_filepath(dir_with_pair_summaries,
                                is_directory=True,
                                is_empty=False)
    assert len(list(dir_with_pair_summaries.iterdir())) == 1
Пример #2
0
def test_should_create_pair_board_for_different_datasets(
        fake_dataset: DictsDataset):
    infer_results_image_path = filenames._get_home_infer_dir() / "board.png"
    assert utils.check_filepath(infer_results_image_path, exists=False)

    image_summaries.create_pairs_board(
        dataset=fake_dataset,
        predicted_labels=fake_dataset.labels.pair,
        predicted_scores=None,
        path=infer_results_image_path,
        show=False)  # set to True to see generated board

    assert utils.check_filepath(infer_results_image_path,
                                is_directory=False,
                                is_empty=False)
Пример #3
0
def test_should_save_and_read_pairs_correctly(batch_size):
    images_dataset: DictsDataset
    paths_dataset: DictsDataset
    images_dataset, paths_dataset = gen.dicts_dataset(batch_size=batch_size,
                                                      paired=True,
                                                      save_on_disc=True)
    raw_dataset_fragment = testing_helpers.dicts_dataset_to_raw_dataset_fragment(
        images_dataset)

    dataset_desc = gen.dataset_desc(
        storage_method=DatasetStorageMethod.ON_DISC,
        image_dimensions=ImageDimensions(testing_consts.TEST_IMAGE_SIZE))
    dataset_spec = gen.dataset_spec(description=dataset_desc,
                                    raw_dataset_fragment=raw_dataset_fragment)

    tfrecord_full_path = preparing_data.save_to_tfrecord(
        paths_dataset.features, paths_dataset.labels, 'data', dataset_spec)

    assert utils.check_filepath(tfrecord_full_path,
                                is_directory=False,
                                is_empty=False)

    dataset = reading_tfrecords.assemble_dataset(tfrecord_full_path.parent,
                                                 dataset_spec)
    dataset = dataset.repeat()
    dataset = dataset.batch(batch_size)
    first_batch = dataset.make_one_shot_iterator().get_next()
    _check_paired_result(
        first_batch,
        (images_dataset.features.left, images_dataset.features.right),
        images_dataset.labels)
Пример #4
0
def _assert_log_dirs(logs_dir, names):
    eval_dirs = [
        logs_dir / ('eval_' + names[0]), logs_dir / ('eval_' + names[1])
    ]
    for e in eval_dirs:
        assert utils.check_filepath(e)
    checkpoint_files = logs_dir.glob('model.ckpt*')
    assert list(checkpoint_files)
Пример #5
0
def test_should_create_summaries_for_different_models(patched_dataset_reading,
                                                      patched_params):
    model = patched_dataset_reading.param
    run_data = gen.run_data(model=model())

    inference.single_run_inference(run_data=run_data, show=False)

    infer_results_dir_path = filenames.get_infer_dir(run_data)
    assert utils.check_filepath(infer_results_dir_path,
                                is_directory=True,
                                is_empty=False)
Пример #6
0
def test_should_create_correct_number_of_inference_files(
        patched_dataset_reading, patched_params):
    model = patched_dataset_reading.param()
    run_data = gen.run_data(model=model)

    inference.single_run_inference(run_data=run_data, show=False)

    infer_results_dir_path = filenames.get_infer_dir(run_data)
    expected_file_count = 4 if model.produces_2d_embedding else 2
    assert utils.check_filepath(infer_results_dir_path,
                                is_directory=True,
                                is_empty=False,
                                expected_len=expected_file_count)
Пример #7
0
def thor_image_path(patched_home_dir):
    import urllib.request
    thor_path = patched_home_dir / "downloaded/thor_is_here.png"
    thor_path.parent.mkdir()
    image_address = 'https://i.stack.imgur.com/Cr57x.png'
    # image_address = 'https://liquipedia.net/commons/images/0/0d/ThorCE.jpg'
    urllib.request.urlretrieve(image_address, thor_path)
    assert utils.check_filepath(thor_path,
                                exists=True,
                                is_directory=False,
                                is_empty=False)
    yield str(thor_path)
    thor_path.unlink()
Пример #8
0
def _prepare_launcher_dir(run_data: RunData) -> Union[Path, None]:
    if not run_data.is_experiment_and_first_run():
        return None

    launcher_dir = filenames.get_launcher_dir(run_data)
    if utils.check_filepath(filename=launcher_dir,
                            exists=True,
                            is_directory=True,
                            is_empty=False):
        shutil.rmtree(str(launcher_dir))
        return launcher_dir
    else:
        launcher_dir.mkdir(exist_ok=False, parents=True)
        return None
Пример #9
0
def _prepare_log_dir(run_data: RunData):
    log_dir = filenames.get_run_logs_data_dir(run_data)
    if utils.check_filepath(filename=log_dir,
                            exists=True,
                            is_directory=True,
                            is_empty=False):
        utils.log(
            'Found not empty logs directory from previous runs: {}'.format(
                log_dir))
        if config[consts.REMOVE_OLD_MODEL_DIR]:
            utils.log('Deleting old model_dir: {}'.format(log_dir))
            shutil.rmtree(str(log_dir))
    else:
        utils.log(
            'Logs directory from previous runs not found. Creating new: {}'.
            format(log_dir))
        log_dir.mkdir(exist_ok=False, parents=True)
Пример #10
0
def test_should_save_and_read_unpaired_correctly(batch_size):
    images_dataset: DictsDataset = gen.dicts_dataset(batch_size=batch_size,
                                                     paired=False)

    tfrecord_full_path = preparing_data.save_to_tfrecord(
        images_dataset.features, images_dataset.labels, 'data',
        gen.dataset_spec(paired=False))

    assert utils.check_filepath(tfrecord_full_path,
                                is_directory=False,
                                is_empty=False)

    dataset = reading_tfrecords.assemble_dataset(
        tfrecord_full_path.parent, gen.dataset_spec(paired=False))
    dataset = dataset.repeat()
    dataset = dataset.batch(batch_size)
    iterator = dataset.make_one_shot_iterator()
    first_batch = iterator.get_next()
    _check_result(first_batch, images_dataset.features.all,
                  images_dataset.labels)
Пример #11
0
def test_check_directory_or_file(patched_home_dir):
    non_existing = patched_home_dir / 'not_exists'
    assert utils.check_filepath(non_existing, exists=False)
    assert not utils.check_filepath(non_existing, exists=True)
    assert utils.check_filepath(non_existing,
                                exists=False,
                                is_directory=True,
                                is_empty=True)

    empty_dir = (patched_home_dir / 'baz')
    empty_dir.mkdir()
    assert not utils.check_filepath(empty_dir, exists=False)
    assert not utils.check_filepath(empty_dir, is_directory=False)
    assert utils.check_filepath(empty_dir,
                                exists=True,
                                is_directory=True,
                                is_empty=True)
    assert not utils.check_filepath(
        empty_dir, exists=True, is_directory=True, is_empty=False)

    nonempty_dir = (patched_home_dir / 'qux')
    (nonempty_dir / 'quux').mkdir(parents=True)
    assert not utils.check_filepath(nonempty_dir, exists=False)
    assert not utils.check_filepath(nonempty_dir, is_directory=False)
    assert utils.check_filepath(nonempty_dir,
                                exists=True,
                                is_directory=True,
                                is_empty=False)
    assert not utils.check_filepath(
        nonempty_dir, exists=True, is_directory=True, is_empty=True)

    empty_file = (patched_home_dir / 'abc.txt')
    empty_file.write_text('')
    assert not utils.check_filepath(empty_file, exists=False)
    assert not utils.check_filepath(empty_file, is_directory=True)
    assert utils.check_filepath(empty_file,
                                exists=True,
                                is_directory=False,
                                is_empty=True)
    assert not utils.check_filepath(
        empty_file, exists=True, is_directory=False, is_empty=False)

    non_empty_file = (patched_home_dir / 'qwop.txt')
    non_empty_file.write_text('wubba lubba dub dub')
    assert not utils.check_filepath(non_empty_file, exists=False)
    assert not utils.check_filepath(non_empty_file, is_directory=True)
    assert utils.check_filepath(non_empty_file,
                                exists=True,
                                is_directory=False,
                                is_empty=False)
    assert not utils.check_filepath(
        non_empty_file, exists=True, is_directory=False, is_empty=True)