From 9c850472858d735327efa6b8c761d86107a26f7d Mon Sep 17 00:00:00 2001 From: francescodisalvo05 Date: Thu, 17 Feb 2022 15:57:32 +0100 Subject: [PATCH 01/12] Add alexnet_cifar10 --- vision/alexnet_cifar10/alexnet_cifar10.jl | 130 ++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 vision/alexnet_cifar10/alexnet_cifar10.jl diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl new file mode 100644 index 00000000..1872cc06 --- /dev/null +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -0,0 +1,130 @@ +using MLDatasets +using Flux, Statistics +using Flux.Data: DataLoader +using Flux.Optimise: Optimiser +using Flux: onehotbatch, onecold, @epochs +using Flux.Losses: logitcrossentropy +using Base: @kwdef +using CUDA +using MLDatasets +using Images +using ProgressBars + + +function get_data(args) + ENV["DATADEPS_ALWAYS_ACCEPT"] = "true" + + # load train and test dataset + x_train, y_train = CIFAR10.traindata(Float32) + x_test, y_test = CIFAR10.testdata(Float32) + + # reshape + x_train = reshape(x_train, 32, 32, 3, :) + x_test = reshape(x_test, 32, 32, 3, :) + + # resize + x_train = imresize(x_train, (64, 64, 3)) + x_test = imresize(x_test, (64, 64, 3)) + + # one-hot-encode the labels + y_train = onehotbatch(y_train, 0:9) + y_test = onehotbatch(y_test, 0:9) + + train_loader = DataLoader((x_train, y_train), batchsize=args.batchsize, partial=false, shuffle=true) + test_loader = DataLoader((x_test, y_test), batchsize=args.batchsize, partial=false) + + return train_loader, test_loader + +end + + +function loss_function(ŷ, y) + logitcrossentropy(ŷ, y) +end + + +function evaluation_loss_accuracy(loader, model) + + loss, accuracy, counter = 0f0, 0f0, 0 + + for (x,y) in loader + ŷ = model(x) + loss += loss_function(ŷ,y) + accuracy += sum(onecold(ŷ) .== onecold(y)) + counter += 1 + end + + return loss / counter, accuracy / counter +end + +# AdaptiveMeanPool cannot be used with 64x64 because it will throw a +# DimensionMismatch. You can use it with 256x256 or bigger images +# For more information refer to: https://github.com/FluxML/model-zoo/issues/334 +function set_model(; imgsize=(64, 64,3), num_classes=10) + return Chain( + Conv((11, 11), imgsize[end]=>64, stride=(4,4), relu, pad=(2,2)), + MaxPool((3, 3), stride=(2,2)), + Conv((5, 5), 64=>192, relu, pad=(2,2)), + MaxPool((3, 3), stride=(2,2)), + Conv((3, 3), 192=>384, relu, pad=(1,1)), + Conv((3, 3), 384=>256, relu, pad=(1,1)), + Conv((3, 3), 256=>256, relu, pad=(1,1)), + MaxPool((3, 3), stride=(2,2)), + # AdaptiveMeanPool((6, 6)), + flatten, + Dropout(0.5), + Dense(256*1*1, 4096, relu), # With AdaptiveMeanPool((6, 6)) set 256 * 6 * 6 + Dropout(0.5), + Dense(4096, 4096, relu), + Dense(4096, num_classes)) +end + + +Base.@kwdef mutable struct Args + η = 1e-4 # learning rate + batchsize = 128 # batch size + epochs = 1 # number of epochs +end + + +function train(; kws...) + args = Args(; kws...) # collect options in a struct for convenience + + @info "Getting data..." + + train_loader, test_loader = get_data(args) + + model = set_model() # my implmentation + # model = alexnet() # Metalhead's implmentation + # model = LeNet5() # test pipeline + + + ps = Flux.params(model) + opt = ADAM(args.η) + + @info "Start training..." + + for epoch in 1:args.epochs + + for (x,y) in ProgressBar(train_loader) + @assert size(x) == (64, 64, 3, args.batchsize) + @assert size(y) == (10, args.batchsize) + + gs = gradient(() -> loss_function(model(x), y), ps) + Flux.Optimise.update!(opt, ps, gs) + end + + train = evaluation_loss_accuracy(train_loader, model) + test = evaluation_loss_accuracy(test_loader, model) + + println("Epoch $(epoch-1)") + println("\t Train => loss = $(train[1]) \t acc = $(train[2])") + println("\t Test => loss = $(test[1]) \t acc = $(test[2])") + + end +end + + +if abspath(PROGRAM_FILE) == @__FILE__ + train() +end \ No newline at end of file From cd820b46c008185300788cedde9baf99099194a9 Mon Sep 17 00:00:00 2001 From: francescodisalvo05 Date: Thu, 17 Feb 2022 15:57:46 +0100 Subject: [PATCH 02/12] Add docs and readme --- vision/alexnet_cifar10/README.md | 19 +++++++++++++++++++ vision/alexnet_cifar10/docs/AlexNet.png | Bin 0 -> 157491 bytes 2 files changed, 19 insertions(+) create mode 100644 vision/alexnet_cifar10/README.md create mode 100644 vision/alexnet_cifar10/docs/AlexNet.png diff --git a/vision/alexnet_cifar10/README.md b/vision/alexnet_cifar10/README.md new file mode 100644 index 00000000..fe7cff32 --- /dev/null +++ b/vision/alexnet_cifar10/README.md @@ -0,0 +1,19 @@ +# AlexNet + +

