Korjaus: Suoritin tukee ohjeita siitä, että tätä TensorFlow-binaaria ei ole käännetty käyttämään AVX2: ta



Kokeile Instrumenttia Ongelmien Poistamiseksi

Kehittyneet vektorilaajennukset ( AVX , tunnetaan myös Sandy Bridge Uudet laajennukset ) ovat Intelin ja AMD: n mikroprosessoreiden x86-käskyjoukkoarkkitehtuurin laajennuksia, jotka Intel ehdotti maaliskuussa 2008 ja joita Intel tuki ensin Sandy Bridge -prosessoritoimituksella vuoden 2011 ensimmäisellä neljänneksellä ja myöhemmin AMD: llä Bulldozer-prosessorin toimituksella vuoden 2011 kolmannella neljänneksellä. AVX tarjoaa uusia ominaisuuksia, uusia ohjeita ja uuden koodausjärjestelmän.



Varoitus näkyy cmd: nä



Tämän varoitusviestin on tulostanut TensorFlow'n jaettu kirjasto. Kuten viesti osoittaa, jaettu kirjasto ei sisällä sellaisia ​​ohjeita, joita suorittimesi voisi käyttää.



Mikä aiheuttaa tämän varoituksen?

TensorFlow 1.6: n jälkeen binäärit käyttävät nyt AVX-ohjeita, jotka eivät ehkä enää toimi vanhemmissa suorittimissa. Joten vanhemmat suorittimet eivät pysty käyttämään AVX: tä, kun taas uudempien, käyttäjän on rakennettava tensorflow lähteestä CPU: lle. Alla on kaikki tiedot, jotka sinun on tiedettävä tästä varoituksesta. Myös menetelmä tämän varoituksen poistamiseksi tulevaa käyttöä varten.

Mitä AVX tekee?

Erityisesti AVX esitteli FMA: n (Fused multiply-add); joka on liukuluku kerro-lisää -operaatio, ja tämä kaikki operaatio suoritetaan yhdessä vaiheessa. Tämä auttaa nopeuttamaan monia toimintoja ongelmitta. Se tekee algebran laskennasta nopeamman ja helpomman käytön, myös pistetulon, matriisikertoimen, konvoluution jne. Ja nämä ovat kaikki käytetyimmät ja perustoiminnot jokaisessa koneoppimisessa. CPU: t, jotka tukevat AVX: tä ja FMA: ta, ovat paljon nopeammat kuin vanhemmat. Mutta varoituksessa todetaan, että suorittimesi tukee AVX: tä, joten se on hyvä asia.

Intel AVX -tekniikka



Miksi sitä ei käytetä oletuksena?

Tämä johtuu siitä, että TensorFlow-oletusjakauma on rakennettu ilman suorittimen laajennuksia. Suoritinlaajennuksilla se ilmoittaa AVX: n, AVX2: n, FMA: n jne. Tämän ongelman laukaisevat ohjeet eivät ole oletusarvoisesti käytössä käytettävissä olevissa oletusrakennuksissa. Syyt siihen, etteivät ne ole käytössä, on tehdä tämä yhteensopivammaksi mahdollisimman monien suorittimien kanssa. Myös näiden laajennusten vertaamiseksi ne ovat paljon hitaampia suorittimessa kuin GPU: ssa. CPU: ta käytetään pienimuotoisessa koneoppimisessa, kun taas GPU: ta odotetaan käytettävän keskisuuressa tai laajamittaisessa koneoppimisessa.

Varoituksen korjaaminen!

Nämä varoitukset ovat vain yksinkertaisia ​​viestejä. Näiden varoitusten tarkoituksena on kertoa rakennettu TensorFlow lähteestä. Kun rakennat TensorFlow-lähteen lähteestä, se voi olla nopeampi koneessa. Joten kaikki nämä varoitukset kertovat sinulle on rakentaa TensorFlow lähteestä.

Jos koneessasi on GPU, voit ohittaa nämä AVX-tuen varoitukset. Koska kalleimmat lähetetään GPU-laitteella. Ja jos et halua enää nähdä tätä virhettä, voit yksinkertaisesti sivuuttaa sen lisäämällä tämän:

tuoda OS-moduuli pääohjelmakoodissasi ja aseta sille myös kartoitusobjekti

 # Varoituksen poistamiseksi käytöstä   tuoda ne   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Mutta jos olet Unix , käytä sitten vientikomentoa bash-kuoressa

 vie TF_CPP_MIN_LOG_LEVEL = 2 

Mutta jos sinulla ei ole grafiikkasuoritinta ja haluat käyttää prosessoriasi mahdollisimman paljon, sinun on rakennettava TensorFlow lähteestä, joka on optimoitu suorittimellesi, kun AVX, AVX2 ja FMA ovat käytössä tässä .

2 minuuttia luettu