Ticker

6/recent/ticker-posts

Qué es Anaconda Distribution, Python y TensorFlow


Hola, hoy los comparto acerca de qué es Anaconda Distribution, Python y TensorFlow; además comentarles que estos ultimas semana vengo revisando y aprendiente temas acerca de Inteligencia Artificial o también conocido como Machine Learning (en ingles), se viene una serie de tutoriales desde cómo preparar un entorno de desarrollo para Machine Learning, arquitectura orientado a Machine Learning y muchos ejemplos en base a los algoritmos que nos ofrece aprendizaje profundo o deep learning (en ingles), asimismo veremos la integración en ML.NET. Entremos en material respondiendo las siguientes preguntas:

¿Qué es Anaconda Distribution?

Anaconda es una Suite de código abierto que abarca una serie de aplicaciones, librerías y conceptos diseñados para el desarrollo de la Ciencia de datos con Python. En líneas generales Anaconda Distribution es una distribucción de Python que funciona como un gestor de entorno, un gestor de paquetes y que posee una colección de +720 paquetes de código abierto.

Anaconda Distribution se agrupa en 4 sectores o soluciones tecnológicas, Anaconda Navigator, Anaconda Project, Las librerías de Ciencia de datos y Conda. Todas estás se instalan de manera automática bajo un procedimiento muy sencillo.

En una definición concreta podríamos definir a Anaconda Distribution como la suite más completa para trabajar en relación a la ciencia de datos con Python.


Características de Anaconda Distribution

Suite orientado para la Ciencia de datos con Python, y cuenta con una gran cantidad de características entre las que podemos resaltar son :

  • Código abierto, con una documentación bastante detallada y una gran comunidad.
  • Multiplataforma (Linux, macOS y Windows).
  • Permite instalar y administrar paquetes, dependencias y entornos para la ciencias de datos con Python de una manera muy sencilla.
  • Ayuda a desarrollar proyectos de ciencia de datos utilizando diversos IDE como Jupyter, JupyterLab, Spyder y RStudio.
  • Cuenta con herramientas como Dask, numpy, pandas y Numba para analizar Datos.
  • Permite visualizar datos con Bokeh , Datashader , Holoviews o Matplotlib.
  • Una gran variedad de aplicaciones relacionadas con el aprendizaje de máquina y los modelos de aprendizaje.
  • Anaconda Navigator es una interfaz gráfica de usuario GUI bastante sencilla pero con un potencial enorme.
  • Puede gestionar de manera avanzada paquetes relacionados a la Ciencia de datos con Python desde la terminal.
  • Brinda la posibilidad de acceder a recursos de aprendizaje más avanzados.
  • Elimina problemas de dependencia de paquetes y control de versiones.
  • Esta equipado de herramientas que permiten crear y compartir documentos que contienen código con compilación en vivo, ecuaciones, descripciones y anotaciones.
  • Permite compilar Python en código de máquina para una ejecución rápida.
  • Facilita la escritura de complejos algoritmos paralelos para la ejecución de tareas.
  • Cuenta con soporte para computación de alto rendimiento.
  • Los proyectos son portables, lo que permite compartir proyectos con otros y ejecutar proyectos en diferentes plataformas.
  • Simplifica de manera acelerada la implementación de proyectos de ciencia de datos.

¿Qué es Python?

Python es un lenguaje de programación de código abierto, orientado a objetos, muy simple y fácil de entender. Tiene una sintaxis sencilla que cuenta con una vasta biblioteca de herramientas, que hacen de Python un lenguaje de programación único.

Una de las ventajas principales de aprender Python es la posibilidad de crear un código con gran legibilidad, que ahorra tiempo y recursos, lo que facilita su comprensión e implementación.

Estos factores y otros que veremos más adelante, han hecho que Python se convierta en uno de los idiomas de programación más utilizados. Desde aplicaciones web hasta la inteligencia artificial, los usos de Python son infinitos.

Python en la Inteligencia Artificial (AI):

Python es un lenguaje de escritura rápido, escalable, robusta y de código abierto, ventajas que hacen de Python un aliado perfecto para la Inteligencia Artificial, permitiendo plasmar ideas complejas con unas pocas líneas de código, lo que no es posible con otros lenguajes.

Existen bibliotecas como Keras y TensorFlow, que contienen mucha información sobre las funcionalidades del aprendizaje automático.

Además, existen bibliotecas proporcionadas por Python, que se usan mucho en los algoritmos AI como Scikitl, una biblioteca gratuita de aprendizaje automático que presenta varios algoritmos de regresión, clasificación y agrupamiento.

Pero, sobre todo, Python es un lenguaje gratuito de código abierto con una gran comunidad activo, que proporciona soporte a cualquier programador, razones que hacen que aprender Python sea una opción fácil sobre otros lenguajes para aplicaciones de inteligencia artificial.


Python en Big Data:

El uso de Python está muy extendido en el análisis datos y la extracción de información útil para empresas.

Además de su simplicidad, que es una gran ventaja, Python cuenta con bibliotecas de procesamiento de datos como ‘Pydoop‘ , que son de gran ayuda para los profesionales, ya que puede escribir un código de MapReduce en Python y procesar los datos en el clúster HDFS.

Otras bibliotecas como «Dask» y «Pyspark» facilitan aún más el análisis y la gestión de datos. Python es rápido y fácilmente escalable, características que le ayudan a generar información en entornos de tiempo real y a convertir esa información a los lenguajes usados en Big Data.


