Skip to content

Commit f4a60c7

Browse files
authored
Merge branch 'master' into billinear
2 parents 793b92c + ddb5e9c commit f4a60c7

36 files changed

+1150
-532
lines changed

.buildkite/pipeline.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
steps:
22
- label: "GPU integration"
33
plugins:
4-
- JuliaCI/julia#v0.5:
4+
- JuliaCI/julia#v1:
55
version: '1.5'
6-
- JuliaCI/julia-test#v0.3: ~
6+
- JuliaCI/julia-test#v1: ~
77
agents:
88
queue: "juliagpu"
99
cuda: "*"

.github/workflows/fluxbot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66

77
jobs:
88
build:
9+
if: contains(github.event.comment.body, '@ModelZookeeper')
910
runs-on: ${{ matrix.os }}
1011
strategy:
1112
matrix:

Manifest.toml

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ version = "0.3.3"
1414

1515
[[Adapt]]
1616
deps = ["LinearAlgebra"]
17-
git-tree-sha1 = "27edd95a09fd428113ca019c092e8aeca2eb1f2d"
17+
git-tree-sha1 = "ffcfa2d345aaee0ef3d8346a073d5dd03c983ebe"
1818
uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
19-
version = "3.0.0"
19+
version = "3.2.0"
2020

2121
[[Artifacts]]
2222
deps = ["Pkg"]
@@ -40,21 +40,21 @@ version = "0.4.1"
4040

4141
[[CUDA]]
4242
deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CompilerSupportLibraries_jll", "DataStructures", "ExprTools", "GPUArrays", "GPUCompiler", "LLVM", "Libdl", "LinearAlgebra", "Logging", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "Requires", "SparseArrays", "Statistics", "TimerOutputs"]
43-
git-tree-sha1 = "39f6f584bec264ace76f924d1c8637c85617697e"
43+
git-tree-sha1 = "6ccc73b2d8b671f7a65c92b5f08f81422ebb7547"
4444
uuid = "052768ef-5323-5732-b1bb-66c8b64840ba"
45-
version = "2.4.0"
45+
version = "2.4.1"
4646

4747
[[ChainRules]]
4848
deps = ["ChainRulesCore", "Compat", "LinearAlgebra", "Random", "Reexport", "Requires", "Statistics"]
49-
git-tree-sha1 = "31b28f5123afa5e5ca0c885e4051896032754578"
49+
git-tree-sha1 = "6ba8100fa9356807f1d0df6468ae463c67627c30"
5050
uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2"
51-
version = "0.7.45"
51+
version = "0.7.49"
5252

5353
[[ChainRulesCore]]
54-
deps = ["LinearAlgebra", "MuladdMacro", "SparseArrays"]
55-
git-tree-sha1 = "15081c431bb25848ad9b0d172a65794f3a3e197a"
54+
deps = ["Compat", "LinearAlgebra", "SparseArrays"]
55+
git-tree-sha1 = "53fed426c9af1eb68e63b3999e96454c2db79757"
5656
uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
57-
version = "0.9.24"
57+
version = "0.9.27"
5858

5959
[[CodecZlib]]
6060
deps = ["TranscodingStreams", "Zlib_jll"]
@@ -93,15 +93,15 @@ uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
9393
version = "0.3.4+0"
9494

9595
[[DataAPI]]
96-
git-tree-sha1 = "ad84f52c0b8f05aa20839484dbaf01690b41ff84"
96+
git-tree-sha1 = "8ab70b4de35bb3b8cc19654f6b893cf5164f8ee8"
9797
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
98-
version = "1.4.0"
98+
version = "1.5.1"
9999

100100
[[DataStructures]]
101101
deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
102-
git-tree-sha1 = "fb0aa371da91c1ff9dc7fbed6122d3e411420b9c"
102+
git-tree-sha1 = "4437b64df1e0adccc3e5d1adbc3ac741095e4677"
103103
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
104-
version = "0.18.8"
104+
version = "0.18.9"
105105

106106
[[Dates]]
107107
deps = ["Printf"]
@@ -134,9 +134,9 @@ version = "0.1.3"
134134

135135
[[FillArrays]]
136136
deps = ["LinearAlgebra", "Random", "SparseArrays"]
137-
git-tree-sha1 = "ff537e5a3cba92fb48f30fec46723510450f2c0e"
137+
git-tree-sha1 = "50eabdace27aa27b143f65b65e762bb0112a7708"
138138
uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
139-
version = "0.10.2"
139+
version = "0.11.1"
140140

141141
[[FixedPointNumbers]]
142142
deps = ["Statistics"]
@@ -146,15 +146,15 @@ version = "0.8.4"
146146

147147
[[ForwardDiff]]
148148
deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"]
149-
git-tree-sha1 = "8de2519a83c6c1c2442c2f481dd9a8364855daf4"
149+
git-tree-sha1 = "d48a40c0f54f29a5c8748cfb3225719accc72b77"
150150
uuid = "f6369f11-7733-5829-9624-2563aa707210"
151-
version = "0.10.14"
151+
version = "0.10.16"
152152

