Eine Geschichte, in der Ubuntu aus völliger Unwissenheit in HDD eingelegt und yolov3 ausgeführt wird

Einführung

Was ist LINUX überhaupt? Obwohl es sich um ein Level handelt, habe ich mich für die Objekterkennung entschieden. Ich habe ein paar Monate gelitten, also werde ich den Weg verlassen.

Es ist für Leute, die CUI oder Linux nicht berühren. Ich weiß selbst nicht viel darüber, daher gibt es einige Fehler und überflüssige Teile, aber das ist die Atmosphäre.

Umgebung

GPU:RTX2060 (windows10 pro)

Ich wollte sowohl Windows als auch Ubuntu stressfrei verwenden, also habe ich zwei Festplatten vorbereitet und gebaut.

Bauen

Ubuntu-Installation

Dinge notwendig

・ Festplatte ・ USB-Speicher von 4 GB oder mehr Sowohl die Festplatte als auch USB können wiederverwendet werden, aber ** der Inhalt wird gelöscht **. Bereiten Sie daher bitte die nicht verwendete vor.

Erstellung von Ubuntu-Installationsmedien

Laden Sie die ISO "Ubuntu 18.04" von [hier] herunter (https://www.ubuntulinux.jp/download/ja-remix). Der neue hat weniger Informationen, daher ist die Schwäche 18.04. Anfänger werden mit 20.04 unglücklich sein. Alles was Sie tun müssen, ist dies in einen USB-Speicher zu stecken.

Und da es Software zum Einfügen gibt, werde ich das auch vorbereiten. Ich habe den Universal USB Installer verwendet. Wählen Sie dabei den USB-Speicher sowie das Schreibziel aus.

Haben Sie die Festplatte für Ubuntu eingelegt? Nach dem Einfügen ist es das nächste.

Ubuntu starten

Starten Sie Ubuntu vom USB-Speicher. Halten Sie die UMSCHALTTASTE gedrückt und starten Sie Windows neu, oder öffnen Sie das Startmenü während des Startvorgangs und wählen Sie das aus, das wie ein USB-Speicher aussieht. Das Öffnen des Startmenüs wird in einem mysteriösen Satz wie F8 oder F11 beschrieben, der beim Booten des PCs angezeigt wird. Drücken Sie die Taste, die diesem Moment entspricht. Dies hängt vom Hersteller ab. Bitte überprüfen Sie es selbst. Ich habe bei F11 eröffnet.

Wenn Sie es starten, wird ein Menü angezeigt, das Sie nicht verstehen. Starten Sie Ubuntu also mit dem Menü "Ubuntu ohne Installation".

Hier beginnt Ubuntu. Sie müssen lediglich die Installation auf Ihrem Desktop starten. Sie werden gefragt, wo Sie es installieren möchten, wählen jedoch eine leere Festplatte aus. ** Wählen Sie niemals eine Festplatte aus, die Fenster enthält. Alle Daten werden sterben. ** ** **

Mitten drin "Es gibt ein neues Ubuntu namens Ubuntu 20.04 LTS!"

Sie können den USB-Speicher entfernen, wenn Sie fertig sind.

Laufwerksstartreihenfolge ändern (für Personen mit 2 Festplatten)

Bei dieser Geschwindigkeit startet das F11-Sperrfeuer jedes Mal, wenn Sie versuchen, Ubuntu zu starten. Lassen Sie daher das Kind, das Windows und Ubuntu namens BIOS startet, Ubuntu bevorzugt starten.

Genau wie beim vorherigen Öffnen des Startmenüs drücken Sie diesmal F2 oder die Entf-Taste auf dem Startbildschirm. Wieder war ich je nach Hersteller Löschen.

Sie sollten jetzt den BIOS-Bildschirm geöffnet haben. Die Betriebssystemeinstellungen usw. laufen, aber suchen Sie nach "Boot Device Priority" oder einem Namen in der Nähe. Wenn Sie es finden, geben Sie zuerst die Startreihenfolge der Festplatte mit Ubuntu ein. Die meisten Festplatten, die ursprünglich feststeckten, sind jüngere Nummern.

Ubuntu ist ein gutes Kind, das fragt, was es anfangen soll. Jetzt fängt es bequem an.

Fundamentbau

Erste Aktion

Unten links befindet sich eine Liste mit Software. Öffnen Sie daher das Terminal. Es ist ein schwarzes Ding wie ein Programmierer. Wenn Sie es nicht finden können, befindet es sich irgendwo in der Liste. Suchen Sie danach.

Geben Sie beim Öffnen Folgendes ein. Die $ -Marke ist eine Markierung für die einzugebende Zeile. Geben Sie das Teil ohne dieses ein.

$ sudo apt update
$ sudo apt upgrade

sudo hat Root-Rechte. Wenn Sie die Meldung "Sie haben keine Berechtigung / Berechtigung" oder "Als Root ausführen" erhalten, können Sie dies normalerweise lösen, indem Sie dies an den Anfang setzen. apt ist ein Paketverwaltungsbefehl namens * APT (Advanced Packaging Tool) *. Wenn Sie Änderungen vornehmen, führen Sie "Update" und "Upgrade" durch. Es ist besser, neu zu sein.

Geben Sie für lange Sätze am Anfang ein wenig ein und drücken Sie die TAB-Taste, um sie bis zu einem gewissen Grad zu vervollständigen. Verwenden Sie sie also.

Übrigens, wenn Sie "sudo" als problematisch empfinden, können Sie es lösen, indem Sie sich beim Root anmelden.

$ sudo su -

//Verwenden Sie exit, um sich vom Stamm abzumelden
$ exit

Ich kann STRG + V nicht verwenden! Wer sagt, kann mit STRG + UMSCHALT + V zufrieden sein.

Wenn das in Zukunft nicht funktioniert, versuchen Sie zuerst "update" und "sudo". Es wird relativ gelöst.

Fügen Sie den NVIDIA-Treiber ein

Es ist ein Kind, das die GPU ausführt. Ich habe auf https://qiita.com/kawazu191128/items/8a46308be6949f5bda57 verwiesen.

Lassen Sie uns zunächst den empfohlenen Treiber nennen.

$ ubuntu-drivers devices

Dadurch wird der empfohlene Treiber installiert. Ich war NVIDIA-Fahrer-455.

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt install nvidia-driver-455

Nachdem der Treiber aktiviert ist, starten Sie ihn neu.

$ sudo reboot

Nachdem Sie bestätigt haben, dass die GPU nach dem Neustart erkannt wurde, sind Sie fertig.

$ nvidia-smi

In meinem Fall kam das Wort RTX2060 heraus.

OpenCV-Installation

Es ist ein Kind, das für die Berechnung notwendig ist. Maru Pakuri der folgenden Dinge https://qiita.com/usk81/items/98e54e2463e9d8a11415

Fügen Sie zunächst das Repository hinzu.

$ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu bionic-security main"

Als nächstes werden wir die abhängigen Bibliotheken einfügen.

$ sudo apt -y install build-essential checkinstall cmake unzip pkg-config yasm
$ sudo apt -y install git gfortran python3-dev
$ sudo apt -y install libjpeg-dev libpng-dev libtiff-dev libtbb-dev
$ sudo apt -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libatlas-base-dev libxvidcore-dev libx264-dev libgtk-3-dev

Schließlich werde ich OpenCV installieren.

$ cd /usr/local/src
$ sudo git clone https://github.com/opencv/opencv.git
$ sudo git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib
$ sudo git checkout -b 3.4.3 refs/tags/3.4.3
$ cd ../opencv/
$ sudo git checkout -b 3.4.3 refs/tags/3.4.3

cd ist ein Befehl zum Verschieben des aktuellen Speicherorts (Verzeichnisses). Sie können sich mit cd destination bewegen und mit zwei Punkten wie cd ../ eine Ebene zurückgehen. Sie können auch mit cd ~ / dorthin zurückkehren, wo Sie ursprünglich waren.

git ist ein Befehl, etwas von github aus zu tun. Wenn Sie aufgefordert werden, etwas zu installieren, befolgen Sie es bitte gehorsam.

Als nächstes verwenden wir das heruntergeladene OpenCV.

$ sudo mkdir build
$ cd build

mkdir erstellt ein make-Verzeichnis oder Verzeichnis. Übrigens Verzeichnis ≒ Ordner. Wenn Sie sich diesen Artikel ansehen, müssen Sie sich keine Sorgen um den Unterschied machen.

Ich werde es verfügbar machen, wenn ich umziehe, um zu bauen. Es braucht viel Zeit, also keine Angst.

$ sudo cmake -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D WITH_TBB=ON \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
$ sudo make -j12
$ sudo make install

//Überprüfen Sie, ob es funktioniert hat
$ echo /usr/local/lib > /etc/ld.so.conf.d/opencv.conf
$ ldconfig -v

\ ist ein Zeichen dafür, dass "ich es in der nächsten Zeile eingeben werde, also noch nicht ausführen". Es kann auch als "" geschrieben werden. Kompilieren Sie mit make, das heißt, machen Sie es verwendbar. -j12 gibt die Anzahl der zu verwendenden CPU-Kerne an. Wenn Sie sich nicht sicher sind, lassen Sie es bitte weg. "Echo" ist wie Drucken. Ich bin mir nicht sicher.

Überprüfen Sie abschließend, ob OpenCV enthalten ist. Wenn die Version (diesmal 3.4.3) angezeigt wird, ist sie erfolgreich.

$ opencv_version

Installieren des CUDA Toolkit

Es macht die GPU für eine Vielzahl von Zwecken verwendbar. https://qiita.com/okubo999/items/79e1d97a7a3a3de70de2 Referenz.

Bringen Sie das CUDA-Toolkit von der offiziellen Website. Laut dem Übersee-Aniki am Schwarzen Brett scheint 10.2 gut zu sein, also habe ich 10.2 gewählt. Nachtrag: Wenn Sie der Meinung sind, dass Sie TensorFlow in Zukunft ausprobiert haben, setzen Sie es bitte auf 10.0. 10.2 wird nicht unterstützt.

Linux -> x84_64 -> Ubuntu -> 18.04 -> deb(network) Wenn Sie drücken, wird die Methode geschrieben. Ich werde es jedoch am Ende ein wenig ändern.

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
$ sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
$ sudo apt update
$ sudo apt -y install cuda-toolkit-10-2

Sie können es mit wget herunterladen. Es kommt von www + get. Da ich diesmal nur das Toolkit möchte, gebe ich am Ende nur das Toolkit an.

Wenn dies so bleibt, wird es vom PC nicht richtig verwendet. Fügen Sie daher einen Pfad hinzu.

$ nano ~/.bashrc

Fügen Sie dann der letzten Zeile Folgendes hinzu:

.bashrc


## CUDA and cuDNN paths
export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

nano ist ein Texteditor. Ich denke, dass verschiedene Dinge unten erscheinen werden, also beziehen Sie sich bitte darauf. ^ Wie ^ X bedeutet, gleichzeitig STRG zu drücken. Wenn Sie nach "JA" oder "NEIN" gefragt werden, geben Sie "y" oder "n" ein.

Zum Schluss reflektieren Sie den Pfad.

$ source ~/.bashrc

//Wenn Sie unten verschiedene Dinge sehen, sind Sie erfolgreich
$ nvcc -V
$ echo $PATH

CuDNN installieren

Es macht CUDA einfach für künstliche Intelligenz zu verwenden. Installieren Sie die Version, die der CUDA-Version entspricht, von der offiziellen Website. Diesmal ist es 7.6.5.

Wenn Sie gebeten werden, sich zu registrieren, werde ich Ihnen ruhig gehorchen.

Wenn Sie das Archiv öffnen Download cuDNN v7.6.5 (November 18th, 2019), for CUDA 10.2 Weil es von dort gibt cuDNN Runtime Library for Ubuntu18.04 (Deb) cuDNN Developer Library for Ubuntu18.04 (Deb) cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb) Herunterladen.

