Düzeltme: CPU'nuz bu TensorFlow İkilisinin AVX2'yi kullanmak için Derlenmediğinin Talimatlarını Destekliyor

Advanced Vector Extensions ( Sandy Bridge New Extensions olarak da bilinen AVX ), Mart 2008'de Intel tarafından önerilen ve Intel tarafından sunulan ve AMD mikro işlemciler için x86 komut seti mimarisinin uzantılarıdır. 2011'de AMD tarafından Bulldozer işlemci ile sevkiyatta. AVX yeni özellikler, yeni talimatlar ve yeni bir kodlama şeması sunuyor.

Uyarı cmd olarak gösterilir

Bu uyarı mesajı, TensorFlow'un paylaşılan kütüphanesi tarafından basılır. Mesajda belirtildiği gibi, paylaşılan kütüphane CPU'nuzun kullanabileceği talimat türlerini içermez.

Bu uyarıya ne sebep olur?

TensorFlow 1.6'dan sonra, ikili dosyalar artık eski CPU'larda artık çalışmayabilecek AVX komutlarını kullanıyor. Bu nedenle eski CPU'lar AVX'i çalıştıramayacak, yeni kullanıcılar için ise CPU için kaynağından tensorflowu oluşturması gerekecek. Bu özel uyarı hakkında bilmeniz gereken tüm bilgiler aşağıdadır. Ayrıca, gelecekte kullanmak üzere bu uyarıdan kurtulmaya yönelik bir yöntem.

AVX ne yapar?

Özellikle, AVX FMA'yı (Fused multiply-add) tanıttı; kayan nokta çarpma-ekleme işlemidir ve bu işlemin tümü tek bir adımda yapılır. Bu, birçok işlemi sorunsuz şekilde hızlandırır. Cebir hesaplamasını daha hızlı ve kolay kullanım sağlar, aynı zamanda nokta-ürün, matris çarpımı, evrişim, vb. Ve bunların hepsi, her makine öğrenim eğitimi için en çok kullanılan ve temel işlemlerdir. AVX ve FMA'yı destekleyen CPU'lar eskilerinden çok daha hızlı olacaktır. Ancak uyarı, CPU'nuzun AVX'i desteklediğini belirtir, bu yüzden iyi bir nokta.

Intel AVX Teknolojisi

Neden varsayılan olarak kullanılmıyor?

Bunun nedeni, TensorFlow varsayılan dağıtımının CPU uzantıları olmadan oluşturulmuş olmasıdır. CPU uzantılarıyla AVX, AVX2, FMA, vs.'yi belirtir. Bu sorunu tetikleyen talimatlar mevcut varsayılan kurulumlarda varsayılan olarak etkin değildir. Etkin olmamalarının nedeni, bunu olabildiğince çok CPU ile daha uyumlu hale getirmektir. Ayrıca bu uzantıları karşılaştırmak için GPU’dan ziyade CPU’da daha yavaştırlar. Küçük ölçekli makine öğreniminde CPU kullanılırken, orta veya büyük ölçekli bir makine öğrenimi eğitimi için GPU kullanılması beklenir.

Uyarının Sabitlenmesi!

Bu uyarılar sadece basit mesajlardır. Bu uyarıların amacı, yerleşik TensorFlow kaynağını size bildirmektir. TensorFlow'u kaynaktan kurduğunuzda, makinede daha hızlı olabilir. Yani tüm bu uyarılar size anlatıyor kaynak TensorFlow birikmesidir.

Makinenizde bir GPU varsa, bu uyarıları AVX desteğinden yok sayabilirsiniz. Çünkü en pahalıları GPU cihazında gönderilir. Ve artık bu hatayı görmek istemiyorsanız, şunu ekleyerek basitçe görmezden gelebilirsiniz:

OS modülünü ana program kodunuza alın ve ayrıca bunun için eşleme nesnesini ayarlayın

 # Uyarı içe aktarımını devre dışı bırakmak için os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Ancak, eğer bir Unix'deyseniz, bash kabuğunda export komutunu kullanın.

 ihracat TF_CPP_MIN_LOG_LEVEL = 2 

Ancak GPU'nuz yoksa ve CPU'nuzu olabildiğince kullanmak istiyorsanız, burada etkin AVX, AVX2 ve FMA ile CPU'nuz için optimize edilmiş bir kaynaktan TensorFlow'u oluşturmalısınız.

Ilginç Haberler