1
0
Fork 0
mirror of synced 2024-06-24 17:20:59 +12:00
waifu2x/appendix/arch/cunet.txt
2018-11-14 17:21:34 +09:00

205 lines
10 KiB
Plaintext

nn.Sequential {
[input -> (1) -> (2) -> (3) -> (4) -> output]
(1): nn.Sequential {
[input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
(1): nn.Sequential {
[input -> (1) -> (2) -> (3) -> (4) -> output]
(1): nn.SpatialConvolutionMM(3 -> 32, 3x3)
(2): nn.LeakyReLU(0.1)
(3): nn.SpatialConvolutionMM(32 -> 64, 3x3)
(4): nn.LeakyReLU(0.1)
}
(2): nn.Sequential {
[input -> (1) -> (2) -> output]
(1): nn.ConcatTable {
input
|`-> (1): nn.Sequential {
| [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| (1): nn.SpatialConvolutionMM(64 -> 64, 2x2, 2,2)
| (2): nn.LeakyReLU(0.1)
| (3): nn.Sequential {
| [input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> output]
| (1): nn.SpatialConvolutionMM(64 -> 128, 3x3)
| (2): nn.LeakyReLU(0.1)
| (3): nn.SpatialConvolutionMM(128 -> 64, 3x3)
| (4): nn.LeakyReLU(0.1)
| (5): nn.ConcatTable {
| input
| |`-> (1): nn.Identity
| `-> (2): nn.Sequential {
| [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| (1): nn.Sequential {
| [input -> (1) -> (2) -> (3) -> output]
| (1): nn.Mean
| (2): nn.Mean
| (3): nn.View(-1, 64, 1, 1)
| }
| (2): nn.SpatialConvolutionMM(64 -> 8, 1x1)
| (3): nn.ReLU
| (4): nn.SpatialConvolutionMM(8 -> 64, 1x1)
| (5): nn.Sigmoid
| }
| ... -> output
| }
| (6): w2nn.ScaleTable
| }
| (4): nn.SpatialFullConvolution(64 -> 64, 2x2, 2,2)
| (5): nn.LeakyReLU(0.1)
| }
`-> (2): nn.SpatialZeroPadding(l=-4, r=-4, t=-4, b=-4)
... -> output
}
(2): nn.CAddTable
}
(3): nn.SpatialConvolutionMM(64 -> 64, 3x3)
(4): nn.LeakyReLU(0.1)
(5): nn.SpatialConvolutionMM(64 -> 3, 3x3)
}
(2): nn.ConcatTable {
input
|`-> (1): nn.Sequential {
| [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| (1): nn.Sequential {
| [input -> (1) -> (2) -> (3) -> (4) -> output]
| (1): nn.SpatialConvolutionMM(3 -> 32, 3x3)
| (2): nn.LeakyReLU(0.1)
| (3): nn.SpatialConvolutionMM(32 -> 64, 3x3)
| (4): nn.LeakyReLU(0.1)
| }
| (2): nn.Sequential {
| [input -> (1) -> (2) -> output]
| (1): nn.ConcatTable {
| input
| |`-> (1): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| | (1): nn.SpatialConvolutionMM(64 -> 64, 2x2, 2,2)
| | (2): nn.LeakyReLU(0.1)
| | (3): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> output]
| | (1): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> output]
| | (1): nn.SpatialConvolutionMM(64 -> 64, 3x3)
| | (2): nn.LeakyReLU(0.1)
| | (3): nn.SpatialConvolutionMM(64 -> 128, 3x3)
| | (4): nn.LeakyReLU(0.1)
| | (5): nn.ConcatTable {
| | input
| | |`-> (1): nn.Identity
| | `-> (2): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| | (1): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> output]
| | (1): nn.Mean
| | (2): nn.Mean
| | (3): nn.View(-1, 128, 1, 1)
| | }
| | (2): nn.SpatialConvolutionMM(128 -> 16, 1x1)
| | (3): nn.ReLU
| | (4): nn.SpatialConvolutionMM(16 -> 128, 1x1)
| | (5): nn.Sigmoid
| | }
| | ... -> output
| | }
| | (6): w2nn.ScaleTable
| | }
| | (2): nn.Sequential {
| | [input -> (1) -> (2) -> output]
| | (1): nn.ConcatTable {
| | input
| | |`-> (1): nn.Sequential {
| | | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| | | (1): nn.SpatialConvolutionMM(128 -> 128, 2x2, 2,2)
| | | (2): nn.LeakyReLU(0.1)
| | | (3): nn.Sequential {
| | | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> output]
| | | (1): nn.SpatialConvolutionMM(128 -> 256, 3x3)
| | | (2): nn.LeakyReLU(0.1)
| | | (3): nn.SpatialConvolutionMM(256 -> 128, 3x3)
| | | (4): nn.LeakyReLU(0.1)
| | | (5): nn.ConcatTable {
| | | input
| | | |`-> (1): nn.Identity
| | | `-> (2): nn.Sequential {
| | | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| | | (1): nn.Sequential {
| | | [input -> (1) -> (2) -> (3) -> output]
| | | (1): nn.Mean
| | | (2): nn.Mean
| | | (3): nn.View(-1, 128, 1, 1)
| | | }
| | | (2): nn.SpatialConvolutionMM(128 -> 16, 1x1)
| | | (3): nn.ReLU
| | | (4): nn.SpatialConvolutionMM(16 -> 128, 1x1)
| | | (5): nn.Sigmoid
| | | }
| | | ... -> output
| | | }
| | | (6): w2nn.ScaleTable
| | | }
| | | (4): nn.SpatialFullConvolution(128 -> 128, 2x2, 2,2)
| | | (5): nn.LeakyReLU(0.1)
| | | }
| | `-> (2): nn.SpatialZeroPadding(l=-4, r=-4, t=-4, b=-4)
| | ... -> output
| | }
| | (2): nn.CAddTable
| | }
| | (3): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> output]
| | (1): nn.SpatialConvolutionMM(128 -> 64, 3x3)
| | (2): nn.LeakyReLU(0.1)
| | (3): nn.SpatialConvolutionMM(64 -> 64, 3x3)
| | (4): nn.LeakyReLU(0.1)
| | (5): nn.ConcatTable {
| | input
| | |`-> (1): nn.Identity
| | `-> (2): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> (4) -> (5) -> output]
| | (1): nn.Sequential {
| | [input -> (1) -> (2) -> (3) -> output]
| | (1): nn.Mean
| | (2): nn.Mean
| | (3): nn.View(-1, 64, 1, 1)
| | }
| | (2): nn.SpatialConvolutionMM(64 -> 8, 1x1)
| | (3): nn.ReLU
| | (4): nn.SpatialConvolutionMM(8 -> 64, 1x1)
| | (5): nn.Sigmoid
| | }
| | ... -> output
| | }
| | (6): w2nn.ScaleTable
| | }
| | }
| | (4): nn.SpatialFullConvolution(64 -> 64, 2x2, 2,2)
| | (5): nn.LeakyReLU(0.1)
| | }
| `-> (2): nn.SpatialZeroPadding(l=-16, r=-16, t=-16, b=-16)
| ... -> output
| }
| (2): nn.CAddTable
| }
| (3): nn.SpatialConvolutionMM(64 -> 64, 3x3)
| (4): nn.LeakyReLU(0.1)
| (5): nn.SpatialConvolutionMM(64 -> 3, 3x3)
| }
`-> (2): nn.SpatialZeroPadding(l=-20, r=-20, t=-20, b=-20)
... -> output
}
(3): nn.ConcatTable {
input
|`-> (1): nn.Sequential {
| [input -> (1) -> (2) -> output]
| (1): nn.CAddTable
| (2): w2nn.InplaceClip01
| }
`-> (2): nn.Sequential {
[input -> (1) -> (2) -> output]
(1): nn.SelectTable(2)
(2): w2nn.InplaceClip01
}
... -> output
}
(4): w2nn.AuxiliaryLossTable
}