Wenn Sie es so herunterladen, wie es ist, befindet es sich im Download-Ordner, aber es ist schmutzig, also habe ich einen Arbeitsbereich erstellt und dort abgelegt.

$ mkdir workspace
$ cd workspace

Gehen Sie nach dem Herunterladen zum heruntergeladenen Pfad (mit CD). Lassen Sie es uns erweitern.

$ sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb 
$ sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb 
$ sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb 

dpkg ist ein Kind, das .deb manipuliert.

Wenn Sie so weit kommen, sind Sie fast siegreich.

Maschinelles Lernen

Schließlich werde ich den Teil des maschinellen Lernens betreten. Siehe https://qiita.com/okubo999/items/79e1d97a7a3a3de70de2

Vorbereitung von Darknet

Bereiten Sie zunächst das Framework Darknet vor.

Von hier aus wird es chaotisch. Erstellen Sie also einen Arbeitsbereich und arbeiten Sie daran. (Ergänzung: Ich habe zu Alexeys verbesserter Version gewechselt (?), Weil das Lernen meiner eigenen Daten mit dem ursprünglichen Darknet nicht gut lief.)

$ git clone https://github.com/AlexeyAB/darknet.git
$ cd darknet
$ nano Makefile

Gehen Sie nach dem Öffnen von "Makefile" wie folgt vor.

Makefile


GPU=1
cuDNN=1
OPENCV=1 

Makefile ist die Einstellung, die beim Erstellen verwendet wird. Ich möchte dieses Mal die GPU verwenden, also habe ich sie ein wenig umgeschrieben.

Jetzt können Sie es verwenden, indem Sie es machen.

$ make

Wenn Sie Darknet ausführen und keine Fehler vorliegen, gewinnen Sie.

$ ./darknet 
usage: ./darknet [function]

Verwenden Sie YOLO v3

Endlich das Hauptthema. Bringen Sie zuerst die trainierten Daten mit.

$ wget https://pjreddie.com/media/files/yolov3.weights

Wenn wget aufgrund eines Fehlers usw. stoppt, können Sie es mit --continue neu starten. In diesem Fall sieht es so aus. $ wget --continue https://pjreddie.com/media/files/yolov3.weights

Es ist endlich Zeit zu rennen.

$ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

Wenn Sie das Ausgabebild erhalten, sind Sie ein vollständiger Sieg. Danke für Ihre Unterstützung.

YOLO hört auf?

CUDA Error:out of memory
darknet: ./src/cuda.c:36: check_error: Assertion '0' failed.

Wenn Sie so etwas sagen, wird gesagt, dass die Leistung der GPU Mist ist. Wenn dies passiert, nehmen Sie die Schärfe in Kauf und lassen Sie die Einstellungen fallen. ** darknet / cfg / yolov3.cfg ** hat eine Größeneinstellung, also verkleinern Sie sie um ein Vielfaches von 32.

