def add_padding(num, size, t): name = '{}-images.idx3-ubyte' msb = 2051 x = get_samples(num, name.format(t)) x = x.reshape((num, 28, 28)) px = np.zeros((num, size, size), dtype=np.uint8) px[:, 2:30, 2:30] = x px = px.reshape(num, size**2) filename = name.format(t+str(size)) with open(filename, mode='xb') as f: f.write(pack('>IIII', msb, num, size, size)) for i in range(num): f.write(pack('B'*size**2, *px[i, :]))
def distortion(num, size=28): msb = 2051 name = '{}-images.idx3-ubyte' t = 'train' if size != 28: t = t + str(size) filename = name.format(t) x = get_samples(num, filename) x = x.reshape((num, size, size)) with open(filename, mode='xb') as f: f.write(pack('>IIII', msb, num, size, size)) for i in range(num): d = np.array(np.floor(elastic_distortion(x[i])), dtype=np.uint8) f.write(pack('B'*size**2, *d.flatten()))