Я работаю со многими объектами, которые имеют некоторые атрибуты, а также с массивами (изображения, маски и т. Д.). Я хочу выгрузить их на диск во время выполнения программы, чтобы сохранить память, и хочу добавить больше данных, когда они доступны (во время выполнения той же программы), без загрузки выгруженного объекта в память.
Проблема в том, что добавление данных в сериализованный / протравленный файл невозможно без предварительной загрузки в память. Как сохранить / обновить (не загружая весь объект) эти объекты во время выполнения программы? Любая идея приветствуется.
Ниже приведен псевдокод.
class StoredObject():
def __init__(self, centroid, _image, _color, _bbox, _type, _mask):
self.centroids = [centroid]
self.bboxes = [_bbox]
self.track_color = random_color()
self.color = _color
self.images = [_image]
self.type = _type
self.last_appear = time.time()
self.masks = [_mask]
store = []
track_objects(obj, obj_image, obj_mask):
if obj already belongs to store:
find where it is stored earlier
and add obj_image and obj_mask to its obj_image list
and obj_mask list respectively
else
add obj(obj_image, obj_mask) in store