En este tutorial, veremos cómo comenzar con TensorFlow en CentOS. Cubriremos dos métodos. Primero, veremos cómo instalar TensorFlow en un entorno virtual de Python a través del pip del administrador de paquetes de Python. Después de eso, veremos cómo instalar TensorFlow a través del administrador de paquetes de Anaconda. Finalmente, cubriremos la construcción de un paquete pip de TensorFlow desde la fuente.
El aprendizaje automático es una esfera de desarrollo de software en rápida evolución, que proporciona muchos avances tecnológicos emocionantes y sorprendentes. Debajo del capó, se compone de fórmulas y algoritmos matemáticos complejos. TensorFlow ofrece una vía para que los desarrolladores obtengan acceso al poder del aprendizaje automático y sus aplicaciones a través de una elegante interfaz de Python.
Comprobación previa al vuelo:
- Estas instrucciones se realizan como usuario raíz en un servidor CentOS 8 autoadministrado de Liquid Web.
- Estas instrucciones funcionarán en servidores CentOS 7 o CentOS 8.
- Estas instrucciones asumen que tiene la versión 3.4 o superior de Python ya instalada en su sistema.
- Estas instrucciones también asumen que tiene instalada una versión funcional de Anaconda o Miniconda. Si está buscando orientación sobre cómo comenzar con Conda, diríjase a este artículo: /kb/using-conda-for-alternate-python-installations/
PEPITA
Paso 1: actualice y configure el entorno
Como práctica recomendada, debemos asegurarnos de que los paquetes de nuestro sistema estén actualizados ejecutando el siguiente comando:
[[email protected] ~]# yum update -y
Paso 2: crear y activar el entorno virtual
Ahora que el sistema está actualizado, creemos un entorno virtual de Python:
[[email protected] ~]# python3 -m venv pip-tensorflow
El último argumento del comando anterior, “pip-tensorflow” es el nombre del entorno virtual. Siéntete libre de nombrar el entorno virtual como quieras.
Ahora que existe un entorno virtual, necesitamos activarlo:
[[email protected] ~]# source pip-tensorflow/bin/activate
(pip-tensorflow) [[email protected] ~]#
Para instalar TensorFlow 2, la versión más reciente y recomendada de TensorFlow, debemos actualizar un par de paquetes clave de Python llamados setuptools:
(pip-tensorflow) [[email protected] ~]# pip install -U pip setuptools
Cache entry deserialization failed, entry ignored
Collecting pip
Using cached https://files.pythonhosted.org/packages/00/b6/cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl
Cache entry deserialization failed, entry ignored
Collecting setuptools
Cache entry deserialization failed, entry ignored
Downloading https://files.pythonhosted.org/packages/f9/d3/55738b20d3832dfa3cd3d9b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl (83kB)
100% |████████████████████████████████| 83kB 1.MB/s
Installing collected packages: pip, setuptools
Found existing installation: pip 9.0.3
Uninstalling pip-9.0.3:
Successfully uninstalled pip-9.0.3
Found existing installation: setuptools 39.2.0
Uninstalling setuptools-39.2.0:
Successfully uninstalled setuptools-39.2.0
Successfully installed pip-19.3.1 setuptools-44.0.0
Paso 3: Instalar y probar TensorFlow
El entorno ahora está listo para instalar TensorFlow:
(pip-tensorflow) [[email protected] ~]# pip install tensorflow
¡TensorFlow ya está instalado! Para verificar esto y empezar con un básico examplelo colocaremos en un shell de Python:
Nota:Dependiendo de la versión de Python 3 en su máquina, la salida de la versión para Python puede diferir ligeramente en su sistema de lo que tenemos en este example.
(pip-tensorflow) [[email protected] ~]# python
Python 3.6.8 (default, Oct 7 2019, 17:58:22)
[GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Una vez que esté en el shell de Python, copie y pegue este fragmento de texto y presione enter:
import tensorflow as tf
vals1 = tf.constant([1, 1, 2, 2])
vals2 = tf.constant([2, 2, 4, 4])
result = tf.multiply(vals1, vals2)
tf.print(result)
La salida debería verse así:
(pip-tensorflow) [[email protected] ~]# python
Python 3.6.8 (default, Oct 7 2019, 17:58:22)
[GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>>
>>> vals1 = tf.constant([1, 1, 2, 2])
2020-01-08 22:28:10.881818: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-01-08 22:28:10.885198: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3599995000 Hz
2020-01-08 22:28:10.885329: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x558aeb6013b0 executing computations on platform Host. Devices:
2020-01-08 22:28:10.885347: I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor device (0): Host, Default Version
>>> vals2 = tf.constant([2, 2, 4, 4])
>>>
>>> result = tf.multiply(vals1, vals2)
>>>
>>> tf.print(result)
[2 2 8 8]
Puede notar que hay algunas advertencias sobre el binario de TensorFlow que no se ha compilado para usar características específicas de la CPU. La razón de esto es que los paquetes de TensorFlow Pip se construyen sin estas opciones de kernel para permitir una gama más amplia de opciones de instalación para tantos sistemas como sea posible.
Sin embargo, no se preocupe, ya que aún puede usar TensorFlow sin problemas. Es posible compilar TensorFlow desde la fuente para crear un paquete queescompilado para utilizar estas características adicionales de la CPU. A los efectos de este tutorial, nos centraremos en los conceptos básicos de TensorFlow y silenciaremos estas advertencias.
(pip-tensorflow) [[email protected] ~]# echo "export TF_CPP_MIN_LOG_LEVEL=2" >> .bash_profile
(pip-tensorflow) [[email protected] ~]# source .bash_profile
Si ejecutamos el example nuevamente, deberíamos ver que esas advertencias ahora están ocultas:
(pip-tensorflow) [[email protected] ~]# python
Python 3.6.8 (default, Oct 7 2019, 17:58:22)
[GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>>
>>> vals1 = tf.constant([1, 1, 2, 2])
>>> vals2 = tf.constant([2, 2, 4, 4])
>>>
>>> result = tf.multiply(vals1, vals2)
>>>
>>> tf.print(result)
[2 2 8 8]
Instalar TensorFlow usando Anaconda
Paso 1: cree el entorno e instale TensorFlow
Una de las ventajas de utilizar Anaconda o Miniconda para comenzar con TensorFlow es que puede crear el entorno e instalar el paquete al mismo tiempo.
[[email protected] ~]# conda create -n conda-tensorflow tensorflow -y
En el comando anterior, “conda-tensorflow” es solo el nombre del entorno de conda donde se instalará TensorFlow. Puede elegir el nombre que desee para el entorno. Otro aspecto a tener en cuenta sobre la instalación a través de Conda es que no tenemos que preocuparnos por actualizar las dependencias de TensorFlow porque eso lo manejamos nosotros.
Paso 2: activa y prueba TensorFlow
Es posible que haya notado que después de la creación del entorno Conda y la instalación de TensorFlow, Conda proporciona instrucciones sobre cómo activar y desactivar el entorno:
# To activate this environment, use
#
# $ conda activate conda-tensorflow
#
# To deactivate an active environment, use
#
# $ conda deactivate
Vamos a seguir adelante y activarlo:
[[email protected] ~]# conda activate conda-tensorflow
(conda-tensorflow) [[email protected] ~]#
Para probar las cosas, entremos una vez más en un shell de Python y copiemos y peguemos el mismo fragmento que usamos anteriormente.
(conda-tensorflow) [[email protected] ~]# python
Python 3.7.6 | packaged by conda-forge | (default, Jan 7 2020, 20:28:53)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>>
>>> vals1 = tf.constant([1, 1, 2, 2])
>>> vals2 = tf.constant([2, 2, 4, 4])
>>>
>>> result = tf.multiply(vals1, vals2)
>>>
>>> tf.print(result)
[2 2 8 8]
¡Eso es todo al respecto! Este tutorial presenta una buena example del tipo de trabajo que puede hacer TensorFlow. En este punto, está listo para comenzar a construir redes neuronales y capacitarlas para hacer cualquier cantidad de cosas interesantes, como el reconocimiento de imágenes o el procesamiento del lenguaje natural.