153153
[[Functors]]
154154
deps = ["MacroTools"]
155-
git-tree-sha1 = "f40adc6422f548176bb4351ebd29e4abf773040a"
155+
git-tree-sha1 = "cd79039c468eac0a15256c55f260eec7ce551d07"
156156
uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196"
157-
version = "0.1.0"
157+
version = "0.2.0"
158158

159159
[[GPUArrays]]
160160
deps = ["AbstractFFTs", "Adapt", "LinearAlgebra", "Printf", "Random", "Serialization"]
@@ -191,9 +191,9 @@ version = "0.8.4"
191191

192192
[[LLVM]]
193193
deps = ["CEnum", "Libdl", "Printf", "Unicode"]
194-
git-tree-sha1 = "d0d99629d6ae4a3e211ae83d8870907bd842c811"
194+
git-tree-sha1 = "b616937c31337576360cb9fb872ec7633af7b194"
195195
uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
196-
version = "3.5.2"
196+
version = "3.6.0"
197197

198198
[[LibGit2]]
199199
deps = ["Printf"]
@@ -227,23 +227,18 @@ version = "0.5.0"
227227

228228
[[Missings]]
229229
deps = ["DataAPI"]
230-
git-tree-sha1 = "ed61674a0864832495ffe0a7e889c0da76b0f4c8"
230+
git-tree-sha1 = "f8c673ccc215eb50fcadb285f522420e29e69e1c"
231231
uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
232-
version = "0.4.4"
232+
version = "0.4.5"
233233

234234
[[Mmap]]
235235
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
236236

237-
[[MuladdMacro]]
238-
git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68"
239-
uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
240-
version = "0.2.2"
241-
242237
[[NNlib]]
243-
deps = ["ChainRulesCore", "LinearAlgebra", "Pkg", "Requires", "Statistics"]
244-
git-tree-sha1 = "13fd29731c7f609cb82a3a544c5538584d22c153"
238+
deps = ["ChainRulesCore", "Compat", "LinearAlgebra", "Pkg", "Requires", "Statistics"]
239+
git-tree-sha1 = "df42d0816edfc24f5b82a728f46381613c4dff79"
245240
uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd"
246-
version = "0.7.11"
241+
version = "0.7.14"
247242

248243
[[NaNMath]]
249244
git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb"
@@ -257,9 +252,9 @@ uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
257252
version = "0.5.3+4"
258253

259254
[[OrderedCollections]]
260-
git-tree-sha1 = "cf59cfed2e2c12e8a2ff0a4f1e9b2cd8650da6db"
255+
git-tree-sha1 = "d45739abcfc03b51f6a42712894a593f74c80a23"
261256
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
262-
version = "1.3.2"
257+
version = "1.3.3"
263258

264259
[[Pkg]]
265260
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
@@ -282,10 +277,9 @@ deps = ["Serialization"]
282277
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
283278

284279
[[Reexport]]
285-
deps = ["Pkg"]
286-
git-tree-sha1 = "7b1d07f411bc8ddb7977ec7f377b97b158514fe0"
280+
git-tree-sha1 = "57d8440b0c7d98fc4f889e478e80f268d534c9d5"
287281
uuid = "189a3867-3050-52da-a836-e630ba90ab69"
288-
version = "0.2.0"
282+
version = "1.0.0"
289283

290284
[[Requires]]
291285
deps = ["UUIDs"]
@@ -381,9 +375,9 @@ version = "1.2.11+18"
381375

