compression.lua 469 B

1234567891011121314151617
  1. -- snapply compression for ByteTensor
  2. require 'snappy'
  3. local compression = {}
  4. compression.compress = function (bt)
  5. local enc = snappy.compress(bt:storage():string())
  6. return {bt:size(), torch.ByteStorage():string(enc)}
  7. end
  8. compression.decompress = function(data)
  9. local size = data[1]
  10. local dec = snappy.decompress(data[2]:string())
  11. local bt = torch.ByteTensor(unpack(torch.totable(size)))
  12. bt:storage():string(dec)
  13. return bt
  14. end
  15. return compression