def backup()

in train.py [0:0]


def backup(results_folder):
    print("backing up... ", flush=True, end="")
    special_files_to_copy = ["configs/default.txt"]  # ["specs.json"]
    filetypes_to_copy = [".py"]
    subfolders_to_copy = ["", "llff_preprocessing/"]

    this_file = os.path.realpath(__file__)
    this_folder = os.path.dirname(this_file) + "/"
    backup_folder = os.path.join(results_folder, "backup/")
    create_folder(backup_folder)
    # special files
    [
        create_folder(os.path.join(backup_folder, os.path.split(file)[0]))
        for file in special_files_to_copy
    ]
    [
        shutil.copyfile(
            os.path.join(this_folder, file), os.path.join(backup_folder, file)
        )
        for file in special_files_to_copy
    ]
    # folders
    for subfolder in subfolders_to_copy:
        create_folder(os.path.join(backup_folder, subfolder))
        files = os.listdir(os.path.join(this_folder, subfolder))
        files = [
            file
            for file in files
            if os.path.isfile(os.path.join(this_folder, subfolder, file))
            and file[file.rfind(".") :] in filetypes_to_copy
        ]
        [
            shutil.copyfile(
                os.path.join(this_folder, subfolder, file),
                os.path.join(backup_folder, subfolder, file),
            )
            for file in files
        ]

    print("done.", flush=True)