GaussianSplatting.jl icon indicating copy to clipboard operation
GaussianSplatting.jl copied to clipboard

Not working

Open MendeBadra opened this issue 8 months ago • 1 comments

I had downloaded a colmap dataset and tried to use it in gui function. But it seems to be working but the CUDA is always says out of memory. I have tested on 2 separate gpus gtx1650 and rtx 3080ti.

MendeBadra avatar Apr 28 '25 13:04 MendeBadra

What is the resolution of images in your dataset? You may need to pass scale parameter that is multiple of 2 to fit into your GPU (which will use downscaled versions of images).

E.g.:

julia> GaussianSplatting.gui("<path-to-dataset>"; scale=4)

pxl-th avatar Apr 28 '25 14:04 pxl-th

resolutions were 4000 by 3000.

MendeBadra avatar May 31 '25 15:05 MendeBadra

I tried using scale parameter to 2 and (my images were 4000 by 3000)

and got this error:

ERROR: Out of dynamic GPU memory (trying to allocate 16 bytes)
ERROR: Out of dynamic GPU memory (trying to allocate 16 bytes)
ERROR: Out of dynamic GPU memory (trying to allocate 16 bytes)
ERROR: Out of dynamic GPU memory (trying to allocate 16 bytes)
ERROR: Out of dynamic GPU memory (trying to allocate 16 bytes)
ERROR: Out of dynamic GPU memory (trying to allocate 16 bytes)
┌ Error: Error in render loop!
│   exception = KernelException: exception thrown during kernel execution on device NVIDIA GeForce GTX 1650
└ @ NeuralGraphicsGL ~/.julia/packages/NeuralGraphicsGL/DcF5O/src/NeuralGraphicsGL.jl:294

