We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
similar
These are currently only required for NNlib compatibility with convolutional layers, as the following error is otherwise thrown:
TaskFailedException nested task error: UndefRefError: access to undefined reference Stacktrace: [1] getindex @ ./essentials.jl:14 [inlined] [2] getindex @ ./subarray.jl:290 [inlined] [3] conv_direct!(y::SubArray{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5, Array{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}, x::SubArray{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5, Array{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}, w::SubArray{Float64, 5, Array{Float64, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}}, true}, cdims::NNlib.DenseConvDims{3, 3, 3, 6, 3}, ::Val{(2, 2, 1)}, ::Val{1}, ::Val{(0, 0, 0, 0, 0, 0)}, ::Val{(1, 1, 1)}, ::Val{(1, 1, 1)}, fk::Val{false}; alpha::Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, beta::Bool) @ NNlib ~/.julia/packages/NNlib/g1Wwt/src/impl/conv_direct.jl:111 [4] conv_direct!(y::SubArray{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5, Array{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}, x::SubArray{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5, Array{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}, w::SubArray{Float64, 5, Array{Float64, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}}, true}, cdims::NNlib.DenseConvDims{3, 3, 3, 6, 3}; alpha::Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, beta::Bool) @ NNlib ~/.julia/packages/NNlib/g1Wwt/src/impl/conv_direct.jl:50 [5] conv_direct! @ ~/.julia/packages/NNlib/g1Wwt/src/impl/conv_direct.jl:47 [inlined] [6] (::NNlib.var"#307#311"{@Kwargs{}, NNlib.DenseConvDims{3, 3, 3, 6, 3}, SubArray{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5, Array{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}, SubArray{Float64, 5, Array{Float64, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}}, true}, SubArray{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5, Array{Dual{Float64, GradientTracer{DuplicateVector{Int64}}}, 5}, Tuple{Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}, UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}})() @ NNlib ~/.julia/packages/NNlib/g1Wwt/src/conv.jl:209
However, this does look like a workaround for unusual behavior of NNlib, since the following line most likely shouldn't try to access undef variables: https://github.com/FluxML/NNlib.jl/blob/381a41f2b912eb924f1a6c256a9bf49a593e4b67/src/impl/conv_direct.jl#L111
undef
The text was updated successfully, but these errors were encountered:
Fix three-arg similar, add TODO for PR #123
6f1082c
Related fix in NNlib: FluxML/NNlib.jl#592
Sorry, something went wrong.
adrhill
Successfully merging a pull request may close this issue.
These are currently only required for NNlib compatibility with convolutional layers, as the following error is otherwise thrown:
However, this does look like a workaround for unusual behavior of NNlib, since the following line most likely shouldn't try to access
undef
variables:https://github.com/FluxML/NNlib.jl/blob/381a41f2b912eb924f1a6c256a9bf49a593e4b67/src/impl/conv_direct.jl#L111
The text was updated successfully, but these errors were encountered: