Windows-Machine-Learning/README.md

93 строки
9.7 KiB
Markdown
Исходник Обычный вид История

2018-10-08 00:04:20 +03:00
| Sample/Tool | Status |
2018-10-07 23:58:09 +03:00
|---------|--------------|
| All Samples | [![Build Status](https://microsoft.visualstudio.com/WindowsAI/_apis/build/status/WinML/Samples/Github%20Public%20Samples%20Build%20RS5?branchName=master)](https://microsoft.visualstudio.com/WindowsAI/_build/latest?definitionId=39302&branchName=master) |
| WinmlRunner | [![Build Status](https://microsoft.visualstudio.com/WindowsAI/_apis/build/status/WInMLRunner%20CI%20Build?branchName=master)](https://microsoft.visualstudio.com/WindowsAI/_build/latest?definitionId=38654&branchName=master) |
| WinML Dashboard | [![Build Status](https://microsoft.visualstudio.com/WindowsAI/_apis/build/status/WinML/WinMLTools/WinML%20Dashboard%20CI%20Build%20(Github)?branchName=master)](https://microsoft.visualstudio.com/WindowsAI/_build/latest?definitionId=39375&branchName=master) |
2019-01-18 01:43:14 +03:00
2018-10-07 13:36:33 +03:00
2021-05-07 00:23:32 +03:00
# Windows Machine Learning
2018-03-01 23:07:52 +03:00
2018-09-20 17:48:34 +03:00
Welcome to the Windows ML repo! Windows ML allows you to use trained machine learning models in your Windows apps (C#, C++, Javascript). The Windows ML inference engine evaluates trained models locally on Windows devices. Hardware optimizations for CPU and GPU additionally enable high performance for quick evaluation results.
2018-03-02 20:31:12 +03:00
2018-09-20 17:48:34 +03:00
In this repo, you will find sample apps that demonstrate how to use Windows ML to build machine learning applications, and tools that help verify models and troubleshoot issues during development on Windows 10.
2018-08-07 21:44:40 +03:00
2018-08-09 01:49:58 +03:00
For additional information on Windows ML, including step-by-step tutorials and how-to guides, please visit the [Windows ML documentation](https://docs.microsoft.com/en-us/windows/ai/).
2018-03-02 20:31:12 +03:00
2019-01-24 11:22:13 +03:00
## Developer Tools
2019-01-29 10:44:54 +03:00
- **[WinML Dashboard (Preview)](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Tools/WinMLDashboard)**: a GUI-based tool for viewing, editing, converting, and validating machine learning models for Windows ML inference engine.
2019-06-17 21:13:12 +03:00
[Download Preview Version](https://github.com/microsoft/Windows-Machine-Learning/releases)
2018-08-07 21:44:40 +03:00
2019-01-29 10:53:41 +03:00
<img src='./Tools/WinMLDashboard/public/EditorView2.PNG' width=800/>
2019-01-30 09:19:42 +03:00
- **[WinML Code Generator (mlgen)](https://marketplace.visualstudio.com/items?itemName=WinML.mlgen)**: a Visual Studio extension to help you get started using WinML APIs on UWP apps by generating a template code when you add a trained ONNX file into the UWP project. From the template code you can load a model, create a session, bind inputs, and evaluate with wrapper codes. See [docs](https://docs.microsoft.com/en-us/windows/ai/mlgen) for more info.
Download for [VS 2017](https://marketplace.visualstudio.com/items?itemName=WinML.mlgen), [VS 2019](https://marketplace.visualstudio.com/items?itemName=WinML.MLGenV2)
- **[WinMLRunner](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Tools/WinMLRunner)**: a command-line tool that can run .onnx or .pb models where the input and output variables are tensors or images. It is a very handy tool to quickly validate an ONNX model. It will attempt to load, bind, and evaluate a model and print out helpful messages. It also captures performance measurements.
2019-06-17 21:13:12 +03:00
[Download x64 Exe](https://github.com/microsoft/Windows-Machine-Learning/releases)
2018-08-07 21:44:40 +03:00
2019-02-22 08:37:27 +03:00
- **[WinMLTools](https://pypi.org/project/winmltools/)**: a Python tool for converting models from different machine learning toolkits into ONNX for use with Windows ML.
2018-07-26 03:19:21 +03:00
## Sample apps
2018-04-13 00:58:58 +03:00
2018-09-20 17:48:34 +03:00
These generic examples show how to use various models and input feeds with Windows ML. We have both C++ native desktop apps and C# and Javascript UWP samples
2018-03-02 20:31:12 +03:00
2018-09-20 17:57:58 +03:00
- **[FNSCandyStyleTransfer\UWP\cs](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/FNSCandyStyleTransfer)**: a UWP C# app that uses the FNS-Candy style transfer model to make a cool image.
- **[SqueezeNetObjectDetection\UWP\cs](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/SqueezeNetObjectDetection/UWP/cs)**: a UWP C# app that uses the SqueezeNet model to detect the predominant object in an image.
2020-05-28 23:51:40 +03:00
- **[SqueezeNetObjectDetection\UWP\js](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/SqueezeNetObjectDetection/UWP/js)**: a UWP Javascript app that uses the SqueezeNet model to detect the predominant object in an image.
2018-09-20 17:57:58 +03:00
- **[SqueezeNetObjectDetection\Desktop\cpp](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/SqueezeNetObjectDetection/Desktop/cpp)**: a classic desktop C++/WinRT app that uses the SqueezeNet model to detect the predominant object in an image.
2021-03-03 22:42:08 +03:00
- **[SqueezeNetObjectDetection\NET5\cs](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/SqueezeNetObjectDetection/NET5)**: a .NET5 application that uses the SqueezeNet model to detect the predominant object in an image.
2019-02-15 21:31:37 +03:00
- **[SqueezeNetObjectDetection\NETCore\cs](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/SqueezeNetObjectDetection/Desktop/cpp)**: a .NET Core 2 application that uses the SqueezeNet model to detect the predominant object in an image.
- **[StyleTransfer](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/StyleTransfer)**: a UWP C# app that uses a custom C++ Video Effect to apply style transfer in real-time to videos.
2020-05-29 00:27:13 +03:00
- **[MNIST\UWP\cs](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/MNIST/Tutorial/cs)**: a UWP C# app that uses the MNIST model to detect handwritten numbers.
- **[MNIST\UWP\cppcx](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/MNIST/UWP)**: a UWP C++/CX app that uses the MNIST model to detect handwritten numbers.
- **[CustomTensorization](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/CustomTensorization)**: a Windows Console Application (C++/WinRT) that shows how to do custom tensorization.
- **[Emoji8](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/Emoji8)**: a UWP C# app that uses the FER Emotion model to evaluate how well the user's facial expressions match randomly selected emojis.
- **[CustomOperatorCPU](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/CustomOperator)**: a desktop app that defines multiple custom cpu operators. One of these is a debug operator which we invite you to integrate into your own workflow.
- **[AdapterSelection](https://github.com/Microsoft/Windows-Machine-Learning/tree/master/Samples/AdapterSelection)**: a desktop app that demonstrates how to choose a specific device adapter for running your model
2018-11-08 20:28:15 +03:00
- **[PlaneIdentifier](https://github.com/Microsoft/Windows-AppConsult-Samples-UWP/tree/master/PlaneIdentifier)**: a UWP app and a WPF app packaged with the Desktop Bridge, sharing the same model trained using [Azure Custom Vision service](https://customvision.ai/). For step-by-step instructions for this sample, please see the blog post [Upgrade your WinML application to the latest bits](https://blogs.msdn.microsoft.com/appconsult/2018/11/06/upgrade-your-winml-application-to-the-latest-bits/).
2018-03-01 23:07:52 +03:00
2018-07-27 08:24:49 +03:00
## Using the samples
2019-01-24 11:22:13 +03:00
### Requirements
- [Visual Studio 2017 Version 15.7.4 or Newer](https://developer.microsoft.com/en-us/windows/downloads)
2019-04-17 23:57:43 +03:00
- [Windows 10 - Build 17763 (RS5) or Newer](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewiso)
- [Windows SDK - Build 17763 (RS5) or Newer](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewSDK)
- Visual Studio Extension for C++/WinRT for C++/WinRT apps
Do the following to add the C++/WinRT extension in Visual Studio.
1. Go to **Tools > Extensions and Updates**.
2. Select **Online** in the left pane and search for "WinRT" using the search box.
3. Select the **C++/WinRT** extension, click **Download**, and close Visual Studio. The extension should install automatically.
4. When the extension has finished installing, re-open Visual Studio.
2019-01-24 11:22:13 +03:00
2018-07-27 08:24:49 +03:00
The easiest way to use these samples without using Git is to download the zip file containing the current version (using the following link or by clicking the "Download ZIP" button on the repo page). You can then unzip the entire archive and use the samples in Visual Studio 2017.
2018-08-09 01:49:58 +03:00
[Download the samples ZIP](https://github.com/Microsoft/Windows-Machine-Learning/archive/master.zip)
2018-07-27 08:24:49 +03:00
Notes:
Before you unzip the archive, right-click it, select Properties, and then select Unblock.
Be sure to unzip the entire archive, and not just individual samples. The samples all depend on the SharedContent folder in the archive.
In Visual Studio 2017, the platform target defaults to ARM, so be sure to change that to x64 or x86 if you want to test on a non-ARM device.
Reminder: If you unzip individual samples, they will not build due to references to other portions of the ZIP file that were not unzipped. You must unzip the entire archive if you intend to build the samples.
2018-03-02 20:31:12 +03:00
2018-08-07 21:44:40 +03:00
## Feedback
- For issues, file a bug on [GitHub Issues](https://github.com/Microsoft/Windows-Machine-Learning/issues).
2018-08-07 21:44:40 +03:00
- Ask questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/windows-machine-learning).
- Vote for popular feature requests on [Windows Developer Feedback](https://wpdev.uservoice.com/forums/110705-universal-windows-platform?category_id=341035) or include your own request.
## Related Projects
- [ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator](https://github.com/microsoft/onnxruntime/).
2018-08-07 21:44:40 +03:00
- [ONNX: Open Neural Network Exchange Project](https://onnx.ai/).
2018-04-13 00:20:29 +03:00
## Contributing
2018-03-02 20:31:12 +03:00
2018-04-13 00:20:29 +03:00
We're always looking for your help to fix bugs and improve the samples. Create a pull request, and we'll be happy to take a look.
2018-03-01 23:07:52 +03:00
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.