Skip to content

Commit 48c9138

Browse files
author
Dhairya Gandhi
committed
Merge branch 'master' of https://github.com/FluxML/Flux.jl
2 parents 544c547 + 08b4c56 commit 48c9138

File tree

21 files changed

+853
-141
lines changed

21 files changed

+853
-141
lines changed

.fluxbot/Manifest.toml

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
# This file is machine-generated - editing it directly is not advised
2+
3+
[[Artifacts]]
4+
deps = ["Pkg"]
5+
git-tree-sha1 = "c30985d8821e0cd73870b17b0ed0ce6dc44cb744"
6+
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
7+
version = "1.3.0"
8+
9+
[[Base64]]
10+
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
11+
12+
[[Dates]]
13+
deps = ["Printf"]
14+
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
15+
16+
[[Distributed]]
17+
deps = ["Random", "Serialization", "Sockets"]
18+
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
19+
20+
[[FluxBot]]
21+
deps = ["GitHub", "Glob", "Pkg", "Sockets"]
22+
git-tree-sha1 = "b9e6fca2afde87f29efa248edba9699e4ce746be"
23+
repo-rev = "master"
24+
repo-url = "https://github.com/dhairyagandhi96/FluxBot.jl"
25+
uuid = "352bd040-0f98-11ea-1faf-6f930ca83554"
26+
version = "0.1.0"
27+
28+
[[GitHub]]
29+
deps = ["Base64", "Dates", "HTTP", "JSON", "MbedTLS", "Sockets", "SodiumSeal"]
30+
git-tree-sha1 = "a4f61fc1b1724e6eec1d9333eac2d4b01d8fcc8f"
31+
uuid = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26"
32+
version = "5.4.0"
33+
34+
[[Glob]]
35+
git-tree-sha1 = "4df9f7e06108728ebf00a0a11edee4b29a482bb2"
36+
uuid = "c27321d9-0574-5035-807b-f59d2c89b15c"
37+
version = "1.3.0"
38+
39+
[[HTTP]]
40+
deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets", "URIs"]
41+
git-tree-sha1 = "63055ee44b5c2b95ec1921edcf856c60124ff0c3"
42+
uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
43+
version = "0.9.2"
44+
45+
[[IniFile]]
46+
deps = ["Test"]
47+
git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8"
48+
uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f"
49+
version = "0.5.0"
50+
51+
[[InteractiveUtils]]
52+
deps = ["Markdown"]
53+
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
54+
55+
[[JLLWrappers]]
56+
git-tree-sha1 = "a431f5f2ca3f4feef3bd7a5e94b8b8d4f2f647a0"
57+
uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
58+
version = "1.2.0"
59+
60+
[[JSON]]
61+
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
62+
git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4"
63+
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
64+
version = "0.21.1"
65+
66+
[[LibGit2]]
67+
deps = ["Printf"]
68+
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
69+
70+
[[Libdl]]
71+
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
72+
73+
[[Logging]]
74+
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
75+
76+
[[Markdown]]
77+
deps = ["Base64"]
78+
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
79+
80+
[[MbedTLS]]
81+
deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"]
82+
git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe"
83+
uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
84+
version = "1.0.3"
85+
86+
[[MbedTLS_jll]]
87+
deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
88+
git-tree-sha1 = "0eef589dd1c26a3ac9d753fe1a8bcad63f956fa6"
89+
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
90+
version = "2.16.8+1"
91+
92+
[[Mmap]]
93+
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
94+
95+
[[Parsers]]
96+
deps = ["Dates"]
97+
git-tree-sha1 = "50c9a9ed8c714945e01cd53a21007ed3865ed714"
98+
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
99+
version = "1.0.15"
100+
101+
[[Pkg]]
102+
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
103+
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
104+
105+
[[Printf]]
106+
deps = ["Unicode"]
107+
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
108+
109+
[[REPL]]
110+
deps = ["InteractiveUtils", "Markdown", "Sockets"]
111+
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
112+
113+
[[Random]]
114+
deps = ["Serialization"]
115+
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
116+
117+
[[SHA]]
118+
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
119+
120+
[[Serialization]]
121+
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
122+
123+
[[Sockets]]
124+
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
125+
126+
[[SodiumSeal]]
127+
deps = ["Base64", "Libdl", "libsodium_jll"]
128+
git-tree-sha1 = "80cef67d2953e33935b41c6ab0a178b9987b1c99"
129+
uuid = "2133526b-2bfb-4018-ac12-889fb3908a75"
130+
version = "0.1.1"
131+
132+
[[Test]]
133+
deps = ["Distributed", "InteractiveUtils", "Logging", "Random"]
134+
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
135+
136+
[[URIs]]
137+
git-tree-sha1 = "7855809b88d7b16e9b029afd17880930626f54a2"
138+
uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
139+
version = "1.2.0"
140+
141+
[[UUIDs]]
142+
deps = ["Random", "SHA"]
143+
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
144+
145+
[[Unicode]]
146+
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
147+
148+
[[libsodium_jll]]
149+
deps = ["Libdl", "Pkg"]
150+
git-tree-sha1 = "7127f5f40332ccfa43ee07dcd0c4d81a27d9bb23"
151+
uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8"
152+
version = "1.0.18+1"