Stacktrace:
  [1] check_exceptions()
    @ CUDA ~/.julia/packages/CUDA/oymHm/src/compiler/exceptions.jl:39
  [2] device_synchronize(; blocking::Bool, spin::Bool)
    @ CUDA ~/.julia/packages/CUDA/oymHm/lib/cudadrv/synchronization.jl:191
  [3] device_synchronize
    @ ~/.julia/packages/CUDA/oymHm/lib/cudadrv/synchronization.jl:178 [inlined]
  [4] checked_cuModuleLoadDataEx(_module::Base.RefValue{Ptr{CUDA.CUmod_st}}, image::Ptr{UInt8}, numOptions::Int64, options::Vector{CUDA.CUjit_option_enum}, optionValues::Vector{Ptr{Nothing}})
    @ CUDA ~/.julia/packages/CUDA/oymHm/lib/cudadrv/module.jl:18
  [5] CuModule(data::Vector{UInt8}, options::Dict{CUDA.CUjit_option_enum, Any})
    @ CUDA ~/.julia/packages/CUDA/oymHm/lib/cudadrv/module.jl:60
  [6] CuModule
    @ ~/.julia/packages/CUDA/oymHm/lib/cudadrv/module.jl:49 [inlined]
  [7] link(job::GPUCompiler.CompilerJob, compiled::@NamedTuple{image::Vector{UInt8}, entry::String})
    @ CUDA ~/.julia/packages/CUDA/oymHm/src/compiler/compilation.jl:414
  [8] actual_compilation(cache::Dict{Any, CuFunction}, src::Core.MethodInstance, world::UInt64, cfg::GPUCompiler.CompilerConfig{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams}, compiler::typeof(CUDA.compile), linker::typeof(CUDA.link))
    @ GPUCompiler ~/.julia/packages/GPUCompiler/1cGqD/src/execution.jl:270
  [9] cached_compilation(cache::Dict{Any, CuFunction}, src::Core.MethodInstance, cfg::GPUCompiler.CompilerConfig{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams}, compiler::Function, linker::Function)
    @ GPUCompiler ~/.julia/packages/GPUCompiler/1cGqD/src/execution.jl:159
 [10] macro expansion
    @ ~/.julia/packages/CUDA/oymHm/src/compiler/execution.jl:373 [inlined]
 [11] macro expansion
    @ ./lock.jl:267 [inlined]
 [12] cufunction(f::GPUArrays.var"#gpu_broadcast_kernel_cartesian#41", tt::Type{Tuple{KernelAbstractions.CompilerMetadata{KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicCheck, Nothing, CartesianIndices{3, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}}, KernelAbstractions.NDIteration.NDRange{3, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicSize, CartesianIndices{3, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}}, CartesianIndices{3, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}}}}, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3, CUDA.UnifiedMemory}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{SubArray{Float32, 3, CuDeviceArray{Float32, 3, 1}, Tuple{UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}, Base.Slice{Base.OneTo{Int64}}}, false}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}}}; kwargs::@Kwargs{always_inline::Bool, maxthreads::Nothing})
    @ CUDA ~/.julia/packages/CUDA/oymHm/src/compiler/execution.jl:368
 [13] macro expansion
    @ ~/.julia/packages/CUDA/oymHm/src/compiler/execution.jl:112 [inlined]
 [14] (::KernelAbstractions.Kernel{CUDABackend, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicSize, GPUArrays.var"#gpu_broadcast_kernel_cartesian#41"})(::CuArray{Float32, 3, CUDA.HostMemory}, ::Vararg{Any}; ndrange::Tuple{Int64, Int64, Int64}, workgroupsize::Nothing)
    @ CUDA.CUDAKernels ~/.julia/packages/CUDA/oymHm/src/CUDAKernels.jl:106
 [15] _copyto!
    @ ~/.julia/packages/GPUArrays/uiVyU/src/host/broadcast.jl:71 [inlined]
 [16] materialize!
    @ ~/.julia/packages/GPUArrays/uiVyU/src/host/broadcast.jl:38 [inlined]
 [17] materialize!
    @ ./broadcast.jl:911 [inlined]
 [18] gl_texture(r::GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}})
    @ GaussianSplatting ~/.julia/packages/GaussianSplatting/Va6dc/src/rasterization/rasterizer.jl:93
 [19] render!(gui::GaussianSplatting.GSGUI{GaussianSplatting.GaussianModel{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.Trainer{GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GaussianModel{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.ColmapDataset{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}, Array{UInt8, 4}}, GaussianSplatting.SSIM{Conv{2, 2, typeof(identity), CuArray{Float32, 4, CUDA.DeviceMemory}, Bool}}, GPUArrays.AllocCache, GaussianSplatting.var"#_scheduler#2"{Float32, Float32, Int64}, @NamedTuple{points::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, features_dc::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, features_rest::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, opacities::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, scales::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, rotations::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}}}, GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}})
    @ GaussianSplatting ~/.julia/packages/GaussianSplatting/Va6dc/src/gui/gui.jl:433
 [20] loop!(gui::GaussianSplatting.GSGUI{GaussianSplatting.GaussianModel{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.Trainer{GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GaussianModel{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.ColmapDataset{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}, Array{UInt8, 4}}, GaussianSplatting.SSIM{Conv{2, 2, typeof(identity), CuArray{Float32, 4, CUDA.DeviceMemory}, Bool}}, GPUArrays.AllocCache, GaussianSplatting.var"#_scheduler#2"{Float32, Float32, Int64}, @NamedTuple{points::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, features_dc::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, features_rest::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, opacities::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, scales::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, rotations::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}}}, GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}})
    @ GaussianSplatting ~/.julia/packages/GaussianSplatting/Va6dc/src/gui/gui.jl:232
 [21] #93
    @ ~/.julia/packages/GaussianSplatting/Va6dc/src/gui/gui.jl:196 [inlined]
 [22] render_loop(draw_function::GaussianSplatting.var"#93#94"{GaussianSplatting.GSGUI{GaussianSplatting.GaussianModel{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.Trainer{GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GaussianModel{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 1, CUDA.DeviceMemory}, Nothing}, GaussianSplatting.ColmapDataset{CuArray{Float32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}, Array{UInt8, 4}}, GaussianSplatting.SSIM{Conv{2, 2, typeof(identity), CuArray{Float32, 4, CUDA.DeviceMemory}, Bool}}, GPUArrays.AllocCache, GaussianSplatting.var"#_scheduler#2"{Float32, Float32, Int64}, @NamedTuple{points::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, features_dc::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, features_rest::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, opacities::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, scales::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}, rotations::NerfUtils.Adam{CuArray{Float32, 1, CUDA.DeviceMemory}}}}, GaussianSplatting.GaussianRasterizer{GaussianSplatting.ImageState{CuArray{UInt32, 2, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.GeometryState{CuArray{Float32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{2, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Bool}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{StaticArraysCore.SVector{3, Float32}, 1, CUDA.DeviceMemory}, CuArray{Int32, 1, CUDA.DeviceMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}, GaussianSplatting.BinningState{CuArray{UInt32, 1, CUDA.DeviceMemory}, CuArray{UInt64, 1, CUDA.DeviceMemory}, CuArray{UInt32, 1, CUDA.DeviceMemory}}, CuArray{Float32, 3, CUDA.DeviceMemory}, CuArray{Float32, 3, CUDA.HostMemory}, CuArray{Float32, 2, CUDA.DeviceMemory}}}}, c::NeuralGraphicsGL.Context; destroy_context::Bool)
    @ NeuralGraphicsGL ~/.julia/packages/NeuralGraphicsGL/DcF5O/src/NeuralGraphicsGL.jl:290
 [23] render_loop(draw_function::Function, c::NeuralGraphicsGL.Context)
    @ NeuralGraphicsGL ~/.julia/packages/NeuralGraphicsGL/DcF5O/src/NeuralGraphicsGL.jl:287
 [24] launch!
    @ ~/.julia/packages/GaussianSplatting/Va6dc/src/gui/gui.jl:194 [inlined]
 [25] |>
    @ ./operators.jl:917 [inlined]
 [26] gui(path::String; scale::Int64, fullscreen::Bool)
    @ GaussianSplatting ~/.julia/packages/GaussianSplatting/Va6dc/src/GaussianSplatting.jl:178
 [27] top-level scope
    @ ~/Projects/GaussianSplat/demo.jl:4
 [28] include(fname::String)
    @ Base.MainInclude ./client.jl:494
 [29] top-level scope
    @ REPL[2]:1
 [30] eval
    @ ./boot.jl:385 [inlined]
 [31] eval_user_input(ast::Any, backend::REPL.REPLBackend, mod::Module)
    @ REPL ~/.julia/juliaup/julia-1.10.9+0.x64.linux.gnu/share/julia/stdlib/v1.10/REPL/src/REPL.jl:150
 [32] repl_backend_loop(backend::REPL.REPLBackend, get_module::Function)
    @ REPL ~/.julia/juliaup/julia-1.10.9+0.x64.linux.gnu/share/julia/stdlib/v1.10/REPL/src/REPL.jl:246
 [33] start_repl_backend(backend::REPL.REPLBackend, consumer::Any; get_module::Function)
    @ REPL ~/.julia/juliaup/julia-1.10.9+0.x64.linux.gnu/share/julia/stdlib/v1.10/REPL/src/REPL.jl:231
 [34] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool, backend::Any)
    @ REPL ~/.julia/juliaup/julia-1.10.9+0.x64.linux.gnu/share/julia/stdlib/v1.10/REPL/src/REPL.jl:389
 [35] run_repl(repl::REPL.AbstractREPL, consumer::Any)
    @ REPL ~/.julia/juliaup/julia-1.10.9+0.x64.linux.gnu/share/julia/stdlib/v1.10/REPL/src/REPL.jl:375
 [36] (::Base.var"#1014#1016"{Bool, Bool, Bool})(REPL::Module)
    @ Base ./client.jl:437
 [37] #invokelatest#2
    @ ./essentials.jl:892 [inlined]
 [38] invokelatest
    @ ./essentials.jl:889 [inlined]
 [39] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
    @ Base ./client.jl:421
 [40] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:338
 [41] _start()
    @ Base ./client.jl:557

I used documentation as reference.

MendeBadra avatar May 31 '25 15:05 MendeBadra

Try version 1.0.1 (just tagged a new release) or main branch (]add https://github.com/JuliaNeuralGraphics/GaussianSplatting.jl.git), the issue was fixed some time ago.

pxl-th avatar May 31 '25 16:05 pxl-th

Image

Now I got to this screen. But screen is black and nothing showing up.

MendeBadra avatar Jun 01 '25 02:06 MendeBadra

Ah the steps and Loss are changing tho.

MendeBadra avatar Jun 01 '25 02:06 MendeBadra

I'm able to get it working. Thanks for your attention. Gaussian splatting is indeed very powerful, eventhough my gpu struggled a lot rendering xD.

MendeBadra avatar Jun 01 '25 05:06 MendeBadra

Glad to hear it! I get good performance on RTX3060M with ~1080p resolution images and disabling training when moving camera around and limiting number of gaussians to <= 1 million.

pxl-th avatar Jun 02 '25 18:06 pxl-th