Red de conocimiento informático - Conocimiento sistemático - Instalar bazel desde el código fuente

Instalar bazel desde el código fuente

Primero debe verificar si la configuración de su PC es suficiente. El modo GPU de TF solo admite tarjetas N y la potencia informática es superior a 3.0. Para obtener más información, consulte:

Los tutoriales de instalación pueden consultar:

Instalación de gtx1080 Cuda en Ubuntu16.04

17 de julio de 2016

Tensorflow es un marco informático de aprendizaje profundo muy popular. El método de instalación del hardware y el sistema convencionales se explica claramente en el documento oficial. Sin embargo, debido a que el sistema es Ubuntu16.04 y la tarjeta gráfica es GTX1080, es inevitable tener que hacerlo. juguetear con ello. Ya instalé el controlador el 16.04 en el artículo anterior. De hecho, el siguiente paso es instalar CUDA y cuDNN.

En primer lugar, ¿por qué deberíamos instalar CUDA y cuDNN? Benchmark puede descubrir cuánto más rápida es la computación GPU que la CPU. Esta vez el enfoque es cómo hacer que tensorflow utilice plenamente las capacidades de GTX1080. Específicamente, cómo instalar CUDA y cuDNN que admiten GTX1080 y luego dejar que tensorflow comprenda nuestro CUDA y cuDNN recién instalados.

Primero, los pasos de instalación son los siguientes:

1 Primero debes registrar una cuenta de desarrollador de NVIDIA y descargar CUDA y cuDNN respectivamente.

2 Confirme para preparar la versión gcc e instalar la biblioteca dependiente sudo apt-get install freegl.

3 Instalar CUDA

4 Descomprimir cuDNN

5 Clonar código fuente de tensorflow y configurar la configuración

6 Compilar e instalar

7¡El último temblor, prueba!

Trabajo de preparación/a punto de comenzar a trabajar

Antes de comenzar oficialmente, necesitamos hacer un trabajo de preparación, principalmente para mirar los documentos primero.

Preguntas frecuentes sobre cuda

Documentación de instalación de tensorflow

Lista de soporte de Cuda-gpu/capacidades informáticas/Preguntas frecuentes

¿Qué tan maravilloso es cudnn 5.1? ?

Página de descarga de Cuda takeit

CUDA_Installation_Guide_Linux.pdf

Guía del usuario de cudnn

Después de leer el documento, siguiente paso Estas son las manos reales -En el proceso de operación:

1 Registre una cuenta de desarrollador de NVIDIA y descargue CUDA y cuDNN respectivamente.

1.1 Descargar cuda. ​​Abra la página de descarga del kit de herramientas CUDA. GTX1080 usa CUDA 8. Comience haciendo clic en "Unirse" para registrar su cuenta. Después de eso, regrese a la página de descarga del kit de herramientas cuda. Seleccione Linux, x86-64, Ubuntu, 16.04, ejecute el archivo (local).

1.2 Descargar cuDNN Ingrese a la página de descarga de cudnn, realice muchas encuestas y descargue [Descargar cud nn V5 (2065 438 + 27 de mayo de 2065), para CUDA 8.0 RC] mientras escribe registros. haga clic para abrir Linux, al menos, esta es la dirección de descarga.

2 Confirme la versión de GCC e instale las bibliotecas dependientes.

Confirma la versión local de gcc. La versión predeterminada para 16.04 es gcc 5 y el requisito de instalación más alto aquí es gcc 4.9. A continuación, instale y configure gcc 4.9.

2.1 Instale gcc 4.9 y cambie el valor predeterminado del sistema a 4.9.

sudo apt-get install gcc-4.9 gcc-4.9 g++-4.9 g++-4.9

versión de gcc

sudo update-alternative-install/usr/ bin /g++ g++/usr/bin/g++-4.9 10

sudo update-alternative-install/usr/bin/cc cc/usr/bin/gcc 30

sudo update - alternativa - configurar cc /usr/bin/gcc

actualización de sudo - alternativa -instalar /usr/bin/c++ c++/usr/bin/g++ 30

actualización de sudo - alternativa - configurar c++ /usr/bin/g++

versión gcc

dependencia menor 2.2

sudo apt-get install free

3Instalación de CUDA

Cabe señalar que aquí existe una opción para instalar controladores de versiones inferiores. El proceso de instalación general para seleccionar N es el siguiente:

3.1 Instalando CUDA

chmod? +x /cuda_8.0.27_linux.run

. /cuda_8.0.27_linux.run

....

¿Aceptas el EULA que leíste antes?

Aceptar/Rechazar/Salir:Aceptar

¿Instalar el controlador de gráficos acelerados NVIDIA Linux-x86_64 361.62?

(y)es/(n)o/(q)uit: n

¿Instalar el kit de herramientas CUDA 8.0?

(y)es/(n)o/(q)uit: y

Ingrese la ubicación del kit de herramientas

[El valor predeterminado es /usr/local/cuda - 8.0 ]:

¿Quieres instalar un enlace simbólico en /usr/local/cuda?

(y)es/(n)o/(q)uit: y

¿Instalar CUDA 8.0 ejemplo?

(y)es/(n)o/(q)uit: y

Ingrese la ubicación de muestra CUDA

[el valor predeterminado es /home/h]: /home/h/Documents/cuda _ samples

....

3.2 Escribir variables de entorno

vim ~/. bashrc

#Agregue las siguientes variables

Exportar ruta=/usr/local/cuda-8.0/bin $ { PATH:+:$ { PATH } }

Exportar LD _ LIBRARY _ PATH =/usr/local/cuda-8.0/lib 64 $ { LD _ LIBRARY _ PATH:+:$ { LD _ LIBRARY _ PATH } }

3.3 Verificación simple después de la instalación

A. Ingrese a la carpeta donde se encuentra la muestra de cuda, NVIDIA_CUDA-8.0_Samples/

b.CD 0 _ API simple/async sudo make

c. NVIDIA_CUDA-8.0_Samples/0_Simple/asyncAPI$. /asyncAPI[.

/asyncAPI] - Iniciando... Dispositivo GPU 0: "GeForce GTX 1080" con capacidad de cómputo 6.1 Dispositivo CUDA [GeForce GTX 1080] Tiempo empleado por la GPU en ejecución: 10,94 Tiempo empleado por la CPU en llamadas CUDA: 0,19 CPU en espera de GPU Completado con 50591 iteraciones realizadas

4 Instalar cuDNN

h @h:~/Descargar $ tar xvzf cud nn-8.0-Linux-x64-v 5.0-ga .tgz

cuda/include/cudnn.h

cuda/lib64/libcudnn.so

cuda/lib64/libcudnn.so.5

cuda/lib64/ libcudnn.so.5.0.5

cuda/lib64/libcudnn_static.a

h @ h:~/Descargas $ sudo CP-R cuda/lib 64/usr /local/cuda /lib 64

h @ h:~/Descargas $ sudo mkdir-p/usr/local/cuda/include

h @ h:~/Descargas/cuda $ sudo CP include /cud nn h/usr/local/cuda/include/

sudo chmod a+r/usr/local/cuda/include/cud nn h/usr/local/cuda/ lib 64/libcudnn. *

5 clonar, configurar flujo tensor

5.1 clonar código fuente

$ git clone

5.2 configurar configuración

Todo el proceso de configuración debería ser básicamente el mismo que se muestra a continuación.

h@h:~/Descargas/tensorflow$ cd. /tensorflow/

h@h:~/Descargas/tensorflow$. /Configuración

Especifique la ubicación de Python. [El valor predeterminado es /usr/bin/python]:

* * *¿Quieres crear TensorFlow con soporte para Google Cloud Platform? [Sí/No]No***

TensorFlow no habilitará la compatibilidad con Google Cloud Platform

* * *¿Quieres crear TensorFlow con compatibilidad con GPU? [s/N] y***

Se habilitará la compatibilidad con GPU para TensorFlow

Especifique qué gcc nvcc debe usarse como compilador host. [El valor predeterminado es /usr/bin/gcc]:

* *Por favor, explique la ubicación de CUDA. El kit de herramientas está instalado. Consulte README.md para obtener más detalles. [El valor predeterminado es /usr/local/cuda]:/usr/local/cuda-8.0 * *

* *Especifique la versión de Cudnn que desea utilizar. [Deje en blanco para usar los valores predeterminados del sistema]: 5.0.5**

* *Especifique la ubicación de instalación de la biblioteca cuDNN 5.0.5. Consulte README.md para obtener más detalles. [El valor predeterminado es /usr/local/cuda-8.0]:/usr/local/cuda * *

Especifique una lista separada por comas de las funciones informáticas de Cuda con las que le gustaría compilar.

Puede encontrar las capacidades informáticas de su dispositivo en:

* *Tenga en cuenta que cada capacidad informática adicional aumentará significativamente el tiempo de compilación y el tamaño binario.

[El valor predeterminado es: "3.5, 5.2"]:6.1 * *

Establecer Cuda incluye

Establecer Cuda lib64

Establecer Cuda bin

Establecer Cuda nvvm

Establecer CUPTI include

Establecer CUPTI lib64

Configuración completada

6 compilación ¿Y la configuración de instalación del compilador Bazel

6.1?

¿Mirar primero el archivo? Luego realiza el siguiente proceso:

#Install java 1.8

sudo add-apt-repository PPA:webupd 8 team/Java

sudo apt-get update

p>

sudo apt-get install oracle-java8-installer

#Después de la instalación, consulte el automóvil.

versión java

#Agregar fuente de señal

echo " deb[arch = amd64]stable JDK 1.8 " | sudo tee/etc/apt/sources . .d/bazel .list

