parent
d26fd5b4da
commit
e9a3768402
1 changed files with 0 additions and 32 deletions
@ -1,32 +0,0 @@ |
||||
import struct |
||||
import json |
||||
|
||||
def load_thneed(fn): |
||||
with open(fn, "rb") as f: |
||||
json_len = struct.unpack("I", f.read(4))[0] |
||||
jdat = json.loads(f.read(json_len).decode('latin_1')) |
||||
weights = f.read() |
||||
ptr = 0 |
||||
for o in jdat['objects']: |
||||
if o['needs_load']: |
||||
nptr = ptr + o['size'] |
||||
o['data'] = weights[ptr:nptr] |
||||
ptr = nptr |
||||
for o in jdat['binaries']: |
||||
nptr = ptr + o['length'] |
||||
o['data'] = weights[ptr:nptr] |
||||
ptr = nptr |
||||
return jdat |
||||
|
||||
def save_thneed(jdat, fn): |
||||
new_weights = [] |
||||
for o in jdat['objects'] + jdat['binaries']: |
||||
if 'data' in o: |
||||
new_weights.append(o['data']) |
||||
del o['data'] |
||||
new_weights_bytes = b''.join(new_weights) |
||||
with open(fn, "wb") as f: |
||||
j = json.dumps(jdat, ensure_ascii=False).encode('latin_1') |
||||
f.write(struct.pack("I", len(j))) |
||||
f.write(j) |
||||
f.write(new_weights_bytes) |
Loading…
Reference in new issue