mnist convert from tensorflow to ggml
datduonguva opened this issue · comments
Dat Q Duong commented
in the file examples/mnist/mnist-cnn.py
kernel1 = model.layers[0].weights[0].numpy()
kernel1 = np.moveaxis(kernel1, [2,3], [0,1])
kernel1 = kernel1.astype(np.float16)
gguf_writer.add_tensor("kernel1", kernel1, raw_shape=(32, 1, 3, 3))
...
kernel2 = model.layers[2].weights[0].numpy()
kernel2 = np.moveaxis(kernel2, [0,1,2,3], [2,3,1,0])
kernel2 = kernel2.astype(np.float16)
gguf_writer.add_tensor("kernel2", kernel2, raw_shape=(64, 32, 3, 3))
why are kernel1
's axes and kernel2
's axes moved by np.moveaxis
differently?
kernel1
has shape (3, 3, 1, 32)
so after np.moveaxis(kernel1, [2, 3], [0, 1])
, its shape will be (1, 32, 3, 3)
, NOT (32, 1, 3, 3)
as showned on the next line.
Wondering if this is a bug.
Thanks!