Skip to content

How does split_train_test function work at all? #76

Open
@dsvilarkovic

Description

@dsvilarkovic

Hello,
I just looked into your function that you use for initializing img_files to be used for spllitting data for Mast3r inference

#utils/sfm_utils.py
def split_train_test(image_files, llffhold=8, n_views=None, verbose=True):
    test_idx  = np.linspace(1, len(image_files) - 2, num=12, dtype=int)
    train_idx = [i for i in range(len(image_files)) if i not in test_idx]

    sparse_idx = np.linspace(0, len(train_idx) - 1, num=n_views, dtype=int)
    train_idx = [train_idx[i] for i in sparse_idx]

    if verbose:
        print(">> Spliting Train-Test Set: ")
        # print(" - sparse_idx:         ", sparse_idx)
        print(" - train_set_indices:  ", train_idx)
        print(" - test_set_indices:   ", test_idx)
    train_img_files = [image_files[i] for i in train_idx]
    test_img_files = [image_files[i] for i in test_idx]

    return train_img_files, test_img_files

From what I see here, there is no splitting according to LLFF logic, and this code does not serve it's purpose (or maybe I am missing something about approach). For my input image_files:

image_files
['images/image_000.png', 'images/image_001.png', 'images/image_002.png', 'images/image_003.png', 'images/image_004.png', 'images/image_005.png', 'images/image_006.png', 'images/image_007.png', 'images/image_008.png', 'images/image_009.png']
n_views
10

I get:

/mnt/slurm_home/dusan/InstantSplat/utils/sfm_utils.py(65)split_train_test()
-> print(" - train_set_indices: ", train_idx)
(Pdb) n

  • train_set_indices: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9]

/mnt/slurm_home/dusan/InstantSplat/utils/sfm_utils.py(66)split_train_test()
-> print(" - test_set_indices: ", test_idx)
(Pdb) n

  • test_set_indices: [1 1 2 2 3 4 4 5 6 6 7 8]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions