Kako namestiti TensorFlow na CentOS

Namestite TensorFlow z uporabo Pythona (pip) ali Dockerjevega vsebnika

TensorFlow je Googlova platforma za strojno učenje. Je odprtokoden in ima ogromno orodij, knjižnic in drugih virov, ki so jih razvili tako njena skupnost razvijalcev kot tudi Google in druge korporacije.

TensorFlow je na voljo za vse priljubljene operacijske sisteme, tj. Windows, Mac OS, GNU/Linux. Lahko ga prenesete in namestite iz katerega koli indeksa paketov Python z uporabo pip orodje in se lahko izvaja v virtualnem okolju python. Drug način uporabe je, da ga namestite kot vsebnik Docker.

Namestite TensorFlow z uporabo pip

pip je uradni pripomoček za upravljanje paketov za pakete Python. Python in pip privzeto nista nameščena v CentOS.

Za namestitev pakete, zaženite:

sudo dnf namestite python3

Kadar koli namestitev zahteva potrditev prenosa ipd., vnesite Y in nato pritisnite Vnesite tipko za nadaljevanje nastavitve. Paket python3 bo namestil Python 3 in Pip 3.

Priporočljivo je, da TensorFlow zaženete v navideznem okolju Python. Navidezno okolje uporabniku omogoča, da na istem računalniku izvaja več okolij Python z različnimi različicami zahtevanih paketov, ločenih drug od drugega. S tem zagotovimo, da razvoj v enem virtualnem okolju s posebno različico paketa ne vpliva na razvoj v drugem okolju.

Za zagon navideznega okolja Python moramo uporabiti modul venv. Najprej ustvarite in pojdite v imenik projekta TensorFlow.

mkdir dev/tf cd dev/tf

Če želite ustvariti navidezno okolje v tem imeniku, zaženite:

python3 -m venv tf_venv

To bo ustvarilo nov imenik tf_venv ki je navidezno okolje Python. Vsebuje minimalne zahtevane datoteke, tj. Izvedljiva datoteka Python, izvedljiva datoteka Pip in nekatere druge zahtevane knjižnice.

Za zagon virtualnega okolja, zaženi:

vir bin/ac

To bo spremenilo ime poziva v tf_venv, torej ime mape navideznega okolja.

Zdaj bomo namestili TensorFlow v to virtualno okolje. Za TensorFlow je zahtevani minimum pip različica je 19. Če želite nadgraditi pip na najnovejšo različico, teči:

pip install --upgrade pip

Kot je razvidno zgoraj, je bila nameščena različica 20.0.2 pip.

Na podoben način namestite paket TensorFlow.

pip install --upgrade tensorflow

Paket je precej velik (~420 MB) in lahko traja nekaj časa, da se prenese in namesti skupaj z njegovimi odvisnostmi.

Ko je nameščen, lahko preverimo namestitev TensorFlow z majhnim kosom kode, da preverimo različico TensorFlow.

python -c 'uvoz tenzorskega toka kot tf; print(tf.__version__)'

Za izhod iz virtualnega okolja zaženite:

deaktivirati

Namestite TensorFlow z uporabo vsebnika Docker

Docker je zdaj dobro uveljavljen način za namestitev in zagon programov v virtualiziranem okolju, imenovanem Container. Na nek način je podoben navideznemu okolju Python, ki smo ga videli v prejšnji metodi. Vendar je Docker veliko širši po obsegu, vsebniki Docker pa so popolnoma izolirani in imajo svoje konfiguracije, pakete programske opreme in knjižnice. Vsebniki lahko med seboj komunicirajo po kanalih.

TensorFlow lahko namestimo in zaženemo prek vsebnika Docker in ga zaženemo v virtualiziranem okolju. Razvijalci TensorFlow vzdržujejo sliko Docker Container, ki se testira z vsako izdajo.

Najprej moramo namestiti Docker v naš sistem CentOS. Za to glejte uradni priročnik za namestitev Dockerja za CentOS.

Nato za prenos najnovejše slike vsebnika za TensorFlow zaženite:

docker pull tensorflow/tensorflow

Opomba: Če ima vaš sistem namensko grafično procesno enoto (GPU), lahko namesto tega prenesete najnovejšo sliko vsebnika s podporo za GPU z uporabo spodnjega ukaza.

docker pull tensorflow/tensorflow:latest-gpu-jupyter

Vaš sistem mora imeti nameščene ustrezne gonilnike za GPU, da lahko TensorFlow uporablja zmogljivosti GPU. Za več informacij o podpori GPU za TensorFlow si oglejte dokumentacijo v repozitoriju Github.

Če želite zagnati TensorFlow v vsebniku Docker, zaženite:

docker run -it --rm tensorflow/tensorflow python -c "uvozi tensorflow kot tf; print(tf.__version__)"

Poskusimo najprej razčleniti, kaj pomeni vsak del ukaza.

teči je ukaz dockerja za zagon vsebnika. Zastave -to so na voljo, ko želimo zagnati interaktivno lupino (npr. Bash, Python). --rm Zastavica, imenovana Clean Up, je določena tako, da se datotečni sistem in dnevniki, ki jih je Docker interno ustvaril za zagon vsebnika, uničijo, ko vsebnik zapusti. Te zastavice se ne sme uporabljati, če bodo dnevniki v prihodnosti potrebni za namene odpravljanja napak. Toda za majhne teke v ospredju, kot je naš, ga je mogoče uporabiti.

V naslednjem delu določimo ime naše slike vsebnika Docker, tj. tenzorski tok/tenzorski tok. Sledi program/ukaz/pripomoček, ki ga želimo zagnati v vsebniku. Za naše testiranje pokličemo tolmač Python v vsebniku in mu posredujemo kodo, ki natisne različico TensorFlow.

Vidimo lahko, da Docker med zagonom vsebnika natisne nekaj dnevnika. Ko se vsebnik zažene, se zažene naša koda Python in natisne se različica TensorFlow (2.1.0).

Tolmač Python lahko zaženemo tudi kot lupino, tako da lahko nadaljujemo z izvajanjem več vrstic kode TensorFlow.

Zaključek

V tem članku smo videli dva načina za namestitev TensorFlow na CentOS. Obe metodi sta namenjeni izvajanju TensorFlow v virtualiziranem okolju, kar je priporočljiv pristop pri uporabi TensorFlow.

Če ste začetnik v TensorFlow, lahko začnete z osnovami iz uradnih vadnic TensorFlow.