|
52 | 52 |
|
53 | 53 | Calculate the output dimensions given the input dimensions, `isize`.
|
54 | 54 |
|
55 |
| -```julia |
56 |
| -m = Chain(Conv((3, 3), 3 => 16), Conv((3, 3), 16 => 32)) |
57 |
| -outdims(m, (10, 10)) == (6, 6) |
| 55 | +```jldoctest |
| 56 | +julia> using Flux: outdims |
| 57 | +
|
| 58 | +julia> m = Chain(Conv((3, 3), 3 => 16), Conv((3, 3), 16 => 32)); |
| 59 | +
|
| 60 | +julia> outdims(m, (10, 10)) == (6, 6) |
| 61 | +true |
58 | 62 | ```
|
59 | 63 | """
|
60 | 64 | outdims(c::Chain, isize) = foldr(outdims, reverse(c.layers), init = isize)
|
@@ -161,10 +165,16 @@ end
|
161 | 165 |
|
162 | 166 | Calculate the output dimensions given the input dimensions, `isize`.
|
163 | 167 |
|
164 |
| -```julia |
165 |
| -m = Dense(10, 5) |
166 |
| -outdims(m, (5, 2)) == (5,) |
167 |
| -outdims(m, (10,)) == (5,) |
| 168 | +```jldoctest |
| 169 | +julia> using Flux: outdims |
| 170 | +
|
| 171 | +julia> m = Dense(10, 5); |
| 172 | +
|
| 173 | +julia> outdims(m, (10, 100)) == (5,) |
| 174 | +true |
| 175 | +
|
| 176 | +julia> outdims(m, (10,)) == (5,) |
| 177 | +true |
168 | 178 | ```
|
169 | 179 | """
|
170 | 180 | function outdims(l::Dense, isize)
|
@@ -227,10 +237,12 @@ Conventionally, this is a linear dense layer.
|
227 | 237 |
|
228 | 238 | This constructs a `Maxout` layer over 4 internal dense linear layers, each
|
229 | 239 | identical in structure (784 inputs, 128 outputs):
|
230 |
| -```julia |
231 |
| -insize = 784 |
232 |
| -outsize = 128 |
233 |
| -Maxout(()->Dense(insize, outsize), 4) |
| 240 | +```jldoctest |
| 241 | +julia> insize = 784; |
| 242 | +
|
| 243 | +julia> outsize = 128; |
| 244 | +
|
| 245 | +julia> Maxout(()->Dense(insize, outsize), 4); |
234 | 246 | ```
|
235 | 247 | """
|
236 | 248 | function Maxout(f, n_alts)
|
@@ -258,13 +270,18 @@ will be propagated through the given `layer` while the second is the unchanged,
|
258 | 270 | The simplest "ResNet"-type connection is just `SkipConnection(layer, +)`,
|
259 | 271 | and requires the output of the layers to be the same shape as the input.
|
260 | 272 | Here is a more complicated example:
|
261 |
| -```julia |
262 |
| -m = Conv((3,3), 4=>7, pad=(1,1)) |
263 |
| -x = ones(5,5,4,10); |
264 |
| -size(m(x)) == (5, 5, 7, 10) |
| 273 | +```jldoctest |
| 274 | +julia> m = Conv((3,3), 4 => 7, pad=(1,1)); |
| 275 | +
|
| 276 | +julia> x = ones(Float32, 5, 5, 4, 10); |
265 | 277 |
|
266 |
| -sm = SkipConnection(m, (mx, x) -> cat(mx, x, dims=3)) |
267 |
| -size(sm(x)) == (5, 5, 11, 10) |
| 278 | +julia> size(m(x)) == (5, 5, 7, 10) |
| 279 | +true |
| 280 | +
|
| 281 | +julia> sm = SkipConnection(m, (mx, x) -> cat(mx, x, dims=3)); |
| 282 | +
|
| 283 | +julia> size(sm(x)) == (5, 5, 11, 10) |
| 284 | +true |
268 | 285 | ```
|
269 | 286 | """
|
270 | 287 | struct SkipConnection
|
|
0 commit comments