Perbaiki: CPU Anda Menyokong Arahan bahawa TensorFlow Binary ini tidak Disusun untuk menggunakan AVX2



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Sambungan Vektor Lanjutan ( AVX , juga dikenali sebagai Sambungan Baru Sandy Bridge ) adalah sambungan ke arsitektur set arahan x86 untuk mikropemproses dari Intel dan AMD yang dicadangkan oleh Intel pada bulan Mac 2008 dan pertama kali disokong oleh Intel dengan penghantaran pemproses Sandy Bridge pada Q1 2011 dan kemudian oleh AMD dengan penghantaran pemproses Bulldozer pada Q3 2011. AVX menyediakan ciri baru, arahan baru, dan skema pengekodan baru.



Amaran ditunjukkan dalam cmd



Mesej amaran ini dicetak oleh perpustakaan bersama TensorFlow. Seperti yang ditunjukkan oleh pesan, pustaka bersama tidak termasuk jenis petunjuk yang dapat digunakan oleh CPU anda.



Apa yang Menyebabkan Amaran ini?

Selepas TensorFlow 1.6, binari kini menggunakan arahan AVX yang mungkin tidak lagi berjalan pada CPU lama. Oleh itu, CPU yang lebih lama tidak dapat menjalankan AVX, sementara untuk yang lebih baru, pengguna perlu membina aliran tensor dari sumber untuk CPU mereka. Berikut adalah semua maklumat yang perlu anda ketahui mengenai amaran ini. Juga, kaedah untuk menyingkirkan amaran ini untuk penggunaan masa depan.

Apa yang dilakukan oleh AVX?

Khususnya, AVX memperkenalkan FMA (Fused multiply-add); yang merupakan operasi darab tambah-apungan, dan semua operasi ini dilakukan dalam satu langkah. Ini membantu mempercepat banyak operasi tanpa masalah. Ini menjadikan pengiraan aljabar lebih cepat dan mudah digunakan, juga dot-product, matrix multiply, convolution, dll. Dan ini semua merupakan operasi asas yang paling biasa digunakan untuk setiap latihan pembelajaran mesin. CPU yang menyokong AVX dan FMA akan jauh lebih pantas daripada yang lebih lama. Tetapi amaran tersebut menyatakan bahawa CPU anda menyokong AVX, jadi ini adalah titik yang baik.

Teknologi Intel AVX



Mengapa ia tidak digunakan secara lalai?

Ini kerana taburan lalai TensorFlow dibina tanpa peluasan CPU. Dengan sambungan CPU, ini menyatakan AVX, AVX2, FMA, dll. Arahan yang mencetuskan masalah ini tidak diaktifkan secara lalai pada binaan lalai yang tersedia. Sebab-sebab mereka tidak diaktifkan adalah menjadikannya lebih serasi dengan CPU sebanyak mungkin. Untuk membandingkan peluasan ini, CPU jauh lebih lambat daripada GPU. CPU digunakan pada pembelajaran mesin skala kecil sedangkan penggunaan GPU diharapkan ketika digunakan untuk latihan pembelajaran mesin skala menengah atau besar.

Memperbaiki Amaran!

Amaran ini hanyalah pesanan ringkas. Tujuan amaran ini adalah untuk memberitahu anda mengenai TensorFlow yang dibina dari sumber. Apabila anda membina TensorFlow dari sumbernya, alat ini akan lebih cepat di mesin. Oleh itu, semua amaran ini memberitahu anda tentang peningkatan TensorFlow dari sumber.

Sekiranya anda mempunyai GPU pada mesin anda, maka anda boleh mengabaikan amaran ini dari sokongan AVX. Kerana yang paling mahal akan dihantar pada peranti GPU. Dan jika anda tidak mahu melihat ralat ini lagi, anda boleh mengabaikannya dengan menambahkan ini:

mengimport Modul OS dalam kod program utama anda dan juga menetapkan objek pemetaan untuknya

 # Untuk mematikan amaran   mengimport mereka   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Tetapi jika anda berada di Unix , kemudian gunakan arahan eksport dalam bash shell

 eksport TF_CPP_MIN_LOG_LEVEL = 2 

Tetapi jika tidak mempunyai GPU, dan anda ingin menggunakan CPU anda semaksimal mungkin, anda harus membina TensorFlow dari sumber yang dioptimumkan untuk CPU anda dengan AVX, AVX2, dan FMA yang diaktifkan di sini .

2 minit membaca