Python en Data Science:

Desde la introducción de los motores numéricos de Python como Pandas y NumPy, los investigadores han cambiado a Python desde el anterior lenguaje, MATLAB.

Python se ocupa de los datos tabulares, matriciales y estadísticos, e incluso los visualiza con bibliotecas populares como Matplotlib y Seaborn.


Python en Frameworks de Pruebas:

El testing es otra de as actividades que se ha cambiado a Python, es decir Python es ideal para validar ideas o productos con la variedad de frameworks integrados que ayudan a depurar el código y ofrecen flujos de trabajo y ejecución rápidos.

Herramientas de testing como Unittest, Pytest y Nose Test hacen que las pruebas sean más fáciles. Python, además, admite pruebas entre plataformas y navegadores con diferentes marcos, como PyTest y Robot. El testing, que suele ser una de las tareas más arduas, se convierte en algo mucho más simple y rápido.


Python en Desarrollo Web:

Python permite construir mucho más con menos líneas de código, por lo que se crean prototipos de forma más eficiente. El framework Django, proporcionado por Python, es una ventaja para todos los desarrolladores, ya que puede usarse para crear aplicaciones web dinámicas y muy seguras.

El lenguaje Python también se usa para hacer scraping, es decir, obtener información de otros sitios web. Aplicaciones como Instagram, Bit Bucket, Pinterest están construidas en frameworks de este tipo. Los usos y aplicaciones de Python se encuentran mucho más allá de los campos mencionados, desde el desarrollo de juegos hasta la visualización de datos, desde la creación de redes hasta el desarrollo de software en general. Las aplicaciones de Python son numerosas.

Si eres desarrollador o quieres dedicarte a uno de los campos de los que hemos hablado en este post, Python es uno de los lenguajes que debes aprender y dominar para trabajar en los proyectos tecnológicos más punteros.


¿Qué es TensorFlow?

TensorFlow es una librería de código abierto para cálculo numérico, usando como forma de programación grafos de flujo de datos. Los nodos en el grafo representan operaciones matemáticas, mientras que las conexiones o links del grafo representan los conjuntos de datos multidimensionales (tensores) .

Con esta librería somos capaces, entre otras operaciones, de construir y entrenar redes neuronales para detectar correlaciones y descifrar patrones, análogos al aprendizaje y razonamiento usados por los humanos.​ Actualmente se utiliza Tensorflow tanto en la investigación como para la producción de productos de Google, remplazando el rol de su predecesor de código cerrado, DistBelief.

TensorFlow es el sistema de aprendizaje automático de segunda generación de Google Brain, liberado como software de código abierto el 9 de noviembre del 2015. Mientras la implementación de referencia se ejecuta en dispositivos aislados, TensorFlow puede correr en múltiple CPUs y GPUs (con extensiones opcionales de CUDA para informática de propósito general en unidades de procesamiento gráfico). TensorFlow está disponible en Linux de 64 bits, macOS, y plataformas móviles que incluyen Android e iOS.

Los cómputos de TensorFlow están expresados como stateful dataflow graphs. El nombre TensorFlow deriva de las operaciones que las redes neuronales realizan sobre arrays multidimensionales de datos. Estos arrays multidimensionales son referidos como "tensores" (mayor detalle se podrá revisar en  https://www.tensorflow.org/).


¿Por qué TensorFlow?

¿Por qué se eligió TensorFlow como nombre para esta potente herramienta? Es una de las primeras dudas que surgen. El motivo es que la principal estructura de datos que se maneja en TensorFlow son los “tensores”, con un “tensor” nos referimos a un conjunto de valores primitivos, por ejemplo números flotantes o enteros, organizados en un array de 1 o N dimensiones, el rango del “tensor” sería el número de dimensiones, por ejemplo:

[1. ,2., 3.]: un array sencillo sería un tensor de rango 1.

[[1., 2., 3.], [4., 5., 6.]]: una matriz de 2x3 sería un tensor de rango 2.

[[[1., 2., 3.]], [[7., 8., 9.]]]: este sería un ejemplo de un tensor de rango 3 con dimensiones 2x1x3.

Usando tensores representaremos la información de nuestro problema, y sobre estas estructuras de datos aplicaremos algoritmos que harán “fluir” estos datos aplicando diferentes operaciones y transformaciones sucesivamente, como por ejemplo en las diferentes capas de una red neuronal como veremos más adelante, hasta conseguir el resultado esperado.


¿Cómo usar TensorFlow?

TensorFlow está implementado en C++ y Python, y la forma más conveniente y sencilla de utilizarlo es a través del API que ofrece en Python.

Como ya hemos mencionado, TensorFlow es código abierto y está disponible en GitHub; sin embargo, la forma más rápida y recomendada de instalar TensorFlow es a través de pip, la utilidad de gestión de paquetes de Python. TensorFlow está disponible en los repositorios oficiales, por lo que instalarlo es tan sencillo.


Conclusiones:

En este tutorial tratamos de abordar conceptos acerca de herramientas para el uso del desarrollo para Inteligencia Artificial (IA); tal como Anaconda Distribution que nos servirá para poder preparar nuestro ambiente de desarrollo y Python que será el lenguaje de programación para realizar nuestras aplicaciones orientadas a IA, asimismo se detalla acerca de TensorFlow con la finalidad de construir y entrenar redes neuronales para detectar correlaciones y descifrar patrones, análogos al aprendizaje y razonamiento usados por los humanos.

Publicar un comentario

0 Comentarios