| import struct | |
| import sys | |
| sys.set_int_max_str_digits(0) | |
| FILENAME = "reasonable.gguf" | |
| GGUF_VERSION = 3 | |
| TYPE_F16 = 1 | |
| MAX_U64 = 9223372036854775807 | |
| DIMS_COUNT = 8 | |
| DIMS = [MAX_U64] * DIMS_COUNT | |
| NUM_TENSORS = 10 | |
| ALIGNMENT = 32 | |
| def write_u32(f, x): f.write(struct.pack("<I", x)) | |
| def write_u64(f, x): f.write(struct.pack("<Q", x)) | |
| with open(FILENAME, "wb") as f: | |
| f.write(b"GGUF") | |
| write_u32(f, GGUF_VERSION) | |
| write_u64(f, NUM_TENSORS) | |
| write_u64(f, 0) | |
| for i in range(NUM_TENSORS): | |
| name = f"T{i}".encode() | |
| write_u64(f, len(name)) | |
| f.write(name) | |
| write_u32(f, DIMS_COUNT) | |
| for d in DIMS: | |
| write_u64(f, d) | |
| write_u32(f, TYPE_F16) | |
| write_u64(f, 0) | |
| pad_len = (ALIGNMENT - (f.tell() % ALIGNMENT)) % ALIGNMENT | |
| f.write(b"\x00" * pad_len) | |
| f.write(b"\x00" * 1024) | |
| per_tensor = MAX_U64 ** DIMS_COUNT | |
| total = per_tensor * NUM_TENSORS | |
| print(f"params: {total}") |