0
私は非常に単純な問題があります。私はジュリアにおける機械学習アルゴリズムに取り組んで@parrellelループの最後に、これらの値をチェックして壊したいのですなぜ、不変の型で不平を言ったSharedArrayのSetIndexがありますか?
# An internal type used only by the train function for caching between epochs.
immutable Residual
value::Float32
curr_error::Float32
prev_error::Float32
end
:私は次のように定義された型を持っています。これを実現するために、私はそう定義されたSharedArraysを使用しています。
ここで、ループ内で、簡単な更新手順で残差を更新したいと考えています。それは不変なので、私は新しいResidualオブジェクトを作成し、それをSharedArrayに埋めなければならないと仮定します。
residual[j] = Residual(residual.value, -user_feature * item_feature + residual.value, residual.curr_error)
ただし、コードを実行するたびに次のエラーが発生します。
LoadError: MethodError: `setindex!` has no method matching setindex!(::Residual, ::Residual, ::Int64)
私は私が間違っているの本当にわからない、私はそれがタイピングとは何かを持っていると仮定しますか?それともジュリアのSharedArraysを完全に誤解していますか?どんな助けもありがとう。