Fix: CPU Anda Mendukung Petunjuk bahwa TensorFlow Binary ini tidak dikompilasi untuk menggunakan AVX2
Ekstensi Vektor Lanjutan (AVX, juga dikenal sebagaiEkstensi Baru Sandy Bridge) adalah ekstensi ke arsitektur set instruksi x86 untuk mikroprosesor dari Intel dan AMD yang diusulkan oleh Intel pada Maret 2008 dan pertama kali didukung oleh Intel dengan pengiriman prosesor Sandy Bridge pada Q1 2011 dan kemudian oleh AMD dengan pengiriman prosesor Bulldozer pada Q3 2011. AVX menyediakan fitur baru, instruksi baru, dan skema pengkodean baru.
Pesan peringatan ini dicetak oleh pustaka bersama TensorFlow. Seperti yang ditunjukkan pesan, pustaka bersama tidak menyertakan jenis instruksi yang dapat digunakan CPU Anda.
Apa yang Menyebabkan Peringatan ini?
Setelah TensorFlow 1.6, binari sekarang menggunakan instruksi AVX yang mungkin tidak lagi berjalan di CPU lama. Jadi CPU yang lebih lama tidak akan dapat menjalankan AVX, sedangkan untuk yang lebih baru, pengguna perlu membangun tensorflow dari sumber untuk CPU mereka. Di bawah ini adalah semua informasi yang perlu Anda ketahui tentang peringatan khusus ini. Juga, metode tentang menghilangkan peringatan ini untuk penggunaan di masa mendatang.
Apa yang dilakukan AVX?
Secara khusus, AVX memperkenalkan FMA (Fused multiply-add); yang merupakan operasi perkalian-tambahan floating-point, dan semua operasi ini dilakukan dalam satu langkah. Ini membantu mempercepat banyak operasi tanpa masalah. Itu membuat perhitungan aljabar lebih cepat dan mudah digunakan, juga produk titik, perkalian matriks, konvolusi, dll. Dan ini semua adalah operasi dasar dan paling sering digunakan untuk setiap pelatihan pembelajaran mesin. CPU yang mendukung AVX dan FMA akan jauh lebih cepat daripada yang lama. Tetapi peringatan menyatakan bahwa CPU Anda mendukung AVX, jadi ini adalah poin yang bagus.
Mengapa tidak digunakan secara default?
Itu karena distribusi default TensorFlow dibuat tanpa ekstensi CPU. Dengan ekstensi CPU, ini menyatakan AVX, AVX2, FMA, dll. Instruksi yang memicu masalah ini tidak diaktifkan secara default pada build default yang tersedia. Alasan mereka tidak diaktifkan adalah untuk membuatnya lebih kompatibel dengan CPU sebanyak mungkin. Juga untuk membandingkan ekstensi ini, mereka jauh lebih lambat di CPU daripada GPU. CPU digunakan pada pembelajaran mesin skala kecil sementara penggunaan GPU diharapkan ketika digunakan untuk pelatihan pembelajaran mesin skala menengah atau besar.
Memperbaiki Peringatan!
Peringatan ini hanyalah pesan sederhana. Tujuan peringatan ini adalah untuk memberi tahu Anda tentang TensorFlow yang dibuat dari sumber. Saat Anda membuat TensorFlow dari sumbernya, ini bisa lebih cepat di mesin. Jadi semua peringatan ini memberitahu Anda tentang membangun TensorFlow dari sumber.
Jika Anda memiliki GPU di mesin Anda, maka Anda dapat mengabaikan peringatan ini dari dukungan AVX. Karena yang paling mahal akan dikirim pada perangkat GPU. Dan jika Anda ingin tidak melihat kesalahan ini lagi, Anda cukup mengabaikannya dengan menambahkan ini:
impor Modul OS dalam kode program utama Anda dan juga atur objek pemetaan untuknya
# Untuk menonaktifkan peringatan impor os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
Tetapi jika Anda berada di Unix, lalu gunakan perintah ekspor di bash shell
ekspor TF_CPP_MIN_LOG_LEVEL=2
Tetapi jika tidak memiliki GPU, dan Anda ingin menggunakan CPU Anda sebanyak mungkin, Anda harus membangun TensorFlow dari sumber yang dioptimalkan untuk CPU Anda dengan AVX, AVX2, dan FMA diaktifkan di sini.