382376
[[Zygote]]
383377
deps = ["AbstractFFTs", "ChainRules", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"]
384-
git-tree-sha1 = "d88a7e71fc2eef9510187b1c7d4af7a5177633d0"
378+
git-tree-sha1 = "52835a83f7c899cfcb95f796d584201812887ea8"
385379
uuid = "e88e6eb3-aa80-5325-afca-941959d7151f"
386-
version = "0.6.0"
380+
version = "0.6.3"
387381

388382
[[ZygoteRules]]
389383
deps = ["MacroTools"]

NEWS.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## v0.12.0
44

5+
* Added [Focal Loss function](https://github.com/FluxML/Flux.jl/pull/1489) to Losses module
56
* The Dense layer now supports inputs with [multiple batch dimensions](https://github.com/FluxML/Flux.jl/pull/1405).
67
* Dense and Conv layers no longer perform [implicit type conversion](https://github.com/FluxML/Flux.jl/pull/1394).
78
* Excise datasets in favour of other providers in the julia ecosystem.
@@ -11,7 +12,8 @@
1112
* Add [sparse initialization](https://github.com/FluxML/Flux.jl/pull/1454) as described in [Deep learning via Hessian-free optimization](https://dl.acm.org/doi/abs/10.5555/3104322.3104416).
1213
* Moved GPU CI to use buildkite instead of GitLab
1314
* New [`Parallel` layer](https://github.com/FluxML/Flux.jl/pull/1462) adds inception module-like building blocks.
14-
15+
* Feature additions and bug fixes for BatchNorm, LayerNorm, InstanceNorm, and GroupNorm [normalization layers](https://github.com/FluxML/Flux.jl/pull/1397)
16+
* Added [Upsample and PixelShuffle layers](https://github.com/FluxML/Flux.jl/pull/1468)
1517

1618
## v0.11.2
1719

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ Adapt = "2.0, 3.0"
3131
CUDA = "2.1"
3232
CodecZlib = "0.7"
3333
Colors = "0.12"
34-
Functors = "0.1"
34+
Functors = "0.1, 0.2"
3535
Juno = "0.8"
3636
MacroTools = "0.5"
37-
NNlib = "0.7.10"
37+
NNlib = "0.7.14"
3838
Reexport = "0.2, 1.0"
3939
StatsBase = "0.33"
4040
ZipFile = "0.9"

docs/src/ecosystem.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ machine learning and deep learning workflows:
1717
- [ProgressMeters.jl](https://github.com/timholy/ProgressMeter.jl): progress meters for long-running computations
1818
- [TensorBoardLogger.jl](https://github.com/PhilipVinc/TensorBoardLogger.jl): easy peasy logging to [tensorboard](https://www.tensorflow.org/tensorboard) in Julia
1919

20-
This tight integration among Julia pakages is shown in some of the examples in the [model-zoo](https://github.com/FluxML/model-zoo) repository.
20+
This tight integration among Julia packages is shown in some of the examples in the [model-zoo](https://github.com/FluxML/model-zoo) repository.

docs/src/models/advanced.md

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,12 @@ Finally, we define the forward pass. For `Join`, this means applying each `path`
111111
Lastly, we can test our new layer. Thanks to the proper abstractions in Julia, our layer works on GPU arrays out of the box!
112112
```julia
113113
model = Chain(
114-
Join(vcat,
115-
Chain(
116-
Dense(1, 5),
117-
Dense(5, 1)
118-
),
119-
Dense(1, 2),
120-
Dense(1, 1),
121-
),
122-
Dense(4, 1)
123-
) |> gpu
114+
Join(vcat,
115+
Chain(Dense(1, 5),Dense(5, 1)), # branch 1
116+
Dense(1, 2), # branch 2
117+
Dense(1, 1)), # branch 3
118+
Dense(4, 1)
119+
) |> gpu
124120

125121
xs = map(gpu, (rand(1), rand(1), rand(1)))
126122

@@ -137,16 +133,13 @@ Join(combine, paths...) = Join(combine, paths)
137133

138134
# use vararg/tuple version of Parallel forward pass
139135
model = Chain(
140-
Join(vcat,
141-
Chain(
142-
Dense(1, 5),
143-
Dense(5, 1)
144-
),
145-
Dense(1, 2),
146-
Dense(1, 1),
147-
),
148-
Dense(4, 1)
149-
) |> gpu
136+
Join(vcat,
137+
Chain(Dense(1, 5),Dense(5, 1)),
138+
Dense(1, 2),
139+
Dense(1, 1)
140+
),
141+
Dense(4, 1)
142+
) |> gpu
150143

151144
xs = map(gpu, (rand(1), rand(1), rand(1)))
152145

@@ -178,13 +171,9 @@ Flux.@functor Split
178171
Now we can test to see that our `Split` does indeed produce multiple outputs.
179172
```julia
180173
model = Chain(
181-
Dense(10, 5),
182-
CustomSplit(
183-
Dense(5, 1),
184-
Dense(5, 3),
185-
Dense(5, 2)
186-
)
187-
) |> gpu
174+
Dense(10, 5),
175+
CustomSplit(Dense(5, 1),Dense(5, 3),Dense(5, 2))
176+
) |> gpu
188177

189178
model(gpu(rand(10)))
190179
# returns a tuple with three float vectors

docs/src/models/basics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,4 +218,4 @@ Flux.@functor Affine
218218

219219
This enables a useful extra set of functionality for our `Affine` layer, such as [collecting its parameters](../training/optimisers.md) or [moving it to the GPU](../gpu.md).
220220

221-
For some more helpful tricks, including parameter freezing, please checkout the [advanced usage guide](advanced.md).
221+
For some more helpful tricks, including parameter freezing, please checkout the [advanced usage guide](advanced.md).

docs/src/models/layers.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ Flux.convfilter
2929
Flux.depthwiseconvfilter
3030
```
3131

32+
## Upsampling Layers
33+
34+
```@docs
35+
Upsample
36+
PixelShuffle
37+
```
38+
3239
## Recurrent Layers
3340

3441
Much like the core layers above, but can be used to process sequence data (as well as other kinds of structured data).

docs/src/models/losses.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,6 @@ Flux.Losses.hinge_loss
3939
Flux.Losses.squared_hinge_loss
4040
Flux.Losses.dice_coeff_loss
4141
Flux.Losses.tversky_loss
42+
Flux.Losses.binary_focal_loss
43+
Flux.Losses.focal_loss
4244
```

0 commit comments

Comments
 (0)