Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta guía, trataremos cómo usar las API de Windows ML para integrar un modelo en la aplicación de Windows. Como alternativa, si quiere usar el generador de código automático de Windows ML, consulte mlgen.
API importantes: Windows.AI.MachineLearning
Vamos a repasar los bloques de construcción básicos de Windows ML, que son:
- Modelos
- Sesiones
- Dispositivos
- Vinculaciones
Los usarás para cargar, enlazar y evaluar los modelos con Windows ML.
También se recomienda echar un vistazo a nuestras aplicaciones de ejemplo en GitHub para ver ejemplos de código de Windows ML de un extremo a otro.
En el vídeo siguiente se muestran estas API en acción en una demostración breve.
Uso de las API de WinML en C++
Aunque las API de WinML están disponibles en C++/CX y C++/WinRT, se recomienda usar la versión de C++/WinRT, ya que permite codificación de C++ más natural y es donde la mayoría de los esfuerzos de desarrollo se centrarán en el futuro. Puede seguir las instrucciones siguientes que pertenecen a su situación concreta para usar las API de C++/WinRT:
- Si tiene como destino Windows 1803 o versiones anteriores, consulte Tutorial: Migrar una aplicación WinML existente al paquete NuGet.
- Si va a crear una nueva aplicación de C++, consulte Tutorial: Creación de una aplicación de escritorio de Windows Machine Learning (C++) y siga los pasos para cargar el modelo.
- Si tiene una aplicación de C++ existente (que aún no está configurada para C++/WinRT), siga estos pasos para configurar la aplicación para C++/WinRT:
- Asegúrese de que tiene instalada la versión más reciente de Visual Studio 2019 (cualquier edición).
- Asegúrese de que tiene el SDK para Windows 10, versión 1803 o posterior.
- Descargue e instale la extensión de Visual Studio (VSIX) de C++/WinRT desde Visual Studio Marketplace.
- Agregue la
<CppWinRTEnabled>true</CppWinRTEnabled>propiedad al archivo .vcxproj del proyecto:<Project ...> <PropertyGroup Label="Globals"> <CppWinRTEnabled>true</CppWinRTEnabled> ... - C++/WinRT requiere características del estándar C++17, por lo que en las propiedades del proyecto, establezca C/C++ > Language > Estándar de Lenguaje C++ > ISO C++17 Standard (/std:c++17).
- Establecer el modo de conformidad: Sí (/permissive-) en las propiedades del proyecto.
- Otra propiedad del proyecto que se debe tener en cuenta es C/C++ > General > Treat Warnings As Errors (Tratar advertencias como errores). Establézcalo en Sí (/WX) o No (/WX-) para probar. A veces, los archivos de origen generados por la herramienta cppwinrt.exe generan advertencias hasta que se agrega la implementación a ellos.
- VSIX también proporciona visualización de depuración nativa de Visual Studio (natvis) de tipos proyectados de C++/WinRT, lo que proporciona una experiencia similar a la depuración de C#. Natvis se aplica automáticamente a las compilaciones de depuración. Puede participar en sus compilaciones de versión definiendo el símbolo WINRT_NATVIS.
- El proyecto debe configurarse ahora para C++/WinRT. Consulta C++/WinRT para obtener más información.
Temas relacionados
Nota:
Use los siguientes recursos para obtener ayuda con Windows ML:
- Para formular o responder a preguntas técnicas sobre Windows Machine Learning, utilice la etiqueta windows-machine-learning en Stack Overflow.
- Para notificar un error, registre un problema en GitHub.