Kaip nustatyti „TensorFlow GPU Docker“

Tinklaraštis

Kaip nustatyti „TensorFlow GPU Docker“

Kaip nustatyti „TensorFlow GPU Docker“

„Docker“ vaizdas, skirtas „Tensorflow“ su GPU

Dokeris yra įrankis, leidžiantis ištraukti iš anksto nustatytus vaizdus. Nuotraukoje, kurią mes ištrauksime, yra „TensorFlow“ ir „nvidia“ įrankiai, taip pat „OpenCV“ . Idėja yra supakuoti visas reikalingas vaizdo apdorojimo priemones. Todėl norime, kad per kelias minutes būtų galima paleisti bet kokį vaizdo apdorojimo algoritmą.



Pirmiausia turime įdiegti „Docker“.

> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - > sudo add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' > sudo apt-get update > apt-cache policy docker-ce > sudo apt-get install -y docker-ce > sudo systemctl status docker

Po to mums reikės įdiegti „nvidia-docker“ jei norime naudoti GPU:



> wget https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb > sudo dpkg -i nvidia-docker*.deb

Tam tikru momentu šis diegimas gali nepavykti, jei neįdiegta „nvidia-modprobe“, galite pabandyti paleisti (tik GPU):

> sudo apt-get install nvidia-modprobe > sudo nvidia-docker-plugin &

Galų gale galite paleisti šią komandą, kad išbandytumėte diegimą. Tikimės, kad gausite tokią išvestį (tik GPU):



> sudo nvidia-docker run --rm nvidia/cuda nvidia-smi

! [] ( https://images.ctfassets.net/be04ylp8y0qc/5gFseyqmEDdawhGL9EbFr2/67eb9-lex.europa.euf500d3956877ec06e68475fa/1_lZl-
-DrLap91AzyKvG9g1w.png '> bloknotas su „TensorFlow“, maitinamu GPU ir „OpenCv“, paleiskite:

> sudo nvidia-docker run --rm --name tf1 -p 8888:8888 -p 6006:6006 redaboumahdi/image_processing:gpu jupyter notebook --allow-root

Jei norite tiesiog paleisti „Jupyter“ nešiojamąjį kompiuterį su „TensorFlow“, maitinamu CPU ir „OpenCV“, galite paleisti šią komandą:

> sudo docker run --rm --name tf1 -p 8888:8888 -p 6006:6006 redaboumahdi/image_processing:cpu jupyter notebook --allow-root

Iš savo terminalo gausite tokį rezultatą. Tada galite pereiti prie vietinio kompiuterio ir naudoti 8888 prievadą, man nuoroda atrodo taip: http: // localhost: 8888/

Norėdami identifikuoti ir pasiekti „Jupyter“ bloknotus, turėsite įklijuoti savo žetoną: | _+_ |

Ir galų gale gausite tokį rezultatą. Todėl galite išbandyti diegimą paleisdami „Jupyter“ nešiojamuosius kompiuterius.

Pirmoji nuoroda yra „TensorFlow“ nešiojamasis kompiuteris, skirtas geriau susipažinti su šiuo įrankiu. ] „TensorFlow“ yra atviro kodo programinės įrangos biblioteka dėl duomenų srautas programuoti įvairias užduotis. Jis daugiausia naudojamas giliems neuroniniams tinklams kurti. Trečioji nuoroda pateikia „TensorFlow“ naudojimo paprastam visiškai prijungtam neuroniniam tinklui sukurti pavyzdį. Tu gali rasti čia „TensorFlow“ konvoliucinio nervų tinklo diegimas. Aš labai rekomenduoju naudoti GPU mokant CNN / RNN / LSTM tinklus.

Objekto atpažinimas realiuoju laiku

Dabar atėjo laikas išbandyti savo konfigūraciją ir praleisti laiką su mūsų mašinų mokymosi algoritmais. Šis kodas padeda mums sekti objektus per rėmus naudojant mūsų internetinę kamerą. Tai kodo pavyzdys, paimtas iš interneto, „Github“ saugyklą rasite straipsnio pabaigoje.

Visų pirma, turime atidaryti prieigą prie „xserver“ prie mūsų doko atvaizdo. Yra įvairių būdų tai padaryti. Pirmasis visiems atveria prieigą prie jūsų xserverio. Kiti metodai aprašyti straipsnio pabaigoje esančiose nuorodose.

konvertuoti masyvą į json
3299304f3cdd149fe0d68ce0a9cb204bfb80c7d4edc42687

Tada pereisime prie „Docker“ vaizdo naudodami šią komandą:

> xhost +local:root

Mums reikės klonuoti „Github“ saugyklą, kuri yra realaus laiko objektų detektorius:

> sudo docker run -p 8888:8888 --device /dev/video0 --env='DISPLAY' --volume='/tmp/.X11-unix:/tmp/.X11-unix:rw' -it image_processing bash

Galiausiai galite paleisti python kodą:

> git clone https://github.com/datitran/object_detector_app.git && cd object_detector_app/

Mūsų naudojamas kodas naudoja „OpenCV“. Ji yra žinoma kaip viena iš dažniausiai naudojamų bibliotekų vaizdų apdorojimui ir prieinama „C ++“, taip pat „Python“.

trijų js žaidimo pamoka

Turėtumėte pamatyti šį išvestį, „OpenCV“ atidarys jūsų internetinę kamerą ir pateiks vaizdo įrašą. „OpenCV“ taip pat suras bet kurį rėmo objektą ir atspausdins numatyto objekto etiketę.

Išvada

Aš parodžiau, kaip galima naudoti „Docker“, kad jūsų kompiuteris būtų paruoštas apdoroti vaizdus. Šiame paveikslėlyje yra „OpenCV“ ir „TensorFlow“ su GPU arba procesoriumi. Mes išbandėme savo diegimą per realaus laiko objektų detektorių. Tikiuosi, kad tai jus įtikino, kad dauguma to, ko reikia vaizdams apdoroti, yra šiame „Docker“ vaizde. Dėkojame, kad sekate mano vadovėlį. Nedvejodami atsiųskite man bet kokį atsiliepimą!

Naudingos nuorodos

Rekomenduojamas skaitymas

☞ Kaip naudotis „TensorFlow“ naudojant „Java“/„JavaScript“

„Torch vs Theano“ prieš „TensorFlow“ prieš „Keras“

☞ „TensorFlow“ prieš „NumPy“ ir „Pure Python“: našumo palyginimas

#tensorflow #dokeris