12345678910111213141516171819202122232425 |
- """
- These codes are adopted from LEAF with some modifications.
- """
- import os
- from easyfl.datasets.utils import util
- def match_hash(base_folder):
- cfhd = os.path.join(base_folder, "intermediate", "class_file_hashes")
- wfhd = os.path.join(base_folder, "intermediate", "write_file_hashes")
- class_file_hashes = util.load_obj(cfhd)
- write_file_hashes = util.load_obj(wfhd)
- class_hash_dict = {}
- for i in range(len(class_file_hashes)):
- (c, f, h) = class_file_hashes[len(class_file_hashes) - i - 1]
- class_hash_dict[h] = (c, f)
- write_classes = []
- for tup in write_file_hashes:
- (w, f, h) = tup
- write_classes.append((w, f, class_hash_dict[h][0]))
- wwcd = os.path.join(base_folder, "intermediate", "write_with_class")
- util.save_obj(write_classes, wwcd)
|