MCPcopy Create free account
hub / github.com/tdrussell/diffusion-pipe / add

Method add

utils/cache.py:109–133  ·  view source on GitHub ↗
(self, item)

Source from the content-addressed store, hash-verified

107
108
109 def add(self, item):
110 if self.shard_file is None:
111 self.create_new_shard()
112 buffer = io.BytesIO()
113 torch.save(item, buffer)
114 bytes_view = buffer.getbuffer()
115 self.shard_file.write(bytes_view)
116
117 # update items metadata
118 item = (self.shard, self.shard_index)
119 self.items.append(item)
120 self.con.execute('INSERT INTO items VALUES(?, ?)', item)
121 self.shard_index += 1
122
123 # update shard metadata
124 size = len(bytes_view)
125 entry = (self.offset, size)
126 self.shard_metadata[self.shard].append(entry)
127 self.con.execute(f'INSERT INTO {self.shard_table} VALUES (?, ?)', entry)
128 self.offset += size
129
130 # create new shard when existing one is large enough
131 current_size_gb = self.shard_file.tell() / 1_000_000_000
132 if current_size_gb >= self.shard_size_gb:
133 self.finalize_current_shard()
134
135
136# for testing

Callers 9

_map_and_cacheFunction · 0.95
cache.pyFile · 0.80
common.pyFile · 0.80
generate_embeddingsMethod · 0.80
forwardMethod · 0.80
configure_adapterMethod · 0.80
configure_adapterMethod · 0.80
__init__Method · 0.80

Calls 2

create_new_shardMethod · 0.95

Tested by

no test coverage detected