darknet/cfg/yolov3.cfg


width=416
height=416

Es gibt andere Einstellungen, die funktionieren, aber ich finde die Größenänderung am effektivsten und intuitivsten. Wenn Sie den Hund vor dem Fahrrad sehen, haben Sie das Ficken abgeschlossen. Danke für Ihre Unterstützung.

Ich möchte eine Option hinzufügen

Sie können yolov3 verschiedene Optionen hinzufügen, aber selbst wenn Sie es zu den oben genannten hinzufügen, wird es ** ignoriert **. Fügen wir -dont_show hinzu, um die Bildausgabe zu einer Birne zu machen.

//Zeigen Sie das Ergebnisbild nicht an
$ ./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg -dont_show

detect wurde zu detector und cfg / coco.data wurde hinzugefügt. Wenn Sie es als "Erkennen" belassen, besteht nur eine Option, und "Testen" führt zu einer lächerlichen Anzahl von Fenstern.

Ich möchte yolov4 machen

Tatsächlich ist yolov1 ~ v4 in darknet enthalten. Es ist einfach, yolov4 auszuprobieren

$ ./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg -dont_show

Ändern Sie einfach die Nummer auf 3-> 4. Es ist etwas langsamer, aber genauer. yolov3 hat mehr Artikel im Internet, aber bitte wählen Sie den Artikel aus, den Sie mögen.

abschließend

Neulich verwandelte sich mein Ubuntu in einer zusammengebrochenen Kette von Firefox in die Hölle und wurde neu installiert, sodass ich es als Erinnerung zurückließ. Ich bin durch WSL und Ubuntu 20.04 gewandert, aber Stabilität ist immer noch wichtig.

Danach habe ich mein ursprüngliches Ziel erreicht, mit meinen eigenen Daten zu lernen siehe diesen Artikel.

urlukg.jpg

Tolle Katzenohren.

Recommended Posts

Eine Geschichte, in der Ubuntu aus völliger Unwissenheit in HDD eingelegt und yolov3 ausgeführt wird
Die Geschichte des Werfens von BLOB-Daten von EXCEL in DBUnit
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Die Geschichte des Erwerbs von Java Silver in zwei Monaten von völlig unerfahrenen.
Die Geschichte der Installation von raspi-config unter Ubuntu 18.04 und der Änderung der Grundeinstellungen von GPIO