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