+ +

+ +The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax. To make train- ing faster, we used non-saturating neurons and a very efficient GPU implemen- tation of the convolution operation. To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective. We also entered a variant of this model in the ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry. + +> Source : [ImageNet Classification with Deep Convolutional Neural Networks](https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf) + +### Train +```julia +cd alexnet-cifar10-julia +julia alexnet_cifar.jl +``` + +### References +- [ImageNet Classification with Deep Convolutional Neural Networks](https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf) +- [Pytorch implementation](https://github.com/pytorch/vision/blob/main/torchvision/models/alexnet.py) diff --git a/vision/alexnet_cifar10/docs/AlexNet.png b/vision/alexnet_cifar10/docs/AlexNet.png new file mode 100644 index 0000000000000000000000000000000000000000..15ce217e16cbdfa13ff8fc3846644ee388ce6d50 GIT binary patch literal 157491 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 z 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

?1DLOa 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%0DlNgd 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 literal 0 HcmV?d00001 From 5254c01d220fd78bca360997624e4f74483a06e3 Mon Sep 17 00:00:00 2001 From: Francesco Di Salvo <66080706+francescodisalvo05@users.noreply.github.com> Date: Thu, 17 Feb 2022 16:17:38 +0100 Subject: [PATCH 03/12] Fix typo --- vision/alexnet_cifar10/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vision/alexnet_cifar10/README.md b/vision/alexnet_cifar10/README.md index fe7cff32..7ec958f9 100644 --- a/vision/alexnet_cifar10/README.md +++ b/vision/alexnet_cifar10/README.md @@ -10,8 +10,8 @@ The neural network, which has 60 million parameters and 650,000 neurons, consist ### Train ```julia -cd alexnet-cifar10-julia -julia alexnet_cifar.jl +cd vision/alexnet_cifar10 +julia alexnet_cifar10.jl ``` ### References From b6332adb68d053b4e85ccf253d4d276107a6c56e Mon Sep 17 00:00:00 2001 From: francescodisalvo05 Date: Thu, 17 Feb 2022 16:23:07 +0100 Subject: [PATCH 04/12] Remove CUDA --- vision/alexnet_cifar10/alexnet_cifar10.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl index 1872cc06..7f965a62 100644 --- a/vision/alexnet_cifar10/alexnet_cifar10.jl +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -5,7 +5,6 @@ using Flux.Optimise: Optimiser using Flux: onehotbatch, onecold, @epochs using Flux.Losses: logitcrossentropy using Base: @kwdef -using CUDA using MLDatasets using Images using ProgressBars From b22a066f58b7e7d1d606b43eb130cff4275f908c Mon Sep 17 00:00:00 2001 From: francescodisalvo05 Date: Thu, 17 Feb 2022 16:28:50 +0100 Subject: [PATCH 05/12] Add Manifest.toml and Project.toml --- vision/alexnet_cifar10/Manifest.toml | 822 +++++++++++++++++++++++++++ vision/alexnet_cifar10/Project.toml | 14 + 2 files changed, 836 insertions(+) create mode 100644 vision/alexnet_cifar10/Manifest.toml create mode 100644 vision/alexnet_cifar10/Project.toml diff --git a/vision/alexnet_cifar10/Manifest.toml b/vision/alexnet_cifar10/Manifest.toml new file mode 100644 index 00000000..52b371d3 --- /dev/null +++ b/vision/alexnet_cifar10/Manifest.toml @@ -0,0 +1,822 @@ +# This file is machine-generated - editing it directly is not advised + +[[AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "051c95d6836228d120f5f4b984dd5aba1624f716" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "0.5.0" + +[[AbstractTrees]] +deps = ["Markdown"] +git-tree-sha1 = "33e450545eaf7699da1a6e755f9ea65f14077a45" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.3.3" + +[[Adapt]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "345a14764e43fe927d6f5c250fe4c8e4664e6ee8" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "2.4.0" + +[[Artifacts]] +deps = ["Pkg"] +git-tree-sha1 = "c30985d8821e0cd73870b17b0ed0ce6dc44cb744" +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.3.0" + +[[AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "a4d07a1c313392a77042855df46c5f534076fab9" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.0" + +[[AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "f31f50712cbdf40ee8287f0443b57503e34122ef" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.3" + +[[BFloat16s]] +deps = ["LinearAlgebra", "Test"] +git-tree-sha1 = "4af69e205efc343068dc8722b8dfec1ade89254a" +uuid = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" +version = "0.1.0" + +[[Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[BinDeps]] +deps = ["Libdl", "Pkg", "SHA", "URIParser", "Unicode"] +git-tree-sha1 = "1289b57e8cf019aede076edab0587eb9644175bd" +uuid = "9e28174c-4ba2-5203-b857-d8d62c4213ee" +version = "1.0.2" + +[[BinaryProvider]] +deps = ["Libdl", "Logging", "SHA"] +git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" +uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" +version = "0.5.10" + +[[Blosc]] +deps = ["Blosc_jll"] +git-tree-sha1 = "84cf7d0f8fd46ca6f1b3e0305b4b4a37afe50fd6" +uuid = "a74b3585-a348-5f62-a45c-50e91977d574" +version = "0.7.0" + +[[Blosc_jll]] +deps = ["Libdl", "Lz4_jll", "Pkg", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "aa9ef39b54a168c3df1b2911e7797e4feee50fbe" +uuid = "0b7ba130-8d10-5ba8-a3d6-c5182647fed9" +version = "1.14.3+1" + +[[BufferedStreams]] +deps = ["Compat", "Test"] +git-tree-sha1 = "5d55b9486590fdda5905c275bb21ce1f0754020f" +uuid = "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d" +version = "1.0.0" + +[[CEnum]] +git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.1" + +[[CUDA]] +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"] +git-tree-sha1 = "39f6f584bec264ace76f924d1c8637c85617697e" +uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" +version = "2.4.0" + +[[CatIndices]] +deps = ["CustomUnitRanges", "OffsetArrays"] +git-tree-sha1 = "a0f80a09780eed9b1d106a1bf62041c2efc995bc" +uuid = "aafaddc9-749c-510e-ac4f-586e18779b91" +version = "0.2.2" + +[[ChainRules]] +deps = ["ChainRulesCore", "Compat", "LinearAlgebra", "Random", "Reexport", "Requires", "Statistics"] +git-tree-sha1 = "0af5c12e5528fc2df87a5f084195f10bfbf03a28" +uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" +version = "0.7.48" + +[[ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "89a0b14325d0f02f9caed7c8ba91181a5d254874" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "0.9.26" + +[[CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.0" + +[[ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "4bffea7ed1a9f0f3d1a131bbcd4b925548d75288" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.10.9" + +[[ColorVectorSpace]] +deps = ["ColorTypes", "Colors", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "StatsBase"] +git-tree-sha1 = "4d17724e99f357bfd32afa0a9e2dda2af31a9aea" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.8.7" + +[[Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Reexport"] +git-tree-sha1 = "ac5f2213e56ed8a34a3dd2f681f4df1166b34929" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.6" + +[[CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + +[[Compat]] +deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] +git-tree-sha1 = "919c7f3151e79ff196add81d7f4e45d91bbf420b" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "3.25.0" + +[[CompilerSupportLibraries_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "8e695f735fca77e9708e795eda62afdb869cbb70" +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "0.3.4+0" + +[[ComputationalResources]] +git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" +uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" +version = "0.3.2" + +[[CoordinateTransformations]] +deps = ["LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "6d1c23e740a586955645500bbec662476204a52c" +uuid = "150eb455-5306-5404-9cee-2592286d6298" +version = "0.6.1" + +[[CustomUnitRanges]] +git-tree-sha1 = "537c988076d001469093945f3bd0b300b8d3a7f3" +uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" +version = "1.0.1" + +[[DataAPI]] +git-tree-sha1 = "ad84f52c0b8f05aa20839484dbaf01690b41ff84" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.4.0" + +[[DataDeps]] +deps = ["BinaryProvider", "HTTP", "Libdl", "Reexport", "SHA", "p7zip_jll"] +git-tree-sha1 = "9f69dd052eaf292edd42d4bed999dfbd291927a0" +uuid = "124859b0-ceae-595e-8997-d05f6a7a8dfe" +version = "0.7.6" + +[[DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "fb0aa371da91c1ff9dc7fbed6122d3e411420b9c" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.8" + +[[Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[DelimitedFiles]] +deps = ["Mmap"] +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" + +[[DiffResults]] +deps = ["StaticArrays"] +git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.0.3" + +[[DiffRules]] +deps = ["NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "214c3fcac57755cfda163d91c58893a8723f93e9" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.0.2" + +[[Distances]] +deps = ["LinearAlgebra", "Statistics"] +git-tree-sha1 = "e8b13ba5f166e11df2de6fc283e5db7864245df0" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.0" + +[[Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[EllipsisNotation]] +git-tree-sha1 = "18ee049accec8763be17a933737c1dd0fdf8673a" +uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" +version = "1.0.0" + +[[ExprTools]] +git-tree-sha1 = "10407a39b87f29d47ebaca8edbc75d7c302ff93e" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.3" + +[[FFTViews]] +deps = ["CustomUnitRanges", "FFTW"] +git-tree-sha1 = "70a0cfd9b1c86b0209e38fbfe6d8231fd606eeaf" +uuid = "4f61f5a4-77b1-5117-aa51-3ab5ef4ef0cd" +version = "0.3.1" + +[[FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "IntelOpenMP_jll", "Libdl", "LinearAlgebra", "MKL_jll", "Reexport"] +git-tree-sha1 = "8fda0934cb99db617171f7296dc361f4d6fa5424" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.3.0" + +[[FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "5a0d4b6a22a34d17d53543bd124f4b08ed78e8b0" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.9+7" + +[[FileIO]] +deps = ["Pkg"] +git-tree-sha1 = "fee8955b9dfa7bec67117ef48085fb2b559b9c22" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.4.5" + +[[FillArrays]] +deps = ["LinearAlgebra", "Random", "SparseArrays"] +git-tree-sha1 = "8bd8e47ff5d34b20f0aa9641988eb660590008bc" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "0.11.0" + +[[FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[Flux]] +deps = ["AbstractTrees", "Adapt", "CUDA", "CodecZlib", "Colors", "DelimitedFiles", "Functors", "Juno", "LinearAlgebra", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "SHA", "Statistics", "StatsBase", "Test", "ZipFile", "Zygote"] +git-tree-sha1 = "f688d61b40b345aa9f0a4a41d3ca7750ad9cb1f6" +uuid = "587475ba-b771-5e3f-ad9e-33799f191a9c" +version = "0.11.4" + +[[ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"] +git-tree-sha1 = "c26b56e9b9f0687f7ca887f6b6ded03d269e0e35" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.15" + +[[Functors]] +deps = ["MacroTools"] +git-tree-sha1 = "f40adc6422f548176bb4351ebd29e4abf773040a" +uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" +version = "0.1.0" + +[[GPUArrays]] +deps = ["AbstractFFTs", "Adapt", "LinearAlgebra", "Printf", "Random", "Serialization"] +git-tree-sha1 = "f99a25fe0313121f2f9627002734c7d63b4dd3bd" +uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" +version = "6.2.0" + +[[GPUCompiler]] +deps = ["DataStructures", "InteractiveUtils", "LLVM", "Libdl", "Scratch", "Serialization", "TimerOutputs", "UUIDs"] +git-tree-sha1 = "c853c810b52a80f9aad79ab109207889e57f41ef" +uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" +version = "0.8.3" + +[[GZip]] +deps = ["Libdl"] +git-tree-sha1 = "039be665faf0b8ae36e089cd694233f5dee3f7d6" +uuid = "92fee26a-97fe-5a0c-ad85-20a5f3185b63" +version = "0.5.1" + +[[Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "45d684ead5b65c043ad46bd5be750d61c39d7ef8" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.0.2" + +[[HDF5]] +deps = ["Blosc", "Compat", "HDF5_jll", "Libdl", "Mmap", "Random", "Requires"] +git-tree-sha1 = "8be8b31df938483ba2ab27f38a8bc91a9e43ae92" +uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +version = "0.14.3" + +[[HDF5_jll]] +deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "fd83fa0bde42e01952757f01149dd968c06c4dba" +uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" +version = "1.12.0+1" + +[[HTTP]] +deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets", "URIs"] +git-tree-sha1 = "63055ee44b5c2b95ec1921edcf856c60124ff0c3" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "0.9.2" + +[[IRTools]] +deps = ["InteractiveUtils", "MacroTools", "Test"] +git-tree-sha1 = "c67e7515a11f726f44083e74f218d134396d6510" +uuid = "7869d1d1-7146-5819-86e3-90919afe41df" +version = "0.4.2" + +[[IdentityRanges]] +deps = ["OffsetArrays"] +git-tree-sha1 = "be8fcd695c4da16a1d6d0cd213cb88090a150e3b" +uuid = "bbac6d45-d8f3-5730-bfe4-7a449cd117ca" +version = "0.3.1" + +[[ImageAxes]] +deps = ["AxisArrays", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "1592c7fd668ac9cdcef73f704ca457ccdaac2933" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.8" + +[[ImageContrastAdjustment]] +deps = ["ColorVectorSpace", "ImageCore", "ImageTransformations", "Parameters"] +git-tree-sha1 = "210f8fb370d4b97fa12d65322c62df06f3e5563b" +uuid = "f332f351-ec65-5f6a-b3d1-319c6670881a" +version = "0.3.6" + +[[ImageCore]] +deps = ["AbstractFFTs", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] +git-tree-sha1 = "79badd979fbee9b8980cd995cd5a86a9e93b8ad7" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.8.20" + +[[ImageDistances]] +deps = ["ColorVectorSpace", "Distances", "ImageCore", "LinearAlgebra", "Statistics"] +git-tree-sha1 = "c6dcdcf7e3088603fa9151fdb63f90082ec3b4db" +uuid = "51556ac3-7006-55f5-8cb3-34580c88182d" +version = "0.2.9" + +[[ImageFiltering]] +deps = ["CatIndices", "ColorVectorSpace", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageCore", "ImageMetadata", "LinearAlgebra", "OffsetArrays", "Requires", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] +git-tree-sha1 = "ac8321781d375dd0ac8571072f538866c279a216" +uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" +version = "0.6.18" + +[[ImageMagick]] +deps = ["FileIO", "ImageCore", "ImageMagick_jll", "InteractiveUtils", "Libdl", "Pkg", "Random"] +git-tree-sha1 = "02558f83932fde6ebd3ab007dbff6bd8740a8247" +uuid = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" +version = "1.1.6" + +[[ImageMagick_jll]] +deps = ["JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1c0a2295cca535fabaf2029062912591e9b61987" +uuid = "c73af94c-d91f-53ed-93a7-00f77d67a9d7" +version = "6.9.10-12+3" + +[[ImageMetadata]] +deps = ["AxisArrays", "ColorVectorSpace", "ImageAxes", "ImageCore", "IndirectArrays"] +git-tree-sha1 = "ff77c7f234e7d8a618958fcf23b6959f2cbef2c6" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.4" + +[[ImageMorphology]] +deps = ["ColorVectorSpace", "ImageCore", "LinearAlgebra", "TiledIteration"] +git-tree-sha1 = "113df7743f1e18da5f5ea5f98eb59ceb77092734" +uuid = "787d08f9-d448-5407-9aad-5290dd7ab264" +version = "0.2.9" + +[[ImageQualityIndexes]] +deps = ["ColorVectorSpace", "ImageCore", "ImageDistances", "ImageFiltering", "OffsetArrays", "Statistics"] +git-tree-sha1 = "80484f9e1beae36860ed8022f195d04c751cfec6" +uuid = "2996bd0c-7a13-11e9-2da2-2f5ce47296a9" +version = "0.2.1" + +[[ImageShow]] +deps = ["Base64", "FileIO", "ImageCore", "Requires"] +git-tree-sha1 = "c9df184bc7c2e665f971079174aabb7d18f1845f" +uuid = "4e3cecfd-b093-5904-9786-8bbb286a6a31" +version = "0.2.3" + +[[ImageTransformations]] +deps = ["AxisAlgorithms", "ColorVectorSpace", "CoordinateTransformations", "IdentityRanges", "ImageCore", "Interpolations", "OffsetArrays", "Rotations", "StaticArrays"] +git-tree-sha1 = "b9ed11686a335d7f981e97ddc588f81b1a6f5fa3" +uuid = "02fcd773-0e25-5acc-982a-7f6622650795" +version = "0.8.8" + +[[Images]] +deps = ["AxisArrays", "Base64", "ColorVectorSpace", "FileIO", "Graphics", "ImageAxes", "ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageShow", "ImageTransformations", "IndirectArrays", "OffsetArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"] +git-tree-sha1 = "535bcaae047f017f4fd7331ee859b75f2b27e505" +uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +version = "0.23.3" + +[[IndirectArrays]] +git-tree-sha1 = "c2a145a145dc03a7620af1444e0264ef907bd44f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "0.5.1" + +[[IniFile]] +deps = ["Test"] +git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" +uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" +version = "0.5.0" + +[[IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "d979e54b71da82f3a65b62553da4fc3d18c9004c" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2018.0.3+2" + +[[InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[Interpolations]] +deps = ["AxisAlgorithms", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "eb1dd6d5b2275faaaa18533e0fc5f9171cec25fa" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.13.1" + +[[IntervalSets]] +deps = ["Dates", "EllipsisNotation", "Statistics"] +git-tree-sha1 = "93a6d78525feb0d3ee2a2ae83a7d04db1db5663f" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.5.2" + +[[IterTools]] +git-tree-sha1 = "05110a2ab1fc5f932622ffea2a003221f4782c18" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.3.0" + +[[JLLWrappers]] +git-tree-sha1 = "a431f5f2ca3f4feef3bd7a5e94b8b8d4f2f647a0" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.2.0" + +[[JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9aff0587d9603ea0de2c6f6300d9f9492bbefbd3" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.0.1+3" + +[[Juno]] +deps = ["Base64", "Logging", "Media", "Profile"] +git-tree-sha1 = "07cb43290a840908a771552911a6274bc6c072c7" +uuid = "e5e0dc1b-0480-54bc-9374-aad01c23163d" +version = "0.8.4" + +[[LLVM]] +deps = ["CEnum", "Libdl", "Printf", "Unicode"] +git-tree-sha1 = "d0d99629d6ae4a3e211ae83d8870907bd842c811" +uuid = "929cbde3-209d-540e-8aea-75f648917ca0" +version = "3.5.2" + +[[LibCURL_jll]] +deps = ["LibSSH2_jll", "Libdl", "MbedTLS_jll", "Pkg", "Zlib_jll", "nghttp2_jll"] +git-tree-sha1 = "897d962c20031e6012bba7b3dcb7a667170dad17" +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.70.0+2" + +[[LibGit2]] +deps = ["Printf"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[LibSSH2_jll]] +deps = ["Libdl", "MbedTLS_jll", "Pkg"] +git-tree-sha1 = "717705533148132e5466f2924b9a3657b16158e8" +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.9.0+3" + +[[Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "291dd857901f94d683973cdf679984cdf73b56d0" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.1.0+2" + +[[LinearAlgebra]] +deps = ["Libdl"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[Lz4_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "51b1db0732bbdcfabb60e36095cc3ed9c0016932" +uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" +version = "1.9.2+2" + +[[MAT]] +deps = ["BufferedStreams", "CodecZlib", "HDF5", "SparseArrays"] +git-tree-sha1 = "61f049fe2f7168b8002d5794a1bb37f1f3bc92e4" +uuid = "23992714-dd62-5051-b70f-ba57cb901cac" +version = "0.9.2" + +[[MKL_jll]] +deps = ["IntelOpenMP_jll", "Libdl", "Pkg"] +git-tree-sha1 = "eb540ede3aabb8284cb482aa41d00d6ca850b1f8" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2020.2.254+0" + +[[MLDatasets]] +deps = ["BinDeps", "ColorTypes", "DataDeps", "DelimitedFiles", "FixedPointNumbers", "GZip", "MAT", "Requires"] +git-tree-sha1 = "163a628fb306280708baff9aa383c5469267e1c1" +uuid = "eb30cadb-4394-5ae3-aed4-317e484a6458" +version = "0.5.3" + +[[MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "6a8a2a625ab0dea913aba95c11370589e0239ff0" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.6" + +[[MappedArrays]] +deps = ["FixedPointNumbers"] +git-tree-sha1 = "b92bd220c95a8bbe89af28f11201fd080e0e3fe7" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.3.0" + +[[Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] +git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.0.3" + +[[MbedTLS_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0eef589dd1c26a3ac9d753fe1a8bcad63f956fa6" +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.16.8+1" + +[[Media]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "75a54abd10709c01f1b86b84ec225d26e840ed58" +uuid = "e89f7d12-3494-54d1-8411-f7d8b9ae1f27" +version = "0.5.0" + +[[Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "ed61674a0864832495ffe0a7e889c0da76b0f4c8" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "0.4.4" + +[[Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews"] +git-tree-sha1 = "614e8d77264d20c1db83661daadfab38e8e4b77e" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.2.4" + +[[NNlib]] +deps = ["ChainRulesCore", "LinearAlgebra", "Pkg", "Requires", "Statistics"] +git-tree-sha1 = "13fd29731c7f609cb82a3a544c5538584d22c153" +uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd" +version = "0.7.11" + +[[NaNMath]] +git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "0.3.5" + +[[OffsetArrays]] +deps = ["Adapt"] +git-tree-sha1 = "6247fe4b373b354b9b7fc155ae9c137267c9a07f" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.5.1" + +[[OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "71bbbc616a1d710879f5a1021bcba65ffba6ce58" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "1.1.1+6" + +[[OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9db77584158d0ab52307f8c04f8e7c08ca76b5b3" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.3+4" + +[[OrderedCollections]] +git-tree-sha1 = "cf59cfed2e2c12e8a2ff0a4f1e9b2cd8650da6db" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.3.2" + +[[PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "91d229e113e8975a399e40d7c0b1ddf4da6d3c59" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.7" + +[[Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "38b2e970043613c187bd56a995fe2e551821eb4a" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.1" + +[[Pkg]] +deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" + +[[Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + +[[REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[Random]] +deps = ["Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[Ratios]] +git-tree-sha1 = "37d210f612d70f3f7d57d488cb3b6eff56ad4e41" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.0" + +[[Reexport]] +deps = ["Pkg"] +git-tree-sha1 = "7b1d07f411bc8ddb7977ec7f377b97b158514fe0" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "0.2.0" + +[[Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "cfbac6c1ed70c002ec6361e7fd334f02820d6419" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.1.2" + +[[Rotations]] +deps = ["LinearAlgebra", "StaticArrays", "Statistics"] +git-tree-sha1 = "2ed8d8a16d703f900168822d83699b8c3c1a5cd8" +uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" +version = "1.0.2" + +[[SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" + +[[Scratch]] +deps = ["Dates"] +git-tree-sha1 = "ad4b278adb62d185bbcb6864dc24959ab0627bf6" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.0.3" + +[[Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "daf7aec3fe3acb2131388f93a4c409b8c7f62226" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.3" + +[[Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[SortingAlgorithms]] +deps = ["DataStructures", "Random", "Test"] +git-tree-sha1 = "03f5898c9959f8115e30bc7226ada7d0df554ddd" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "0.3.1" + +[[SparseArrays]] +deps = ["LinearAlgebra", "Random"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[SpecialFunctions]] +deps = ["ChainRulesCore", "OpenSpecFun_jll"] +git-tree-sha1 = "75394dbe2bd346beeed750fb02baa6445487b862" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "1.2.1" + +[[StaticArrays]] +deps = ["LinearAlgebra", "Random", "Statistics"] +git-tree-sha1 = "9da72ed50e94dbff92036da395275ed114e04d49" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.0.1" + +[[Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics"] +git-tree-sha1 = "7bab7d4eb46b225b35179632852b595a3162cb61" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.2" + +[[Test]] +deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[TiledIteration]] +deps = ["OffsetArrays"] +git-tree-sha1 = "05f74c5b3c00d5336bc109416df2df907e3bd91d" +uuid = "06e1c1a7-607b-532d-9fad-de7d9aa2abac" +version = "0.2.5" + +[[TimerOutputs]] +deps = ["Printf"] +git-tree-sha1 = "3318281dd4121ecf9713ce1383b9ace7d7476fdd" +uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +version = "0.5.7" + +[[TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.5" + +[[URIParser]] +deps = ["Unicode"] +git-tree-sha1 = "53a9f49546b8d2dd2e688d216421d050c9a31d0d" +uuid = "30578b45-9adc-5946-b283-645ec420af67" +version = "0.4.1" + +[[URIs]] +git-tree-sha1 = "7855809b88d7b16e9b029afd17880930626f54a2" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.2.0" + +[[UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "59e2ad8fd1591ea019a5259bd012d7aee15f995c" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.3" + +[[ZipFile]] +deps = ["Libdl", "Printf", "Zlib_jll"] +git-tree-sha1 = "c3a5637e27e914a7a445b8d0ad063d701931e9f7" +uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" +version = "0.9.3" + +[[Zlib_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "320228915c8debb12cb434c59057290f0834dbf6" +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.11+18" + +[[Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6f1abcb0c44f184690912aa4b0ba861dd64f11b9" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.4.5+2" + +[[Zygote]] +deps = ["AbstractFFTs", "ChainRules", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"] +git-tree-sha1 = "52032f3eb3bf383df34f5455c031457632e8c6d4" +uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" +version = "0.6.1" + +[[ZygoteRules]] +deps = ["MacroTools"] +git-tree-sha1 = "9e7a1e8ca60b742e508a315c17eef5211e7fbfd7" +uuid = "700de1a5-db45-46bc-99cf-38207098b444" +version = "0.2.1" + +[[libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "6abbc424248097d69c0c87ba50fcb0753f93e0ee" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.37+6" + +[[nghttp2_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "8e2c44ab4d49ad9518f359ed8b62f83ba8beede4" +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.40.0+2" + +[[p7zip_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee65cfa19bea645698a0224bfa216f2b1c8b559f" +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "16.2.0+3" diff --git a/vision/alexnet_cifar10/Project.toml b/vision/alexnet_cifar10/Project.toml new file mode 100644 index 00000000..0bb4b41e --- /dev/null +++ b/vision/alexnet_cifar10/Project.toml @@ -0,0 +1,14 @@ +[deps] +CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" +Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" +ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" +Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +MLDatasets = "eb30cadb-4394-5ae3-aed4-317e484a6458" +Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" +Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[compat] +CUDA = "2.4.0" +Flux = "0.11.4" +julia = "1.5" From 6677d94374367e96a9b86d98ff3b96cf50e8c6c2 Mon Sep 17 00:00:00 2001 From: francescodisalvo05 Date: Thu, 17 Feb 2022 16:29:12 +0100 Subject: [PATCH 06/12] Update epochs --- vision/alexnet_cifar10/alexnet_cifar10.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl index 7f965a62..dbbeb899 100644 --- a/vision/alexnet_cifar10/alexnet_cifar10.jl +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -82,7 +82,7 @@ end Base.@kwdef mutable struct Args η = 1e-4 # learning rate batchsize = 128 # batch size - epochs = 1 # number of epochs + epochs = 10 # number of epochs end From fd19efc17d7523c839b6fd39ec24bf68fc131db4 Mon Sep 17 00:00:00 2001 From: Francesco Di Salvo <66080706+francescodisalvo05@users.noreply.github.com> Date: Thu, 17 Feb 2022 16:32:32 +0100 Subject: [PATCH 07/12] Add AlexNet --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dd46c326..7351ebfa 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,9 @@ We welcome contributions of new models. They should be in a folder with a projec * [Variational Auto-Encoder](vision/vae_mnist) * [Deep Convolutional Generative Adversarial Networks](vision/dcgan_mnist) * [Conditional Deep Convolutional Generative Adversarial Networks](vision/cdcgan_mnist) - * [VGG 16/19 on CIFAR10](vision/vgg_cifar10) + * CIFAR10 + * [VGG 16/19](vision/vgg_cifar10) + * [AlexNet](vision/alexnet_cifar10) * Text * [CharRNN](text/char-rnn) * [Character-level language detection](text/lang-detection) From 985794f5f735253b248d687883d049cd32d91443 Mon Sep 17 00:00:00 2001 From: Francesco Di Salvo <66080706+francescodisalvo05@users.noreply.github.com> Date: Mon, 7 Mar 2022 07:00:39 +0100 Subject: [PATCH 08/12] Remove space Co-authored-by: Brian Chen --- vision/alexnet_cifar10/alexnet_cifar10.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl index dbbeb899..27ee8b12 100644 --- a/vision/alexnet_cifar10/alexnet_cifar10.jl +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -33,7 +33,6 @@ function get_data(args) test_loader = DataLoader((x_test, y_test), batchsize=args.batchsize, partial=false) return train_loader, test_loader - end From 679097e86e6c2140211d7cb0825b9652e71cc85f Mon Sep 17 00:00:00 2001 From: Francesco Di Salvo <66080706+francescodisalvo05@users.noreply.github.com> Date: Mon, 7 Mar 2022 07:00:59 +0100 Subject: [PATCH 09/12] Remove space Co-authored-by: Brian Chen --- vision/alexnet_cifar10/alexnet_cifar10.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl index 27ee8b12..60008db3 100644 --- a/vision/alexnet_cifar10/alexnet_cifar10.jl +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -42,7 +42,6 @@ end function evaluation_loss_accuracy(loader, model) - loss, accuracy, counter = 0f0, 0f0, 0 for (x,y) in loader From 897b0b198064b9b0f361add5714a07f73d1eb141 Mon Sep 17 00:00:00 2001 From: Francesco Di Salvo <66080706+francescodisalvo05@users.noreply.github.com> Date: Mon, 7 Mar 2022 07:01:13 +0100 Subject: [PATCH 10/12] Remove comments Co-authored-by: Brian Chen --- vision/alexnet_cifar10/alexnet_cifar10.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl index 60008db3..38cd2169 100644 --- a/vision/alexnet_cifar10/alexnet_cifar10.jl +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -92,8 +92,6 @@ function train(; kws...) train_loader, test_loader = get_data(args) model = set_model() # my implmentation - # model = alexnet() # Metalhead's implmentation - # model = LeNet5() # test pipeline ps = Flux.params(model) From fb56c8d24b2eb3c56917cd37597931d9632d1f2a Mon Sep 17 00:00:00 2001 From: francescodisalvo05 Date: Mon, 7 Mar 2022 07:08:53 +0100 Subject: [PATCH 11/12] Remove tab --- vision/alexnet_cifar10/alexnet_cifar10.jl | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/vision/alexnet_cifar10/alexnet_cifar10.jl b/vision/alexnet_cifar10/alexnet_cifar10.jl index 38cd2169..87349030 100644 --- a/vision/alexnet_cifar10/alexnet_cifar10.jl +++ b/vision/alexnet_cifar10/alexnet_cifar10.jl @@ -59,21 +59,21 @@ end # For more information refer to: https://github.com/FluxML/model-zoo/issues/334 function set_model(; imgsize=(64, 64,3), num_classes=10) return Chain( - Conv((11, 11), imgsize[end]=>64, stride=(4,4), relu, pad=(2,2)), - MaxPool((3, 3), stride=(2,2)), - Conv((5, 5), 64=>192, relu, pad=(2,2)), - MaxPool((3, 3), stride=(2,2)), - Conv((3, 3), 192=>384, relu, pad=(1,1)), - Conv((3, 3), 384=>256, relu, pad=(1,1)), - Conv((3, 3), 256=>256, relu, pad=(1,1)), - MaxPool((3, 3), stride=(2,2)), - # AdaptiveMeanPool((6, 6)), - flatten, - Dropout(0.5), - Dense(256*1*1, 4096, relu), # With AdaptiveMeanPool((6, 6)) set 256 * 6 * 6 - Dropout(0.5), - Dense(4096, 4096, relu), - Dense(4096, num_classes)) + Conv((11, 11), imgsize[end]=>64, stride=(4,4), relu, pad=(2,2)), + MaxPool((3, 3), stride=(2,2)), + Conv((5, 5), 64=>192, relu, pad=(2,2)), + MaxPool((3, 3), stride=(2,2)), + Conv((3, 3), 192=>384, relu, pad=(1,1)), + Conv((3, 3), 384=>256, relu, pad=(1,1)), + Conv((3, 3), 256=>256, relu, pad=(1,1)), + MaxPool((3, 3), stride=(2,2)), + # AdaptiveMeanPool((6, 6)), + flatten, + Dropout(0.5), + Dense(256*1*1, 4096, relu), # With AdaptiveMeanPool((6, 6)) set 256 * 6 * 6 + Dropout(0.5), + Dense(4096, 4096, relu), + Dense(4096, num_classes)) end From 5ce06ca9ea98b4f1f14b16c79b634ab7cbd18a51 Mon Sep 17 00:00:00 2001 From: Francesco Di Salvo <66080706+francescodisalvo05@users.noreply.github.com> Date: Mon, 7 Mar 2022 09:27:45 +0100 Subject: [PATCH 12/12] Update model description --- vision/alexnet_cifar10/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vision/alexnet_cifar10/README.md b/vision/alexnet_cifar10/README.md index 7ec958f9..bf5c5986 100644 --- a/vision/alexnet_cifar10/README.md +++ b/vision/alexnet_cifar10/README.md @@ -4,7 +4,7 @@

-The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax. To make train- ing faster, we used non-saturating neurons and a very efficient GPU implemen- tation of the convolution operation. To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective. We also entered a variant of this model in the ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry. +AlexNet, proposed by Alex Krizhevsky and colleagues in 2012, partecipated in the ImageNet Large Scale Visual Recognition Challenge, obtaining outstanding results: top-5 error of 15.3%. It presents five convolutional layers and three fully-connected layers. One of the main contributions of this architecture was a first use of the ReLU activation function rather than the old well established tanh. Moreover, for the first time an architecture was able to support multi-GPU training, making the training faster. Lastly, in order to overcome overfitting, two other solutions were applied: Dropout (randomly inactivation of neurons) and Data Augumentation. > Source : [ImageNet Classification with Deep Convolutional Neural Networks](https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf)