Correzione: la CPU supporta le istruzioni secondo cui questo file binario TensorFlow non è stato compilato per utilizzare AVX2

Le estensioni vettoriali avanzate ( AVX , note anche come Sandy Bridge New Extensions ) sono estensioni dell'architettura del set di istruzioni x86 per microprocessori di Intel e AMD proposte da Intel nel marzo 2008 e supportate per la prima volta da Intel con il processore Sandy Bridge in vendita nel primo trimestre del 2011 e successivi su da AMD con il processore Bulldozer in vendita nel terzo trimestre del 2011. AVX fornisce nuove funzionalità, nuove istruzioni e un nuovo schema di codifica.

Questo messaggio di avviso viene stampato dalla libreria condivisa di TensorFlow. Come indica il messaggio, la libreria condivisa non include il tipo di istruzioni che la tua CPU potrebbe utilizzare.

Cosa causa questo avviso?

Dopo TensorFlow 1.6, i binari ora utilizzano istruzioni AVX che potrebbero non funzionare più su CPU meno recenti. Quindi le CPU più vecchie non saranno in grado di eseguire AVX, mentre per quelle più recenti, l'utente deve costruire il tensorflow dalla sorgente per la propria CPU. Di seguito sono riportate tutte le informazioni che devi sapere su questo particolare avviso. Inoltre, un metodo per sbarazzarsi di questo avviso per un uso futuro.

Cosa fa l'AVX?

In particolare, l'AVX ha introdotto l'FMA (Fused multiply-add); che è l'operazione di moltiplicazione e aggiunta in virgola mobile, e tutta questa operazione viene eseguita in un unico passaggio. Questo aiuta ad accelerare molte operazioni senza alcun problema. Rende il calcolo dell'algebra più veloce e facile da usare, anche il prodotto puntuale, la moltiplicazione di matrici, la convoluzione, ecc. E queste sono tutte le operazioni più utilizzate e basilari per ogni formazione di apprendimento automatico. Le CPU che supportano AVX e FMA saranno molto più veloci di quelle precedenti. Ma l'avviso indica che la tua CPU supporta AVX, quindi è un buon punto.

Perché non viene utilizzato di default?

Questo perché la distribuzione predefinita di TensorFlow viene creata senza le estensioni della CPU. Per le estensioni della CPU indica AVX, AVX2, FMA, ecc. Le istruzioni che attivano questo problema non sono abilitate per impostazione predefinita nelle build predefinite disponibili. Il motivo per cui non sono abilitati è per renderlo più compatibile con il maggior numero possibile di CPU. Anche per confrontare queste estensioni, sono molto più lente nella CPU piuttosto che nella GPU. La CPU viene utilizzata nell'apprendimento automatico su piccola scala mentre è previsto l'uso della GPU quando viene utilizzata per una formazione di apprendimento automatico su media o larga scala.

Risolvere l'avvertimento!

Questi avvisi sono solo semplici messaggi. Lo scopo di questi avvisi è di informarti sul TensorFlow creato dall'origine. Quando si crea TensorFlow dall'origine, può essere più veloce sulla macchina. Quindi tutti questi avvertimenti di cui ti parlano è la creazione di TensorFlow dalla sorgente.

Se hai una GPU sul tuo computer, puoi ignorare questi avvisi dal supporto AVX. Perché quelli più costosi verranno spediti su un dispositivo GPU. E se vuoi non vedere più questo errore, puoi semplicemente ignorarlo aggiungendo questo:

importa il modulo OS nel codice del programma principale e imposta anche l'oggetto di mappatura per esso

# Per disabilitare l'avviso import os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2'

Ma se sei su un Unix , usa il comando export nella shell bash

esporta TF_CPP_MIN_LOG_LEVEL = 2

Ma se non si dispone di GPU e si desidera utilizzare la CPU il più possibile, è necessario creare TensorFlow dalla sorgente ottimizzata per la CPU con AVX, AVX2 e FMA abilitati qui.

Raccomandato

Correzione: Minecraft non rispondeva
Che cos'è l'applicazione di registrazione del dispositivo del sintonizzatore TV digitale e deve essere rimossa?
Cos'è FileRepMalware e dovresti rimuoverlo