formatting fixes

This commit is contained in:
Dhairya Gandhi 2019-12-05 18:14:04 +05:30
parent 717ad9328d
commit 76dc8ea9d4

View File

@ -9,23 +9,23 @@
@test gradient(x -> sum(cpu(x)), gpu(rand(3,3))) isa Tuple @test gradient(x -> sum(cpu(x)), gpu(rand(3,3))) isa Tuple
function gradtest(layers, args...; name = "Conv", xs = rand(Float32, 28, 28, 1, 1)) function gradtest(layers, args...; name = "Conv", xs = rand(Float32, 28, 28, 1, 1))
@testset "$name GPU grad tests" begin @testset "$name GPU grad tests" begin
for layer in layers for layer in layers
@testset "$layer GPU grad test" begin @testset "$layer GPU grad test" begin
l = gpu(layer(args...)) l = gpu(layer(args...))
xs = gpu(xs) xs = gpu(xs)
if l isa DepthwiseConv if l isa DepthwiseConv
@test_broken gradient(Flux.params(l)) do @test_broken gradient(Flux.params(l)) do
sum(l(xs)) sum(l(xs))
end isa Flux.Zygote.Grads end isa Flux.Zygote.Grads
else else
@test gradient(Flux.params(l)) do @test gradient(Flux.params(l)) do
sum(l(xs)) sum(l(xs))
end isa Flux.Zygote.Grads end isa Flux.Zygote.Grads
end end
end end
end end
end end
end end
# Repeats from Conv, CrossCor # Repeats from Conv, CrossCor
@ -49,38 +49,38 @@ groupnorm = [GroupNorm]
gradtest(groupnorm, 3, 1, name = "GroupNorm", xs = rand(Float32, 28,28,3,1)) gradtest(groupnorm, 3, 1, name = "GroupNorm", xs = rand(Float32, 28,28,3,1))
const stateless_layers = [Flux.mse, const stateless_layers = [Flux.mse,
Flux.crossentropy, Flux.crossentropy,
Flux.logitcrossentropy,] Flux.logitcrossentropy,]
Flux.normalise] Flux.normalise]
const stateless_layers_broadcasted = [Flux.binarycrossentropy, const stateless_layers_broadcasted = [Flux.binarycrossentropy,
Flux.logitbinarycrossentropy] Flux.logitbinarycrossentropy]
function stateless_gradtest(f, args...) function stateless_gradtest(f, args...)
@test gradient((args...) -> sum(f(args...)), args...)[1] isa CuArray @test gradient((args...) -> sum(f(args...)), args...)[1] isa CuArray
end end
function stateless_gradtest_broadcasted(f, args...) function stateless_gradtest_broadcasted(f, args...)
if f == Flux.binarycrossentropy if f == Flux.binarycrossentropy
@test_broken gradient((args...) -> sum(f.(args...)), args...)[1] isa CuArray @test_broken gradient((args...) -> sum(f.(args...)), args...)[1] isa CuArray
else else
@test gradient((args...) -> sum(f.(args...)), args...)[1] isa CuArray @test gradient((args...) -> sum(f.(args...)), args...)[1] isa CuArray
end end
end end
@testset "Stateless GPU grad tests" begin @testset "Stateless GPU grad tests" begin
x = gpu(rand(3,3)) x = gpu(rand(3,3))
y = gpu(rand(3,3)) y = gpu(rand(3,3))
for layer in stateless_layers for layer in stateless_layers
if layer == Flux.normalise if layer == Flux.normalise
stateless_gradtest(layer, x) stateless_gradtest(layer, x)
else else
stateless_gradtest(layer, x, y) stateless_gradtest(layer, x, y)
end end
end end
for layer in stateless_layers_broadcasted for layer in stateless_layers_broadcasted
stateless_gradtest_broadcasted(layer, x, y) stateless_gradtest_broadcasted(layer, x, y)
end end
end end