curl | sudo apt-key-add-

#download

sudo apt-get update&& ampsudo apt-get install bazel <. /p>

#Upgrade

sudo apt-get update bazel

6.2 compila e instala la versión pip de tensorflow.

$ bazel build-c opt//tensor flow/tools/pip _ package:build _ pip _ package

#Construir con soporte para GPU:

$ bazel build-c opt-config = cuda//tensor flow/tools/pip _ paquete:build _ pip _ paquete

$ bazel-bin/tensor flow/tools/pip _ paquete/build _ pip _ El nombre del paquete/tmp/tensor flow _ pkg

#. El archivo whl dependerá de su plataforma.

#Tenga en cuenta que el nombre del archivo generado después de la compilación no es necesariamente coherente con el documento oficial.

$ sudo pip install/tmp/tensor flow_pkg/tensor flow-0. *-linux_x86_64.whl

Tiempo de compilación de I6700k 32g:

Compilación de código sin pipinfo: consumo de tiempo: 967.438+0 s, ruta crítica: 538.38 s

bazel - bin/tensor flow/tools/pip _ package/build _ pip _ información del paquete: Tiempo necesario: 65.183 s, ruta crítica: 48.58

7 pruebas finales

Todos los pasos anteriores son Listo, ahora es el momento de probar.

Tenga en cuenta que hay dos bibliotecas de enlaces dinámicos en el frente, cuDNN está en /usr/local/cuda/lib64 y cuda está en /usr/local/cuda-8.0/lib64, por lo que bashrc en este momento debería escribirse así :

Exportar ruta=/usr/local/cuda-8.0/bin $ { PATH:+:$ { PATH } }

Exportar LD _ LIBRARY _ PATH =/usr/local /cuda/lib 64:/ usr/local/cuda-8.0/lib 64 $ { LD _ LIBRARY _ PATH:+:$ { LD _ LIBRARY _ PATH } }

Después de escribir,

Fuente~/ .

bashrc

CD tensor flow/tensor flow/models/image/mnist

python convolution.py

Si tiene éxito, tendrá un funcionamiento fluido:

h @ h:~/Descargas/tensor flow/tensor flow/models/image/mnist $ python convolatile py

I tensor flow/stream _ executor/DSO _ loader cc. 108] La biblioteca CUDA libcublas.so se abrió exitosamente localmente

I tensor flow/stream _ executor/DSO _ loader cc:108] La biblioteca CUDA libcudnn.so.5.0.5 se abrió exitosamente localmente.

I tensor flow/stream _ executor/DSO _ loader cc:108] Abrí con éxito la biblioteca CUDA libcufft.so localmente

I tensor flow/stream _ executor/DSO _ loader. cc:108] La biblioteca CUDA libcuda.so.1 se abrió con éxito localmente

I tensor flow/stream _ executor/DSO _ loader cc:108] La biblioteca CUDA libcurand.so se abrió con éxito localmente.

p>

Extraer datos/imágenes de entrenamiento-idx3-ubyte.gz

Extraer datos/entrenar etiquetas-idx1-ubyte.gz

Extraer datos/t 10k -images-idx 3-ubyte . gz

Extracción de datos/t 10k-labels-idx 1-ubyte .gz

I tensor de flujo/flujo _ ejecutor/cuda/cuda _ GPU. _ executor cc:925] Se leyó correctamente el nodo NUMA de SysFS con valor negativo (-1), pero debe haber al menos un nodo NUMA, por lo que se devuelve el nodo NUMA cero

I tensor flow/core/ common_runtime/ GPU/GPU_init.cc:102] Dispositivo encontrado 0 con las siguientes propiedades:

Nombre: GeForce GTX 1080

Primario: 6 Secundario: 1 Frecuencia de reloj de memoria (GHz) 1,8475

pciBusID 0000:01:00.0

Memoria total: 7,92 Gigabytes

Memoria disponible: 7,41 GiB

I tensor flow/core/ common _ runtime/GPU/GPU _ init cc:126]DMA:0

I flujo tensor/core/common _ runtime/GPU/GPU _ cc:136]0: . Y

I tensorflow/core/common_runtime/GPU/GPU_device .cc:838] Crear dispositivo de flujo tensor (/GPU:0)->(dispositivo:0, nombre: GeForce GTX 1080, ID de bus pci : 0000:01:00.0)

¡Inicializado!

Paso 0 (Época 0.00), 8,4 milisegundos

Pérdida de mini lote: 12,054, tasa de aprendizaje: 0,010000

Error de mini lote: 90,6 %

p>

Error de verificación: 84,6%

...

...

Error de mini lote: 0,0%

Error de validación: 0,7%

Paso 8500 (época 9.89), 4,7 milisegundos

Pérdida de mini lote: 1,601, tasa de aprendizaje: 0,006302

Error de mini lote: 0,0 %

Error de validación: 0,9 %

Error de prueba: 0,8 %