Cómo instalar TensorFlow en un hosting cloud

mayo 11, 2021 , 0 Comments

Tensorflow

La inteligencia artificial avanza a pasos agigantados. Cada vez es más poderosa y permite aplicarse a nuevas tareas. El aprendizaje automático es uno de los campos de la IA al que debes prestar especial atención, con proyectos como TensorFlow. Si dispones de un servidor o hosting cloud, podrás instalar este proyecto allí para darle la capacidad de aprender sin necesidad de programar de forma explícita.

En este tutorial mostraré, paso a paso, cómo puedes instalar este proyecto de código abierto tan potente en un hosting cloud. Para ello, he elegido como referencia Clouding, por sus precios, facilidad, soporte en español 24/7, disponibilidad, prestaciones y, muy especialmente, por tener su centro de datos en territorio español, en Barcelona. Por tanto, estará bajo las leyes europeas de protección de datos…

¿Cómo me puede ayudar Tensorflow a mi negocio?

Apps empresariales

En la pandemia, se ha hecho mucho más evidente que las empresas necesitan modernizarse para poder ser competitivas. Gran parte de las ayudas europeas irán dirigidas precisamente a esa transición digital. Todos los negocios que no se han adaptado, han sufrido más las consecuencias económicas de esta crisis sanitaria. Por ejemplo, incluso los pequeños negocios se han apresurado a cambiar sus ventas físicas por las ventas online, lo que les ha permitido seguir funcionando sin que las medidas de las restricciones les afecten.

Tecnologías como la nube, el IoT, o la IA, son fundamentales. En concreto, con TensorFlow y el aprendizaje automático, podrás conseguir grandes beneficios. Por citar solo algunos ejemplos:

  • Mejorar imágenes usando IA si te dedicas a temas de diseño o fotografía.
  • Ayudar con el diagnóstico médico analizando los resultados de pruebas médicas.
  • Procesamiento de imágenes de forma ágil y catalogación automatizada.
  • Enseñarle reconocimiento de voz o de sonidos.
  • Análisis facial, de sentimientos, etc.
  • Detección de fallos automatizado.
  • Detección de idiomas en textos de forma automática.
  • Agilizar multitud de tareas cotidianas de la empresa.
  • Y un largo etc. Las aplicaciones son casi inimaginables…

Por eso, es ampliamente usado en la industria, en sectores como el automóvil, también en el sector sanitario, en seguros, agencias tributarias, y otros muchos profesionales.

¿Qué es TensorFlow?

logo Tensorflow

TensorFlow es un software de código abierto, desarrollado inicialmente por ingenieros e investigadores de Google, y más tarde liberado. Una biblioteca para computación numérica y aprendizaje automático. Emplea gráficos de flujo de datos para ello, los nodos representan operaciones matemáticas, mientras los bordes representan matrices de datos multidimensionales (tensores) comunicadas entre ellos.

Con este software se permite construir y entrenar redes neuronales artificiales para realizar múltiples tareas, como detectar y descifrar patrones y correlaciones, de una forma análoga a la forma de aprender y razonar que tienen los seres humanos.

Este proyecto también aporta mucha flexibilidad, pudiendo realizar los cálculos usando CPU o GPU, tanto una como varias de ellas, en PCs, servidores e incluso dispositivos móviles. Eso es posible puesto que es multiplataforma, pudiéndose ejecutar en sistemas como GNU/Linux, macOS, Windows, iOS y Android, así como un servicio web como veremos en este tutorial. Incluso dispone de varios envoltorios para usar diferentes lenguajes de programación: Python, C++, o Java. Todo con una única API.

Instalar TensorFlow paso a paso

Lo siguiente es mostrar un ejemplo paso a paso de cómo instalar TensorFlow en un hosting cloud. Para ello, emplearé un VPS de Clouding.io, donde se pueden elegir tanto sistemas operativos Windows como Linux. Por supuesto, dada la temática del blog y las bondades de GNU/Linux, no hay duda de que me basaré en una distro Linux.

Crear la cuenta y preparar la plataforma de Clouding

Antes de comenzar, hay que registrarse para obtener acceso al servicio que ofrece este proveedor y así disfrutar de los 5€ de saldo gratis que ofrecen para probar la plataforma. Será tan sencillo como seguir los pasos que indican para la verificación de la cuenta. Sólo toma un minuto.

clouding

Después, deberás volver a la web oficial de Clouding y logearte introduciendo tu usuario y contraseña:

registro Clouding

Ahora ya puedes ver el panel de control de Clouding, que como verás es bastante sencillo e intuitivo de usar. Incluso sin demasiados conocimientos podrás manejarlo sin problema siguiendo este tutorial. Para comenzar a crear una instancia para TensorFlow, pulsa Haz click aquí para crear tu primer servidor:

Inicion Cluding Tensorflow

