Julia 新方法定义不明确

Julia 新方法定义不明确,julia,Julia,我想使用以下位置的代码:。我以前没有和茱莉亚做过任何事。我试着运行这些示例。例子 简单示例和sysid运行良好。但是我和smi有点问题。首先,我将imread替换为load,以删除弃用警告。然后我运行了julia run.jl,这导致了以下错误: WARNING: New definition solveFiniteDimProblem(Main.GaussBlur2D, SparseInverseProblems.Loss, Array{Float64, 2}, Array{Floa

我想使用以下位置的代码:。我以前没有和茱莉亚做过任何事。我试着运行这些示例。例子 简单示例和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

警告:新定义
在/SparseInverseProblems.jl/examples/smi/gausseInverseProblems.损失,数组{Float64,2},数组{Float64,1},Float64)处解决有限的问题
与以下内容不明确:
SolveFinitedImplem(SparseInverseProblems.boxConstrainedDifferentialModel,SparseInverseProblems.LSLoss,数组{Float64,2},数组{Float64,1},Float64)位于/.julia/v0.4/SparseInverseProblems/src/boxConstrainedDifferentialModel.jl:106。
修正,定义
solveFiniteDimProblem(Main.GaussBlur2D,SparseInverseProblems.LSLoss,数组{Float64,2},数组{Float64,1},Float64)
在新定义之前。
运行FWA-MIERROR:LoadError:psi未为GaussBlur2D模型实现。
在/.julia/v0.4/SparseInverseProblems/src/boxConstrainedDifferentialModel.jl:106的solveFiniteDimProblem中
在从第76行开始的表达式中加载/SparseInverseProblems.jl/examples/smi/run.jl时
显然,作者打算在examples/smi/gaussblur.jl中重新实现
solvefinitedImpriblem
,但julia没有同意。Julia首先发出警告,然后在src/boxConstrainedDifferentialModel.jl中使用原始实现,从而导致错误

我怎样才能解决这个问题

我正在Ubuntu 16.04上使用julia版本0.4.5,x86_64-linux-gnu

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

直接起作用

我知道它不能解决您的问题,但是Julia 0.4已经4岁了,SparseInverseProblems.jl软件包也是


我不确定您的用例是什么,但您是否考虑过像and这样的更新包?

这是一个非常古老的julia版本的非常古老的代码,只有一位作者。你试过直接联系代码作者吗?@maxxilian是的,我试过联系作者。尽管代码很旧,但我认为修复相当简单。我怀疑世界上有很多人记得julia 0.4语法,尽管你尝试过建议的修复吗?:
define solveFiniteDimProblem(Main.GaussBlur2D,SparseInverseProblems.LSLoss,Array{Float64,2},Array{Float64,1},Float64)在新定义之前。
添加了一点解释,因为这是您与Julia的第一次接触:Julia是一种年轻的语言,在0.x阶段变化很大。现在我们是1.2版本,语法不应该再进行剧烈的更改,但是现在很难找到人修复0.4代码。