.fluxbot/Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[deps]
2+
FluxBot = "352bd040-0f98-11ea-1faf-6f930ca83554"

.github/workflows/fluxbot.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: FluxBot
2+
3+
on:
4+
issue_comment:
5+
types: [created, edited]
6+
7+
jobs:
8+
build:
9+
if: contains(github.event.comment.body, '@ModelZookeeper')
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
julia-version: [1.5.0]
14+
julia-arch: [x86]
15+
os: [ubuntu-latest]
16+
steps:
17+
- uses: actions/checkout@af513c7a016048ae468971c52ed77d9562c7c819 # v1.0.0
18+
- uses: julia-actions/setup-julia@v1
19+
with:
20+
version: ${{ matrix.julia-version }}
21+
- name: Install dependencies
22+
run: julia --project=.fluxbot/ -e 'using Pkg; Pkg.instantiate()'
23+
- name: FluxBot.respond
24+
env:
25+
FLUXBOT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26+
BOT_SECRET: ${{ secrets.BOT_SECRET }}
27+
MODELZOO_TRIGGER_TOKEN: ${{ secrets.MODELZOO_TRIGGER_TOKEN }}
28+
run: julia --project=.fluxbot -e 'using FluxBot; FluxBot.trial()'

Manifest.toml

Lines changed: 26 additions & 32 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 = "87491f7d03ae1b423a353aff99cf61a45e3c993a"
1818
uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
19-
version = "3.0.0"
19+
version = "3.1.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"]
@@ -99,9 +99,9 @@ version = "1.4.0"
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 = "8bd8e47ff5d34b20f0aa9641988eb660590008bc"
138138
uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
139-
version = "0.10.2"
139+
version = "0.11.0"
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 = "c26b56e9b9f0687f7ca887f6b6ded03d269e0e35"
150150
uuid = "f6369f11-7733-5829-9624-2563aa707210"
151-
version = "0.10.14"
151+
version = "0.10.15"
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"]
@@ -234,16 +234,11 @@ version = "0.4.4"
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 = "573cc0d31f9697b9d2b060130a7a3c05a4f36b78"
245240
uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd"
246-
version = "0.7.11"
241+
version = "0.7.12"
247242

248243
[[NaNMath]]
249244
git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb"
@@ -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 = "746c9de7fb87a341c809437007cbd172c4d494b4"
385379
uuid = "e88e6eb3-aa80-5325-afca-941959d7151f"
386-
version = "0.6.0"
380+
version = "0.6.2"
387381

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

NEWS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
* Dense and Conv layers no longer perform [implicit type conversion](https://github.com/FluxML/Flux.jl/pull/1394).
77
* Excise datasets in favour of other providers in the julia ecosystem.
88
* Added option to set `bias` to [false](https://github.com/FluxML/Flux.jl/pull/1379) to eliminating `bias` from being trained.
9+
* Add [CTC loss function](https://github.com/FluxML/Flux.jl/pull/1287) to Losses module
910
* Removed kwarg only constructors for [`convolutional layers`](https://github.com/FluxML/Flux.jl/pull/1379).
1011
* 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).
1112
* Moved GPU CI to use buildkite instead of GitLab
1213
* New [`Parallel` layer](https://github.com/FluxML/Flux.jl/pull/1462) adds inception module-like building blocks.
13-
* Other new features and bug fixes (see GitHub releases page)
14+
1415

1516
## v0.11.2
1617

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ 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"
3737
NNlib = "0.7.10"

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/training/training.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,36 @@ To actually train a model we need four things:
77
* A collection of data points that will be provided to the objective function.
88
* An [optimiser](optimisers.md) that will update the model parameters appropriately.
99

10-
With these we can call `train!`:
10+
Training a model is typically an iterative process, where we go over the data set,
11+
calculate the objective function over the datapoints, and optimise that.
12+
This can be visualised in the form of a simple loop.
13+
14+
```julia
15+
for d in datapoints
16+
17+
# `d` should produce a collection of arguments
18+
# to the loss function
19+
20+
# Calculate the gradients of the parameters
21+
# with respect to the loss function
22+
grads = Flux.gradient(parameters) do
23+
loss(d...)
24+
end
25+
26+
# Update the parameters based on the chosen
27+
# optimiser (opt)
28+
Flux.Optimise.update!(opt, parameters, grads)
29+
end
30+
```
31+
32+
To make it easy, Flux defines `train!`:
1133

1234
```@docs
1335
Flux.Optimise.train!
1436
```
1537

16-
There are plenty of examples in the [model zoo](https://github.com/FluxML/model-zoo).
38+
There are plenty of examples in the [model zoo](https://github.com/FluxML/model-zoo), and
39+
more information can be found on [Custom Training Loops](../models/advanced.md).
1740

1841
## Loss Functions
1942

0 commit comments

Comments
 (0)