.NET y ML.NET: Plataformas de Código Abierto de Microsoft
Como ya reseñamos en la publicación llamada “Sistemas Operativos en Guerra: ¡Microsoft en guardia contra todos!”, actualmente «Microsoft»
, la compañía de Redmond, EEUU, dueña de «Windows»
se encuentra en una abierta carrera por asimilar lo mejor de otros Sistemas Operativos y exportar sus productos a estos.
Y en ese camino, aparte de los ya conocidos programas exportados a «GNU/Linux»
, podemos mencionar a los actuales: «SQL Server, .Net, Visual Studio Code y Skype»
. Siendo uno de los últimos incorporado, el conocido como «Microsoft Teams»
, tal como lo comentábamos en una más reciente publicación. Y ahora, nos trae a «ML.NET»
, un Framework de Machine Learning de «Código Abierto»
y multiplataforma que complementa a «.NET»
.
Posiblemente a todo este creciente ecosistema propio de aplicaciones de «Código Abierto»
se incorporen en poco tiempo, el «Navegador Edge»
y el «Antivirus Defender»
. Y quien sabe, de repente ahora con el ingreso de «Microsoft Teams»
no sería de extrañar ver muy pronto a la «Suite Ofimática MS Office»
o algo muy parecido o cercano a esta para «GNU/Linux»
.
Plataformas de Código Abierto de Microsoft
Como ya dijimos, entre los muchos software (programas, sistemas y plataformas) de «Código Abierto»
que últimamente «Microsoft»
ha aportado a la «Comunidad de Software Libre y Código Abierto»
, destacan: .NET y ML.NET.
¿Qué es .NET y cuales son sus características?
- Es una plataforma de desarrollo multiplataforma (Windows, Mac OS y Linux), de código abierto y gratuita, para construir todo tipo de aplicaciones: De escritorio, móviles, web, juegos, y para el Internet de las cosas.
- Permite utilizar varios lenguajes, editores y bibliotecas para los distintos tipos de aplicaciones posibles. Entre los lenguajes están:
- C#: Que es un lenguaje de programación simple, moderno, orientado a objetos y seguro.
- F#: Que es un lenguaje de programación funcional, multiplataforma y de código abierto para.NET. Que además incluye programación orientada a objetos e imperativa.
- Visual Basic: Que es un lenguaje accesible con una sintaxis simple para construir aplicaciones seguras para tipos y orientadas a objetos.
- Es una excelente plataforma de desarrollo cruzada, ya que permite que las aplicaciones creadas en los lenguajes antes mencionados, se ejecuten de forma nativa en cualquier Sistema Operativo compatible, gracias a diferentes implementaciones integradas, entre las que están:
- NET Core: Que es una implementación multiplataforma para sitios web, servidores y aplicaciones de consola.
- .NET Framework: Que es compatible con sitios web, servicios, aplicaciones de escritorio y mucho más en Windows.
- Xamarin/Mono: Que es una implementación.NET para ejecutar aplicaciones en los principales Sistemas Operativos móviles.
- Contiene un conjunto básico de APIs que son comunes a todas las implementaciones.NET. Además, cada implementación también puede exponer APIs adicionales que sean específicas de los Sistemas Operativos en los que se ejecutaran. Por ejemplo, .NET Framework es una implementación .NET, solo para Windows, que incluye APIs para acceder al Registro de Windows.
- Posee una enorme Biblioteca (ecosistema de paquetes) que amplia su funcionalidad. Para hacer uso de los mismos, puede usarse NuGet, que es un gestor de paquetes construido específicamente para
«.NET»
que contiene más de 90.000 paquetes.
Nota: para mayor información sobre «.NET»
acceda a su sitio web oficial aquí.
¿Qué es ML.NET y cuales son sus características?
- Es una plataforma de Machine Learning de código abierto y gratuita, multiplataforma que se ejecuta en Windows, Linux y macOS con .NET Core o en Windows mediante .NET Framework.
- Ofrece la posibilidad de agregar aprendizaje automático en aplicaciones (en línea o sin conexión) creadas con .NET, para que las mismas puedan realizar predicciones automáticas con los datos necesarios.
- Tiene como base un modelo de aprendizaje automático que especifica los pasos necesarios para transformar los datos de entrada en una predicción. Está plataforma permite entrenar un modelo personalizado mediante la especificación de un algoritmo, o usar uno creado, disponible y ya entrenado de las plataformas de TensorFlow y ONNX.
- La versión de 64 bits es compatible con todas las plataformas. La versión de 32 bits es compatible con Windows, salvo para la funcionalidad relacionada con TensorFlow, LightGBM y ONNX.
Citando a «Microsoft»
, algunos ejemplos posibles del tipo de predicciones que se puede hacer con «ML.NET»
son:
Tipo de Predicción | Descripción y alcance |
---|---|
Clasificación y categorización | Clasifique automáticamente los comentarios del cliente en positivos y negativos. |
Valores continuos de regresión y predicción | Prediga el precio de la vivienda según el tamaño y la ubicación. |
Detección de anomalías | Detecte transacciones bancarias fraudulentas. |
Recomendaciones | Sugiera productos que los compradores en línea pueden comprar, en función de sus compras anteriores. |
Series temporales y datos secuenciales | Haga una previsión del tiempo y de las ventas de productos |
Clasificación de imágenes | Clasifique las patologías de imágenes médicas |
Nota: para mayor información sobre «ML.NET»
acceda a su sitio web oficial aquí.
Conclusión
Esperamos que está “pequeña pero útil publicación” sobre estos 2 interesantes «Plataformas de desarrollo y Machine Learning de código abierto»
de Microsoft llamados «.NET y ML.NET»
, que entre muchas bondades o características, destacan su compacidad (compactibilidad), flexibilidad y capacidad de integración, sean de mucho interés y utilidad, para toda la «Comunidad de Software Libre y Código Abierto»
y de gran contribución a la difusión del maravilloso, gigantesco y creciente ecosistema de aplicaciones de y para «GNU/Linux»
.
Por ahora, si te ha gustado esta «publicación»
, no dejes de compartirla con otros, en tus sitios web, canales, grupos o comunidades favoritas de redes sociales, preferiblemente libres y abiertas como Mastodon, o seguras y privadas como Telegram.
O simplemente, visita nuestra página de inicio en DesdeLinux para leer otras interesantes publicaciones sobre «Software Libre»
, «Código Abierto»
, «GNU/Linux»
y demás temas relacionados con la «Informática y la Computación»
, y la «Actualidad tecnológica»
.