mercoledì 15 gennaio 2020

Docker tensorflow ottimizzato per Intel

Usando la versione standard di Tensorflow distribuita da Google si nota il messaggio "Your CPU supports instructions that this Tensorflow binary was not compiled to use: AVX2 FMA"

Questo perche' la versione distribuita e' compilata per funzionare su un ampio spettro di calcolatori

La soluzione per avere una versione ottimizzata per tutte le istruzioni della CPU e' quella di compilare da sorgenti Tensorflow oppure di utilizzare dei container docker che gia' hanno il codice compilato ottimizzato. In questo senso vengono utili i container prodotti da Intel con il supporto MKL (Math Kernel for Deep Neural Network)

Vi sono versioni con Python 2.7
docker run -it -p 8888:8888 intelaipg/intel-optimized-tensorflow

e Python 3.6
docker run -it -p 8888:8888 intelaipg/intel-optimized-tensorflow:2.0.0-mkl-py3




Per modificare in modo permanente il container con le librerie di normale uso si lancia

docker run -it intelaipg/intel-optimized-tensorflow:2.0.0-mkl-py3 /bin/bash 

e con pip si installano normalmente le librerie Python (per esempio Pandas, Matplotlib...)
al termine si fa exit e con 

docker ps -a 

si copia l'ID del container modificato. A questo punto con commit si modifica in modo definitivo il container

docker commit Docker_ID intelaipg/intel-optimized-tensorflow:2.0.0-mkl-py3





Nessun commento:

Posta un commento

Pandas su serie tempo

Problema: hai un csv che riporta una serie tempo datetime/valore di un sensore Effettuare calcoli, ordina le righe, ricampiona il passo temp...