Minor update.
[pysvrt.git] / README.md
index b6e29c7..a4ea4fd 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 # Introduction #
 
-This is a port of the Synthetic Visual Reasoning Test problems to the
-pytorch framework, with an implementation of two convolutional
-networks to solve them.
+This is a wrapper for [`PyTorch`](http://pytorch.org) for the
+[`Synthetic Visual Reasoning Test,`](https://fleuret.org/git/svrt)
+with an implementation of two convolutional networks to solve them.
 
 # Installation and test #
 
@@ -13,7 +13,9 @@ make -j -k
 ./test-svrt.py
 ```
 
-should generate an image example.png in the current directory.
+should generate an image
+[`example.png`](https://fleuret.org/git-extract/pysvrt/example.png) in
+the current directory.
 
 Note that the image generation does not take advantage of GPUs or
 multi-core, and can be as fast as 10,000 vignettes per second and as
@@ -23,22 +25,26 @@ slow as 40 on a 4GHz i7-6700K.
 
 ## Vignette sets ##
 
-The svrtset.py implements the classes `VignetteSet` and
-`CompressedVignetteSet` with the following constructor
+The file [`svrtset.py`](https://fleuret.org/git-extract/pysvrt/svrtset.py) implements the classes `VignetteSet` and
+`CompressedVignetteSet` both with a constructor
 
 ```
-def __init__(self, problem_number, nb_samples, batch_size, cuda = False, logger = None):
+__init__(problem_number, nb_samples, batch_size, cuda = False, logger = None)
 ```
 
-and the following method to return one batch
+and a method
 
 ```
-def get_batch(self, b):
+(torch.FloatTensor, torch.LongTensor) get_batch(b)
 ```
 
+which returns a pair composed of a 4d 'input' Tensor (i.e. single
+channel 128x128 images), and a 1d 'target' Tensor (i.e. Boolean
+labels).
+
 ## Low-level functions ##
 
-The main function for genering vignettes is
+The main function for generating vignettes is
 
 ```
 torch.ByteTensor svrt.generate_vignettes(int problem_number, torch.LongTensor labels)
@@ -81,14 +87,7 @@ See vignette_set.py for a class CompressedVignetteSet using it.
 # Testing convolution networks #
 
 The file
-
-```
-cnn-svrt.py
-```
-
-provides the implementation of two deep networks, and use the
-compressed vignette code to allow the training with several millions
-vignettes on a PC with 16Gb and a GPU with 8Gb.
-
-The networks were designed by Afroze Baqapuri during an internship at
-Idiap.
+[`cnn-svrt.py`](https://fleuret.org/git-extract/pysvrt/cnn-svrt.py)
+provides the implementation of two deep networks designed by Afroze
+Baqapuri during an internship at Idiap, and allows to train them with
+several millions vignettes on a PC with 16Gb and a GPU with 8Gb.