cstjean / ScikitLearn.jl

Julia implementation of the scikit-learn API https://cstjean.github.io/ScikitLearn.jl/dev/
Other
547 stars 75 forks source link

MKL ERROR #81

Open kbjarnason opened 4 years ago

kbjarnason commented 4 years ago

Using SKL caused a MKL Error for me, had to uninstall MKL to use it, would be great to fix this for the future.

OkonSamuel commented 4 years ago

@kbjarnason thanks for reporting. We are aware of this issue. For now MacOS users would have to use non-mkl versions of scikit-learn. We would automate this in the build process so that new users won't have to do this manually.

cstjean commented 4 years ago

@kbjarnason Which OS are you on?

kbjarnason commented 4 years ago

Mac OS

On Fri, 29 May 2020, 15:22 Cédric St-Jean, notifications@github.com wrote:

@kbjarnason https://github.com/kbjarnason Which OS are you on?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/cstjean/ScikitLearn.jl/issues/81#issuecomment-635969331, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIEN72RVIMU3BBCFCRNLDVTRT6ZH7ANCNFSM4NN3B3JQ .

azev77 commented 4 years ago

Continuing from https://github.com/alan-turing-institute/MLJ.jl/issues/565

I have the latest version of ScikitLearn.jl:

julia> using ScikitLearn
julia> ScikitLearn.Skcore.import_sklearn()
INTEL MKL ERROR: dlopen(/Users/AZevelev/.julia/conda/3/lib/libmkl_intel_thread.dylib, 9): Library not loaded: @rpath/libiomp5.dylib
  Referenced from: /Users/AZevelev/.julia/conda/3/lib/libmkl_intel_thread.dylib
  Reason: image not found.
Intel MKL FATAL ERROR: Cannot load libmkl_intel_thread.dylib.

What exactly are the steps I should take?

OkonSamuel commented 4 years ago

@azev77 are you running julia in some form of container?. Could you please do Pkg.status()

azev77 commented 4 years ago
julia> Pkg.status()
Status `~/.julia/environments/v1.4/Project.toml`
  [f20549b4] AlphaStableDistributions v1.0.0 #master (https://github.com/org-arl/AlphaStableDistributions.jl)
  [c52e3926] Atom v0.12.15
  [6e4b80f9] BenchmarkTools v0.5.0
  [336ed68f] CSV v0.6.2
  [5d742f6a] CSVFiles v1.0.0
  [324d7699] CategoricalArrays v0.8.1
  [aaaa29a8] Clustering v0.14.1
  [ed09eef8] ComputationalResources v0.3.2
  [60f91f6f] CovarianceMatrices v0.9.1
  [a93c6f00] DataFrames v0.21.2
  [7806a523] DecisionTree v0.10.3
  [31c24e10] Distributions v0.22.6
  [f6006082] EvoTrees v0.4.8 #master (https://github.com/Evovest/EvoTrees.jl)
  [f6369f11] ForwardDiff v0.10.10
  [38e38edf] GLM v1.3.9
  [c91e804a] Gadfly v1.2.1 #master (https://github.com/GiovineItalia/Gadfly.jl)
  [cd3eb016] HTTP v0.8.15
  [09f84164] HypothesisTests v0.10.0
  [7073ff75] IJulia v1.21.2
  [a98d9a8b] Interpolations v0.12.10
  [e5e0dc1b] Juno v0.8.2
  [b1bec4e5] LIBSVM v0.4.0
  [2ec943e9] Libz v1.0.1
  [7acf609c] LightGBM v0.3.1
  [add582a8] MLJ v0.11.4 #master (https://github.com/alan-turing-institute/MLJ.jl)
  [a7f614a8] MLJBase v0.13.10
  [6ee0df7b] MLJLinearModels v0.5.0
  [d491faf4] MLJModels v0.9.12
  [03970b2e] MLJTuning v0.3.6
  [6f286f6a] MultivariateStats v0.7.0
  [0db19996] NBInclude v2.2.0
  [9bbee03b] NaiveBayes v0.4.0
  [b8a86587] NearestNeighbors v0.4.4
  [efe28fd5] OpenSpecFun_jll v0.5.3+1 [`~/.julia/dev/OpenSpecFun_jll`]
  [429524aa] Optim v0.20.1
  [e010f91f] PLSRegressor v1.1.1
  [42b8e9d4] ParallelKMeans v0.1.8
  [91a5bcdd] Plots v1.4.3
  [08abe8d2] PrettyTables v0.9.1
  [c46f51b8] ProfileView v0.6.5
  [ce6b1742] RDatasets v0.6.9
  [3646fa90] ScikitLearn v0.6.2
  [40c74d1a] TableView v0.6.0 #master (https://github.com/JuliaComputing/TableView.jl)
  [eb66a70c] TreeParzen v0.1.1
  [009559a3] XGBoost v0.4.3
  [cf18a64e] mlpack v3.3.1

julia> 
OkonSamuel commented 4 years ago

@azev77 Ok. Now try the following code snippet.

Pkg.add("PyCall")
ENV["PYTHON"]= ""
Pkg.build("PyCall")
Pkg.update("ScikitLearn")
azev77 commented 4 years ago

I got the same error:

Pkg.add("PyCall")
ENV["PYTHON"]= ""
Pkg.build("PyCall")
Pkg.update("ScikitLearn")
using ScikitLearn;
ScikitLearn.Skcore.import_sklearn()
OkonSamuel commented 4 years ago

@azev77 Ok try

Pkg.add("Conda")
using Conda
Conda.add("nomkl")
Conda.add("scikit-learn")
Conda.add("numexpr")
Conda.rm("mkl")

then

Pkg.build("PyCall")
Pkg.update("ScikitLearn")
using ScikitLearn;
ScikitLearn.Skcore.import_sklearn()

Sorry for making you try all these. It's because am not on a Mac

azev77 commented 4 years ago

It works now! (though I did have to restart Julia!) Thank you so much @OkonSamuel !!!

It would be great if these instructions were clearly listed in the Readme for ScikitLearn.jl & MLJ.jl

OkonSamuel commented 4 years ago

I'll update the source code instead. I think i know the reason if failed for you and passed CI.

OkonSamuel commented 4 years ago

@cstjean. I am going to remove AdaBoostClassifier(From DecisionTree,jl) from the example notebook. Until this issue https://github.com/bensadeghi/DecisionTree.jl/issues/121 gets fixed

cstjean commented 4 years ago

Sounds good, thank you for looking into it.