X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.md;h=735bee39a9514619a4f4e158ad4fa0927149d17c;hb=4d3bc68c677cc9554df9c47dd214dfc4cb9c6577;hp=65c70a2eb60338ad9c61ad5d4dfa41e675bb03a6;hpb=ada005c1069077d804be4ca6dae50d67e483473f;p=pysvrt.git diff --git a/README.md b/README.md index 65c70a2..735bee3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ framework. The main function is ``` -torch.ByteTensor generate_vignettes(int problem_number, torch.LongTensor labels) +torch.ByteTensor svrt.generate_vignettes(int problem_number, torch.LongTensor labels) ``` where @@ -20,18 +20,39 @@ The returned ByteTensor has three dimensions: * Pixel row * Pixel col +The two additional functions + +``` +torch.ByteStorage svrt.compress(torch.ByteStorage x) +``` + +and + +``` +torch.ByteStorage svrt.uncompress(torch.ByteStorage x) +``` + +provide a lossless compression scheme adapted to the ByteStorage of +the vignette ByteTensor (i.e. expecting a lot of 255s, a few 0s, and +no other value). + +They allow to reduce the memory footprint by a factor ~50, and may be +usefull to deal with very large data-sets and avoid re-generating +images at every batch. + +See vignette_set.py for a class CompressedVignetteSet using it. + # Installation and test # Executing ``` make -j -k -./build.py ./test-svrt.py ``` should generate an image example.png in the current directory. Note that the image generation does not take advantage of GPUs or -multi-core, and can be as slow as 40 vignettes per second s on a 4GHz -i7-6700K. +multi-core, and can be as fast as 10,000 vignettes per second and as +slow as 40 on a 4GHz i7-6700K.