Düzeltme: CPU'nuz, bu TensorFlow İkili Programının AVX2'yi kullanmak için Derlenmediğine Dair Talimatları Destekliyor
Gelişmiş Vektör Uzantıları (AVX, Ayrıca şöyle bilinirSandy Bridge Yeni Uzantılar) Intel ve AMD'den mikroişlemciler için x86 yönerge seti mimarisinin uzantılarıdır ve Intel tarafından Mart 2008'de önerilen ve ilk olarak Intel tarafından Sandy Bridge işlemci ile 2011'in ilk çeyreğinde ve daha sonra AMD tarafından Q3 2011'de Bulldozer işlemciyle birlikte gönderilir. AVX yeni özellikler, yeni talimatlar ve yeni bir kodlama şeması sağlar.
Bu uyarı mesajı, TensorFlow'un paylaşılan kitaplığı tarafından yazdırılır. Mesajın da belirttiği gibi, paylaşılan kitaplık CPU'nuzun kullanabileceği türden talimatlar içermiyor.
Bu Uyarının Sebepleri Nedir?
TensorFlow 1.6'dan sonra, ikili dosyalar artık eski CPU'larda çalışmayabilecek AVX komutlarını kullanıyor. Dolayısıyla, eski CPU'lar AVX'i çalıştıramazken, yenileri için kullanıcının CPU'ları için kaynaktan tensorflow oluşturması gerekir. Bu özel uyarı hakkında bilmeniz gereken tüm bilgiler aşağıdadır. Ayrıca, ileride kullanmak üzere bu uyarıdan kurtulmak için bir yöntem.
AVX ne yapar?
Özellikle, AVX FMA'yı (Fused multiply-add) tanıttı; bu kayan noktalı çarpma toplama işlemidir ve tüm bu işlem tek bir adımda yapılır. Bu, birçok işlemi sorunsuz bir şekilde hızlandırmaya yardımcı olur. Cebir hesaplamasını daha hızlı ve kolay bir kullanım, ayrıca nokta çarpım, matris çarpımı, evrişim vb. Yapar. Ve bunların hepsi her makine öğrenimi 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 nedenle bu iyi bir noktadır.
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ına göre AVX, AVX2, FMA, vs.'yi belirtir. Bu sorunu tetikleyen talimatlar, mevcut varsayılan yapılarda varsayılan olarak etkinleştirilmemiştir. Etkinleştirilmemelerinin nedenleri, bunu mümkün olduğunca çok CPU ile daha uyumlu hale getirmektir. Ayrıca bu uzantıları karşılaştırmak için, GPU'dan ziyade CPU'da çok daha yavaştırlar. CPU, küçük ölçekli makine öğreniminde kullanılırken, orta veya büyük ölçekli bir makine öğrenimi eğitimi için kullanıldığında GPU kullanımı beklenir.
Uyarının Düzeltilmesi!
Bu uyarılar sadece basit mesajlardır. Bu uyarıların amacı, sizi yerleşik TensorFlow hakkında kaynaktan bilgilendirmektir. TensorFlow'u kaynaktan oluşturduğunuzda, makinede daha hızlı olabilir. Yani tüm bu uyarılar size TensorFlow'un kaynaktan derlenmesidir.
Makinenizde bir GPU varsa, AVX desteğinden gelen bu uyarıları göz ardı edebilirsiniz. Çünkü en pahalı olanlar bir GPU cihazında gönderilecek. Ve artık bu hatayı görmek istemiyorsanız, bunu ekleyerek basitçe görmezden gelebilirsiniz:
ithal etmek OS modülü ana program kodunuzda ve bunun için eşleme nesnesini de ayarlayın
# Uyarıyı devre dışı bırakmak için işletim sistemini içe aktar os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2'
Ama eğer bir Unix, ardından bash kabuğundaki dışa aktarma komutunu kullanın
dışa aktar TF_CPP_MIN_LOG_LEVEL=2
Ancak GPU'nuz yoksa ve CPU'nuzu olabildiğince çok kullanmak istiyorsanız, burada AVX, AVX2 ve FMA etkinleştirilmiş olarak CPU'nuz için optimize edilmiş kaynaktan TensorFlow oluşturmalısınız.