X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=dagnn.git;a=blobdiff_plain;f=README.md;h=e18ea1f91e70bfdb0ebc372073ea5d74e32128ba;hp=3b8d274294ac1316b5fbbb38e9228703cce89917;hb=be353fdfc2a57172064a024f8cec6015c9d908e5;hpb=116fbcd681f9e097f7acd89f61a15c6b7bd113ce diff --git a/README.md b/README.md index 3b8d274..e18ea1f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ This package implements a new module nn.DAG which inherits from nn.Container and #Example# -The typical use is: +A typical use would be: ```Lua model = nn.DAG() @@ -11,34 +11,36 @@ model = nn.DAG() a = nn.Linear(100, 10) b = nn.ReLU() c = nn.Linear(10, 15) -d = nn.Linear(10, 15) -e = nn.CMulTable() -f = nn.Linear(15, 15) +d = nn.CMulTable() +e = nn.Linear(15, 15) model:addEdge(a, b) +model:addEdge(b, nn.Linear(10, 15), nn.ReLU(), d) model:addEdge(b, c) -model:addEdge(b, d) -model:addEdge(c, e) -model:addEdge(d, e) -model:addEdge(d, f) +model:addEdge(c, d) +model:addEdge(c, nn.Mul(-1), e) model:setInput(a) -model:setOutput({ e, f }) +model:setOutput({ d, e }) -input = torch.Tensor(300, 100):uniform() -output = model:updateOutput(input):clone() +input = torch.Tensor(30, 100):uniform() +output = model:updateOutput(input) ``` which would encode the following graph - +--> c ----> e --> - / / - / / - input --> a --> b ----> d ---+ output - \ + +- Linear(10, 10) -> ReLU ---> d --> + / / + / / + --> a --> b -----------> c --------------+ \ - +--> f --> + \ + +-- Mul(-1) --> e --> + +and run a forward pass with a random batch of 30 samples. + +Note that DAG:addEdge #Input and output#