is there any documentation around prerequisites for noj? So far I've run into dependencies for blas and gfortran
Hi. How did you run into these dependencies? What did you try to do?
The devcontainer setup is supposed to include everything which is needed: https://github.com/scicloj/noj/tree/main/.devcontainer
.. but many parts of it are supposed to work in pure JVM.
I'm trying to train a :smile.regression/ordinary-least-square model
(def pipeline
(mm/pipeline
(ds-mm/set-inference-target :win_loss_perc)
{:metamorph/id :model}
(ml/model {:model-type :smile.regression/ordinary-least-square})))Indeed Smile is one of the parts that need native dependencies.
Does it work for you now?
not yet, it's still trying to find gfortran
What is the error message?
Execution error (UnsatisfiedLinkError) at java.lang.ClassLoader/loadLibrary (ClassLoader.java:2678).
no gfortran in java.library.path: [/usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64-linux-gnu, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]Thanks.
Native dependencies will sometimes be a problem, in some platforms.
If you wish, it would be good to keep discussing this on the project issues or https://scicloj.github.io/docs/community/chat/ at #noj-dev.
Maybe we'll find an answer.
Specifically for ordinary least squares, you do not need Smile.
You can also use {:model-type :fastmath/ols}.
is there a require needed for that?
Yes:
[scicloj.metamorph.ml.regression].
thanks
You may also find this draft tutorial useful: https://scicloj.github.io/noj/noj_book.linear_regression_intro It computes linear regression directly using Fastmath, without http://Metamorph.ml. This pathway can be useful when your task is more about statistical interpretation and less about machine learning. We will keep updating it in the coming days.
thanks
see here as well: https://clojurians.zulipchat.com/#narrow/channel/151763-beginners/topic/Runing.20Scicloj.20on.20M1.20Mac
"metamorph.ml" itself does not need anything native. some models do, so do (some) of the smile based models from "scicloj.ml.smile" So overall "Noj" contains indeed models which are not "pure JVM". But for OLS we have now "pure JVM" alternatives inside Noj