projects
/
dagnn.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DAG:addEdge now allows to add a bunch of edges in one shot. This allows to use anonym...
[dagnn.git]
/
README.md
diff --git
a/README.md
b/README.md
index
3b8d274
..
e18ea1f
100644
(file)
--- 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#
#Example#
-
The typical use is
:
+
A typical use would be
:
```Lua
model = nn.DAG()
```Lua
model = nn.DAG()
@@
-11,34
+11,36
@@
model = nn.DAG()
a = nn.Linear(100, 10)
b = nn.ReLU()
c = nn.Linear(10, 15)
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(a, b)
+model:addEdge(b, nn.Linear(10, 15), nn.ReLU(), d)
model:addEdge(b, c)
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:setInput(a)
-model:setOutput({
e, f
})
+model:setOutput({
d, e
})
-input = torch.Tensor(30
0
, 100):uniform()
-output = model:updateOutput(input)
:clone()
+input = torch.Tensor(30, 100):uniform()
+output = model:updateOutput(input)
```
which would encode the following graph
```
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#
#Input and output#