Düzeltme: CPU'nuz bu TensorFlow İkili Programının AVX2 kullanmak için Derlenmediğine dair Talimatları Destekliyor

Gelişmiş Vektör Uzantıları ( AVX , Sandy Bridge Yeni Uzantıları olarak da bilinir ) Intel ve AMD'den mikroişlemciler için x86 komut seti mimarisinin uzantılarıdır ve Mart 2008'de Intel tarafından önerilmiştir ve ilk olarak 2011 yılının ilk çeyreğinde ve sonrasında Sandy Bridge işlemciyle birlikte Intel tarafından desteklenmektedir. 2011 yılının 3. çeyreğinde piyasaya sürülen Bulldozer işlemci ile AMD tarafından. AVX yeni özellikler, yeni talimatlar ve yeni bir kodlama şeması sunuyor.

Bu uyarı mesajı, TensorFlow'un paylaşılan kitaplığı tarafından yazdırılır. Mesajın gösterdiğ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. Bu nedenle, eski CPU'lar AVX'i çalıştıramazken, daha yeni olanlar 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 eskilere göre çok daha hızlı olacak. 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şturulması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 etkin değildir. 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 yerine 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ısı bir GPU cihazında gönderilecek. Ve artık bu hatayı görmek istemiyorsanız, bunu ekleyerek bunu görmezden gelebilirsiniz:

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

# Os os.environ alma uyarısını devre dışı bırakmak için ['TF_CPP_MIN_LOG_LEVEL'] = '2'

Ancak bir Unix kullanıyorsanız, bash kabuğundaki dışa aktarma komutunu kullanın

ihracat TF_CPP_MIN_LOG_LEVEL = 2

Ancak GPU'nuz yoksa ve CPU'nuzu mümkün olduğunca çok kullanmak istiyorsanız, AVX, AVX2 ve FMA etkinleştirilmiş olarak CPU'nuz için optimize edilmiş kaynaktan TensorFlow oluşturmalısınız.