Exemplo n.º 1
0
def _pickCompressor():
    if Options.isExperimental("zstd"):
        try:
            from zstd import ZSTD_compress  # pylint: disable=I0021,import-error
        except ImportError:
            general.warning(
                "Onefile mode cannot compress without 'zstd' module on '%s'." % getOS()
            )
        else:
            return b"Y", lambda data: ZSTD_compress(data, 9, getJobLimit())
    else:
        return b"X", lambda data: data
Exemplo n.º 2
0
        retarget(compressed_resnet18)

    print('iteration', i)

    optim.zero_grad()

    y = compressed_resnet18(image)

    reconstruction_loss = ((ref - y)**2).mean()
    q_loss = quantization_loss(compressed_resnet18)
    loss = reconstruction_loss + q_loss

    loss.backward(retain_graph=False)

    optim.step()

    if i % 10:
        with torch.no_grad():
            model_size_mb = pre_entropy_size(compressed_resnet18).item() / (
                8 * 2**20)
            pack_size = len(
                ZSTD_compress(
                    compress_weights(compressed_resnet18)
                    ['packs'].numpy().tobytes()))
            pack_size_mb = pack_size / (2**20)

            print('reconstruction', reconstruction_loss)
            print('q_loss', q_loss)
            print('size', model_size_mb, 'MB')
            print('pack size', pack_size_mb, 'MB')
Exemplo n.º 3
0
def compress(data, compression_level=ZSTD_COMPRESSION_LEVEL):
    return ZSTD_compress(data, compression_level)