Eso te llevará al menú de configuración de tu servidor. Lo primero será poner el nombre a tu VPS, puedes elegir el que prefieras. Luego hay que elegir el SO. Para este tutorial seleccionaré una de las distros que ofrecen (CentOS, Ubuntu Server, Ubuntu Desktop o Debian). Puedes elegir la que prefieras, en mi caso elegiré un Ubuntu Server 20.04:

Hosting configuración

Una vez seleccionado el sistema base, lo siguiente es configurar el resto de parámetros que aparecen en esa misma página más abajo. Como ves, entre las opciones de configuración de la máquinas podrás elegir la cantidad de RAM, los núcleos de vCPU, o el espacio de almacenamiento SSD que necesitas. Para TensorFlow en sí no necesitarás mucho, pero puede que para el resto de datos que tengas que manejar sí, por tanto, piensa bien lo que necesitas (no obstante, se puede escalar):

Instancia Tensorflow

También es importante que crees la llave SSH, dando el nombre que quieras. Eso te permitirá descargar el par para poder acceder remotamente sin tener que estar introduciendo la contraseña de forma manual cada vez que quieras entrar. Además, también te permite configurar el Firewall o copias de seguridad. En este caso, tanto los backups como el firewall lo dejamos como está.

Si ya has terminado, comprueba que esté todo OK y pulsa Eviar. Eso te redirige a otra pantalla con tu instancia cloud creada. Pero en el apartado de estado verás que se está creando:

Instancia Tensorflow

En un abrir y cerrar de ojos, estará el sistema instalado y configurado. Entonces aparecerá el estado como Activo. Y ya puedes usarlo.

SERVIDOR Cluding Activo

Pulsa sobre el nombre de tu servidor en esta pantalla y te llevará a un resumen con los detalles:

Configuración principal de acceso

Si haces scroll, encontrarás el apartado Cómo acceder al servidor. Es muy importante, ya que aquí es donde encontrarás todo lo necesario para acceder a tu servidor y administrarlo. Por ejemplo, te puedes bajar la clave SSH, o puedes ver la IP pública por la que acceder por SSH, el nombre de usuario (root), y la contraseña de acceso:

Claves ssh

No pierdas esos datos, puesto que te harán falta en los próximos pasos para comenzar a instalar Tensorflow en tu instancia de Clouding.

Pre-requisitos

Para comenzar, lo primero que hay que hacer es satisfacer algunas dependencias o paquetes que serán útiles para Tensorflow, así como actualizar para garantizar que todo está en su versión más reciente. Para ello, vamos a entrar en el terminal para conectarlos por SSH con la contraseña y la IP que mostré en la imagen anterior para acceder desde tu distro de forma remota a la instancia (recuerda sustituir tuipdelservidor por la IP de la instancia de Clouding):

ssh root@tuipdelservidor

acceso ssh

Te pedirá la contraseña de la instancia que también tendrás que introducir y eso te dará acceso. Verás que el prompt de tu terminal ya no es el tuyo local, sino que estás dentro del servidor cloud. Por tanto, todos los comandos que ejecutes a partir de ahora, tendrán efecto en la instancia y no en tu sistema local.

acceso ssh

Ahora, lo primero es actualizar el sistema con los siguientes comandos:

apt-get update && apt-get -y upgrade

instalando Tensorflow

Ahora, deberás instalar Python3 y otros paquetes auxiliares que necesitarás:

apt-get install python3 python3-pip python3-dev

Lo siguiente es preparar el entorno virtual, usando el módulo virtualenv, que forma parte de la biblioteca estándar de Python3:

pip3 install virtualenv

mkdir ~/miproyecto

cd ~/miproyecto

virtualenv tf-env

source tf-env/bin/activate

instalación modulos python

Tras eso notarás que tu prompt ha cambiado, y ahora muestra tf-env antes del nombre de usuario y host.

prompt

Instalar Tensorflow (soporte para CPU)

Ya está todo preparado para la instalación de TensorFlow en tu instancia de Clouding. El siguiente paso a seguir sería:

pip install --upgrade tensorflow

Una vez se ha instalado, puedes verificar la instalación usando el siguiente comando:

python -c ‘import tensorflow as tf; print(tf.version)’

Y eso te debería devolver una salida con la versión de Tensorflow instalada. A partir de ahí, ya podrías comenzar a usar Tensorflow para cualquier tarea que necesites…

Conclusión

En conclusión, las facilidades que ofrece Clouding para trabajar con sus VPS hacen que la experiencia para instalar cualquier proyecto como Tensorflow, o realizar configuraciones, sea tan fácil como hacerlo en tu máquina local. Solo que con la potencia y escalabilidad de este tipo de servidores.

Además, su panel de control es bastante intuitivo y el asistente te guía incluso si no tienes grandes conocimientos técnicos. Por otro lado, las opciones que te da también son muy flexibles, pudiendo elegir tanto los recursos del hardware virtual que necesitas, como el sistema operativo. Esa versatilidad hace que se adapte de maravilla a tus necesidades, por muy particulares que sean.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.