How to install the ML.NET Command-Line Interface (CLI) tool
Learn how to install the ML.NET CLI (command-line interface) on Windows, Mac, or Linux.
The ML.NET CLI generates good quality ML.NET models and source code using automated machine learning (AutoML) and a training dataset.
Note
This article refers to ML.NET CLI and ML.NET AutoML, which are currently in Preview, and material may be subject to change.
Pre-requisites
(Optional) Visual Studio 2022
You can run the generated C# code projects with Visual Studio by pressing the F5 key or with dotnet run
(.NET CLI).
Note: If after installing .NET SDK the dotnet tool
command is not working, sign out from Windows and sign in again.
Install
The ML.NET CLI is installed like any other dotnet Global Tool. You use the dotnet tool install --global
.NET CLI command.
The ML.NET CLI is available for Windows, macOS, and Linux. Depending on your processor architecture, choose the x64 or ARM version.
Note
ARM based versions of the ML.NET CLI don't support image classification scenarios.
x64
dotnet tool install --global mlnet-win-x64
ARM
dotnet tool install --global mlnet-win-arm64
If the tool can't be installed (that is, if it is not available at the default NuGet feed), error messages are displayed. Check that the feeds you expected are being checked.
If installation is successful, a message is displayed showing the command used to call the tool and the version installed, similar to the following example:
You can invoke the tool using the following command: mlnet
Tool 'mlnet-<OS>-<ARCH>' (version 'X.X.X') was successfully installed.
The OS
and ARCH
in this case should match the values for the operating system and processor architecture you selected when installing the ML.NET CLI.
You can confirm the installation was successful by typing the following command:
mlnet
You should see the help for available commands for the mlnet tool such as the 'classification' command.
Important
If you're running Linux or macOS and using a console other than Bash (for example, zsh, which is the new default for macOS), then you'll need to give mlnet
executable permissions and include mlnet
to the system path. In general, you can do so with the following command:
chmod +x <PATH-TO-MLNET-CLI-EXECUTABLE>
More detailed instructions on how to do this should appear in the terminal when you install mlnet
(or any global tool).
Alternatively, you can try using the following command to run the mlnet tool:
~/.dotnet/tools/mlnet
Install a specific release version
If you're trying to install a pre-release version or a specific version of the tool, you can specify the OS, processor architecture, and framework using the following format:
dotnet tool install -g mlnet-<OS>-<ARCH> --framework <FRAMEWORK>
You can also check if the package is properly installed by typing the following command:
dotnet tool list -g
Uninstall the CLI package
To uninstall the ML.NET CLI use the package ID you can get from running the dotnet tool list --global
command. Then, use the dotnet tool uninstall --global
command.
x64
dotnet tool uninstall --global mlnet-win-x64
ARM
dotnet tool uninstall --global mlnet-win-arm64
Update the CLI package
To update the ML.NET CLI use the package ID you can get from running the dotnet tool list --global
command. Then, use the dotnet tool update --global
command.
x64
dotnet tool update --global mlnet-win-x64
ARM
dotnet tool update --global mlnet-win-arm64
Installation directory
The ML.NET CLI can be installed in the default directory or in a specific location. The default directories are:
OS | Path |
---|---|
Linux/macOS | $HOME/.dotnet/tools |
Windows | %USERPROFILE%\.dotnet\tools |
These locations are added to the user's path when the SDK is first run, so Global Tools installed there can be called directly.
Note: the Global Tools are user-specific, not machine global. Being user-specific means you cannot install a Global Tool that is available to all users of the machine. The tool is only available for each user profile where the tool was installed.
Global Tools can also be installed in a specific directory. When installed in a specific directory, the user must ensure the command is available, by including that directory in the path, by calling the command with the directory specified, or calling the tool from within the specified directory. In this case, the .NET CLI doesn't add this location automatically to the PATH environment variable.