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

Sambungan Vektor Terperinci ( AVX, juga dikenali sebagai Sambungan Baru Sandy Bridge ) adalah sambungan kepada arkitek set instruksi x86 untuk mikropemproses dari Intel dan AMD yang dicadangkan oleh Intel pada 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-ciri baru, arahan baru, dan skema pengkodan baharu.

Amaran ditunjukkan dalam cmd

Mesej amaran ini dicetak oleh perpustakaan bersama TensorFlow. Seperti yang ditunjukkan oleh mesej, pustaka dikongsi tidak termasuk jenis arahan yang boleh digunakan oleh CPU anda.

Apa yang Menyebabkan Amaran ini?

Selepas TensorFlow 1.6, binari kini menggunakan arahan AVX yang tidak boleh berjalan pada CPU lama lagi. Jadi CPU lama tidak dapat menjalankan AVX, sedangkan untuk yang lebih baru, pengguna perlu membina aliran tensor dari sumber untuk CPU mereka. Di bawah adalah semua maklumat yang anda perlukan untuk mengetahui amaran khusus ini. Juga, kaedah untuk menghapuskan amaran ini untuk penggunaan masa depan.

Apakah yang dilakukan oleh AVX?

Khususnya, AVX memperkenalkan FMA (Fused multiply-add); yang merupakan operasi berbilang terapung terapung, dan ini semua operasi dilakukan dalam satu langkah. Ini membantu mempercepatkan banyak operasi tanpa sebarang masalah. Ia menjadikan pengiraan algebra lebih cepat dan mudah digunakan, juga produk dot, matriks berganda, konvolusi, dan lain-lain. Dan ini adalah semua operasi yang paling digunakan dan asas bagi setiap latihan pembelajaran mesin. CPU yang menyokong AVX dan FMA akan jauh lebih cepat daripada yang lebih tua. Tetapi amaran menyatakan bahawa CPU anda menyokong AVX, jadi itu adalah titik yang baik.

Teknologi Intel AVX

Mengapa ia tidak digunakan secara lalai?

Itu kerana pengedaran lalai TensorFlow dibina tanpa sambungan CPU. Dengan sambungan CPU ia menyatakan AVX, AVX2, FMA, dll. Arahan yang mencetuskan masalah ini tidak diaktifkan secara lalai pada binaan lalai yang tersedia. Alasan mereka tidak didayakan adalah untuk menjadikan ini lebih serasi dengan sebanyak mungkin CPU. Juga untuk membandingkan sambungan ini, mereka lebih perlahan dalam CPU berbanding GPU. CPU digunakan pada mesin pembelajaran berskala kecil sementara penggunaan GPU dijangka apabila ia digunakan untuk latihan mesin pembelajaran sederhana atau berskala besar.

Memperbaiki Amaran!

Amaran ini hanya mesej mudah. Tujuan amaran ini adalah untuk memberitahu anda tentang TensorFlow yang dibina dari sumber. Apabila anda membina TensorFlow dari sumber, ia boleh menjadi lebih cepat pada mesin. Jadi semua amaran ini memberitahu anda tentang membina TensorFlow dari sumber.

Jika 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 hanya boleh mengabaikannya dengan menambahkannya:

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

 # Untuk mematikan am import impor ams.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

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

 eksport TF_CPP_MIN_LOG_LEVEL = 2 

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

Artikel Yang Menarik