#AI – Open Neural Network Exchange, Facebook and Microsoft help us to change between different AI Frameworks #ONNX

I2

Hi!

When a platform or technology begins to be popular, it often happens that Frameworks supporting this technology begin to appear as mushrooms in a wet forest in spring. JavaScript may be the best example of this.

Well, the same thing is happening in the world of artificial intelligence. The most common tools I found that specialists uses are Caffe2, CNTK, TensorFlow, and others. However, the interoperability or change between these tools is a problem with not an easy solution.

Well, 2 big players like Facebook and Microsoft, have agreed to help with the migration and interaction between these tools creating an interesting project ONNX.

ONNX is a community project created by Facebook and Microsoft. We believe there is a need for greater interoperability in the AI tools community. Many people are working on great tools, but developers are often locked in to one framework or ecosystem. ONNX is the first step in enabling more of these tools to work together by allowing them to share models. Our goal is to make it possible for developers to use the right combinations of tools for their project. We want everyone to be able to take AI from research to reality as quickly as possible without artificial friction from tool chains.

ONNX allows models to be trained in one framework and then transferred to another. The models currently compatible with Caffe2, CNTK, MXNet and PyTorch. In addition, there are connectors for many other frameworks.

Looking at the GitHub repository, it really impressed me that import and export scenarios from TensorFlow (Google) are included in the product roadmap.

I1

Happy Coding!

Greetings @ Calgary

El Bruno

References

 

Advertisements

#AI – Open Neural Network Exchange, gracias a Facebook y a Microsoft ahora podemos utilizar e interactuar con diferentes AI Frameworks #ONNX

I2

Buenas!

Cuando una plataforma o tecnología comienza a ser popular, suele suceder que los Frameworks de soporte a esta tecnología comienzan a aparecer como setas en un bosque húmedo en primavera. JavaScript puede ser el mejor ejemplo de esto.

Pues bien, lo mismo esta sucediendo en el mundo de la inteligencia artificial. Las herramientas mas comunes suelen ser Caffe 2, CNTK o Tensorflow. Sin embargo, la interoperabilidad o cambio entre estas herramientas es un problema de no fácil solución. Pues bien, 2 grandes de la industria como son Facebook y Microsoft, se han puesto de acuerdo para ayudar con la migración e interacción entre estas herramientas. Y es de este acuerdo, que ha surgido ONNX.

ONNX es un proyecto comunitario creado por Facebook y Microsoft. Creemos que es necesaria una mayor interoperabilidad en la comunidad de herramientas de IA. Muchas personas están trabajando en grandes herramientas, pero los desarrolladores a menudo están encerrados en un marco o ecosistema.

ONNX es el primer paso para permitir que más de estas herramientas trabajen juntas al permitirles compartir modelos. Nuestro objetivo es hacer posible que los desarrolladores utilicen las combinaciones correctas de herramientas para su proyecto. Queremos que todos puedan llevar la IA de la investigación a la realidad lo más rápido posible sin la fricción artificial de las cadenas de herramientas.

ONNX permite que los modelos sean entrenados en un framework y luego transferidos a otro. Los modelos actualmente compatibles con Caffe2, CNTK, MXNet y PyTorch. Además, existen conectores para muchos otros frameworks.

Dando un vistazo a su repositorio de GitHub, llama la atención que en el roadmap del producto se incluyen escenarios de importación y exportación desde TensorFlow (Google).

I1

Ahora que tengo la oportunidad de “mover modelos” pues me ahorro la necesidad de conocer a fondo los nuevos.

Happy Coding!

Saludos @ Calgary

El Bruno

References

 

#Podcast – NTN 40 – Introduction to Machine Learning (lucky for us, JavaScript free)

giphy.gif

Hello!

Episode dedicated to Machine Learning. I am very lucky to have 2 experts on the subject, Pablo Alvarez Doval (@PabloDoval) and Rodrigo Cabello (@mrcabellom).

As always we had a prepared agenda, however, along the way we deviated from the agenda, and things became more real. We cover the definition of Machine Learning, we also talk about some languages ​​and tools that we have available for ML, and about the Frameworks that we can use today. AzureML, CNTK, Tensor Flow, Python, R and real experiences of ML projects. I like to learn / listen to real experiences.

Special mention to the reference of Pablo on the “you do not need to be a mathematician to work in ML”, and the explanation of Rodrigo on the reason for the popularity of Python in the ML community.

At the end of the episode we have the latest technology thanks to Sergio Mabres. I hope you enjoy, and apologize for the mistakes (if there were any).

 

Greetings @ Burlington

El Bruno

References

#Podcast – NTN 40 – Introducción a Machine Learning (todavía sin JavaScript)

giphy.gif

Hola!

Episodio dedicado a la Machine Learning. Tengo la gran suerte de contar con 2 expertos en el tema, Pablo Alvarez Doval (@PabloDoval) y Rodrigo Cabello (@mrcabellom).

Como siempre teníamos una agenda preparada, sin embargo, por el camino nos desviamos de la agenda. Eso sí, cubrimos la definición de Machine Learning, también hablamos sobre los lenguajes y herramientas que tenemos disponibles, y sobre los Frameworks que podemos utilizar hoy. AzureML, CNTK, Tensor Flow, Python, R y experiencias reales de proyectos de ML. Como siempre, yo intento aprender en base a experiencias reales.

Especial mención a la referencia de Pablo sobre la “no necesidad de ser un matemático para trabajar en ML”, y la explicación de Rodrigo sobre el porqué de la popularidad de Python en la comunidad de ML.

Al final del episodio tenemos las novedades de tecnología gracias a Sergio Mabres. Espero que lo disfruten, y que disculpen los errores (si es que hubo alguno).

Saludos @ Burlington

El Bruno

References

#CNTK – Microsoft Cognitive Toolkit almost Released!

Hello!

Microsoft has released a new beta version of Microsoft Cognitive Toolkit (link), and soon the Release Candidate version will arrive.

Note: Thanks to @PabloDoval who point me in the right direction.

We already knew this tools by CNTK (something knew before but not the official mode). This set of tools is not for the typical Microsoft programmer, this Toolkit is designed for data scientists.

The best way to start is the homepage, GitHub or the Wiki. The samples Gallery is quite comprehensive and we can also reuse and modify these examples to adapt them to our needs. The best thing to understand what we can find is this video

And, of course, the copy & paste of the CNTK features.

Highly optimized, built-in components

  • Components can handle multi-dimensional dense or sparse data from Python, C++ or BrainScript
  • FFN, CNN, RNN/LSTM, Batch normalization, Sequence-to-Sequence with attention and more
  • Reinforcement learning, generative adversarial networks, supervised and unsupervised learning
  • Ability to add new user-defined core-components on the GPU from Python
  • Automatic hyperparameter tuning
  • Built-in readers optimized for massive datasets

Efficient resource usage

  • Parallelism with accuracy on multiple GPUs/machines via 1-bit SGD and Block Momentum
  • Memory sharing and other built-in methods to fit even the largest models in GPU memory

Easily express your own networks

  • Full APIs for defining networks, learners, readers, training and evaluation from Python, C++ and BrainScript
  • Evaluate models with Python, C++, C# and BrainScript
  • Interoperation with NumPy
  • Both high-level and low-level APIs available for ease of use and flexibility
  • Automatic shape inference based on your data
  • Fully optimized symbolic RNN loops (no unrolling needed)

Training and hosting with Azure

  • Takes advantage of high-speed resources when used with Azure GPU and Azure networks
  • Host trained models easily on Azure and add real-time training if desired

Greetings @ Toronto

El Bruno

References

#CNTK – The Microsoft Cognitive Toolkit

Hola !

Hoy Microsoft ha liberado una nueva versión de Microsoft Cognitive Toolkit (link), al que ya conocíamos por CNTK (algo conocíamos antes pero no el modo oficial). Dentro de poco tiempo tendremos la Release Candidate.

Nota: Gracias a @PabloDoval que me indicó que la versión oficial no está disponible todavía.

Este conjunto de herramientas no va orientado al típico programador Microsoft, este Toolkit está pensado para Científicos de Datos.

Lo mejor para conocer el mismo es recorrer alguna de las introducciones que posee en su homepage, Github o su Wiki. Cabe destacar, que la galería de ejemplos es bastante completa y que además podemos reutilizar y modificar estos ejemplos para adaptarlos a nuestras necesidades. Lo mejor para comprender lo que podemos encontrar es este video

Y además, el copy & paste textual de las funcionalidades que se incluyen.

Highly optimized, built-in components

  • Components can handle multi-dimensional dense or sparse data from Python, C++ or BrainScript
  • FFN, CNN, RNN/LSTM, Batch normalization, Sequence-to-Sequence with attention and more
  • Reinforcement learning, generative adversarial networks, supervised and unsupervised learning
  • Ability to add new user-defined core-components on the GPU from Python
  • Automatic hyperparameter tuning
  • Built-in readers optimized for massive datasets

Efficient resource usage

  • Parallelism with accuracy on multiple GPUs/machines via 1-bit SGD and Block Momentum
  • Memory sharing and other built-in methods to fit even the largest models in GPU memory

Easily express your own networks

  • Full APIs for defining networks, learners, readers, training and evaluation from Python, C++ and BrainScript
  • Evaluate models with Python, C++, C# and BrainScript
  • Interoperation with NumPy
  • Both high-level and low-level APIs available for ease of use and flexibility
  • Automatic shape inference based on your data
  • Fully optimized symbolic RNN loops (no unrolling needed)

Training and hosting with Azure

  • Takes advantage of high-speed resources when used with Azure GPU and Azure networks
  • Host trained models easily on Azure and add real-time training if desired

Saludos @ Toronto

El Bruno

References