определение нового метода неоднозначно - PullRequest
0 голосов
/ 03 октября 2019

Я хочу использовать код из: https://github.com/nboyd/SparseInverseProblems.jl. Я ничего не делал с Джулией раньше. Я пытался запустить примеры. Примеры simple_example и sysid работают нормально. Однако у меня была проблема с smi . Сначала я заменил imread на load, чтобы удалить предупреждение об устаревании. Затем я запустил julia run.jl, что привело к следующей ошибке:

WARNING: New definition 
    solveFiniteDimProblem(Main.GaussBlur2D, SparseInverseProblems.Loss, Array{Float64, 2}, Array{Float64, 1}, Float64) at <some path>/SparseInverseProblems.jl/examples/smi/gaussblur.jl:140
is ambiguous with: 
    solveFiniteDimProblem(SparseInverseProblems.BoxConstrainedDifferentiableModel, SparseInverseProblems.LSLoss, Array{Float64, 2}, Array{Float64, 1}, Float64) at <HOME directory>/.julia/v0.4/SparseInverseProblems/src/BoxConstrainedDifferentiableModel.jl:106.
To fix, define 
    solveFiniteDimProblem(Main.GaussBlur2D, SparseInverseProblems.LSLoss, Array{Float64, 2}, Array{Float64, 1}, Float64)
before the new definition.
Running FWA-MIERROR: LoadError: psi not implemented for model GaussBlur2D.
 in solveFiniteDimProblem at <HOME directory>/.julia/v0.4/SparseInverseProblems/src/BoxConstrainedDifferentiableModel.jl:106
while loading <some path>/SparseInverseProblems.jl/examples/smi/run.jl, in expression starting on line 76

Очевидно, автор намерен повторно реализовать solveFiniteDimProblem в examples / smi / gaussblur.jl , но Джулия не делаетне соглашайся с этим. Джулия сначала выдает предупреждение, а затем использует оригинальную реализацию в src / BoxConstrainedDifferentiableModel.jl , что приводит к ошибке.

Как я могу это исправить?

I'mиспользуя julia версии 0.4.5, x86_64-linux-gnu в Ubuntu 16.04

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Я знаю, что это не решит вашу проблему, но Джулии 0.4 4 года, как и пакет SparseInverseProblems.jl.

Я не уверен, каков ваш вариант использования, но рассмотрели ли вы большесовременные пакеты, такие как Optim.jl и JuliaSparse ?

0 голосов
/ 10 октября 2019

Вы можете попробовать, если вызов

localDescent(s :: BoxConstrainedDifferentiableModel, lossFn :: Loss, thetas ::Matrix{Float64}, w :: Vector{Float64}, y :: Vector{Float64})

напрямую сработает.

...