In most cases, on all operating systems, installing ML.NET is as simple as referencing the appropriate NuGet package.
dotnet add package Microsoft.ML
Or, in .NET 10+:
dotnet package add Microsoft.ML
In some cases though, there are additional installation requirements, particularly when native components are required. This article describes the installation requirements for those cases. The sections are broken down by the specific Microsoft.ML.*
NuGet package that has the additional dependency.
Microsoft.ML.TimeSeries, Microsoft.ML.AutoML
Both of these packages have a dependency on Microsoft.ML.MKL.Redist
, which has a dependency on libomp
.
No extra installation steps required. The library is installed when the NuGet package is added to the project.
Install the GPG key for the repository:
sudo bash
# <type your user password when prompted. this will put you in a root shell>
# cd to /tmp where this shell has write permission
cd /tmp
# now get the key:
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
# now install that key
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
# now remove the public key file exit the root shell
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
exit
Add the APT Repository for MKL:
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
Update packages:
sudo apt-get update
Install MKL:
sudo apt-get install <COMPONENT>-<VERSION>.<UPDATE>-<BUILD_NUMBER>
For example:
sudo apt-get install intel-mkl-64bit-2020.0-088
Determine the location of libiomp.so
:
find /opt -name "libiomp5.so"
For example:
/opt/intel/compilers_and_libraries_2020.0.166/linux/compiler/lib/intel64_lin/libiomp5.so
Add this location to the load library path:
sudo ldconfig /opt/intel/compilers_and_libraries_2020.0.166/linux/compiler/lib/intel64_lin
Install the library with Homebrew
:
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/fb8323f2b170bd4ae97e1bac9bf3e2983af3fdb0/Formula/libomp.rb && brew install ./libomp.rb && brew link libomp --force