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

Advanced Vector Extensions ( AVX , juga dikenali sebagai Sandy Bridge New Extensions ) 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 dihidupkan oleh AMD dengan penghantaran pemproses Bulldozer pada Q3 2011. AVX menyediakan ciri baru, arahan baru, dan skema pengekodan baru.

Mesej amaran ini dicetak oleh perpustakaan bersama TensorFlow. Seperti yang ditunjukkan oleh pesan, perpustakaan 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. Jadi CPU yang lebih tua tidak akan 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-produk, matriks darab, konvolusi, dan lain-lain. Dan ini semua merupakan operasi asas yang paling banyak digunakan dan asas 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.

Mengapa ia tidak digunakan secara lalai?

Ini kerana taburan lalai TensorFlow dibina tanpa peluasan CPU. Dengan pelanjutan 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:

import modul OS dalam kod program utama anda dan tetapkan juga objek pemetaan untuknya

# Untuk mematikan peringatan import os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2'

Tetapi jika anda menggunakan Unix , gunakan perintah eksport dalam bash shell

eksport TF_CPP_MIN_LOG_LEVEL = 2

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