DataLoaders.jl
DataLoaders.jl copied to clipboard
Iterating over a simple `DataLoader` crashes at end of iteration
New to DataLoaders, so maybe missing something here.
(jl_C01aMc) pkg> st
Status `/private/var/folders/4n/gvbmlhdc8xj973001s6vdyw00000gq/T/jl_C01aMc/Project.toml`
[2e981812] DataLoaders v0.1.2
julia> x = rand(3, 20);
julia> batches = DataLoader(x, 2, collate=false, partial=false);
julia> for b in batches
println(size(b))
end
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
(3, 2)
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
Base.StackTraces.StackFrame[(::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:55, macro expansion at workerpool.jl:69 [inlined], #8 at macros.jl:19 [inlined], #62 at qpool.jl:195 [inlined], (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86]
┌ Error: Exception while executing task on worker 5. Shutting down WorkerPool.
│ e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 23:24]
│ stacktrace =
│ 6-element Vector{Base.StackTraces.StackFrame}:
│ macro expansion at logging.jl:341 [inlined]
│ (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│ macro expansion at workerpool.jl:69 [inlined]
│ #8 at macros.jl:19 [inlined]
│ #62 at qpool.jl:195 [inlined]
│ (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│ args = 12
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
┌ Error: Exception while executing task on worker 4. Shutting down WorkerPool.
│ e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 27:28]
│ stacktrace =
│ 6-element Vector{Base.StackTraces.StackFrame}:
│ macro expansion at logging.jl:341 [inlined]
│ (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│ macro expansion at workerpool.jl:69 [inlined]
│ #8 at macros.jl:19 [inlined]
│ #62 at qpool.jl:195 [inlined]
│ (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│ args = 14
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
┌ Error: Exception while executing task on worker 3. Shutting down WorkerPool.
│ e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 25:26]
│ stacktrace =
│ 6-element Vector{Base.StackTraces.StackFrame}:
│ macro expansion at logging.jl:341 [inlined]
│ (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│ macro expansion at workerpool.jl:69 [inlined]
│ #8 at macros.jl:19 [inlined]
│ #62 at qpool.jl:195 [inlined]
│ (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│ args = 13
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
┌ Error: Exception while executing task on worker 2. Shutting down WorkerPool.
│ e = BoundsError: attempt to access 3×20 Matrix{Float64} at index [1:3, 21:22]
│ stacktrace =
│ 6-element Vector{Base.StackTraces.StackFrame}:
│ macro expansion at logging.jl:341 [inlined]
│ (::DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}})(args::Int64) at workerpool.jl:56
│ macro expansion at workerpool.jl:69 [inlined]
│ #8 at macros.jl:19 [inlined]
│ #62 at qpool.jl:195 [inlined]
│ (::ThreadPools.var"#58#59"{ThreadPools.var"#62#64"{DataLoaders.var"#8#14"{DataLoaders.var"#inloop#10"{DataLoaders.WorkerPool{Int64}}}}, Tuple{Int64, Int64}})() at qpool.jl:86
│ args = 11
└ @ DataLoaders ~/.julia/packages/DataLoaders/uGlPg/src/workerpool.jl:56
julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin19.6.0)
CPU: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
Environment:
JULIA_LTS_PATH = /Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia
JULIA_PATH = /Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
JULIA_EGLOT_PATH = /Applications/Julia-1.5.app/Contents/Resources/julia/bin/julia
JULIA_NUM_THREADS = 5
JULIA_NIGHTLY_PATH = /Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia