Setzen Sie NVIDIA + Ubuntu + Docker + Tensorflow + ROS2 usw. in den ersten PC ein und machen Sie es so Mac-ähnlich wie möglich [Aktualisierung]

I. Was ich tun möchte

―― Holen Sie sich einen Desktop-PC mit NVIDIA-GPU für ca. 10 Sakichi --Installieren Sie Ubuntu20.04 und passen Sie die Benutzerfreundlichkeit an den Mac an

Ⅰ.Ⅰ. Passen Sie die Benutzerfreundlichkeit an den Mac an? </ summary>

  1. Ändern Sie die "Taste für den linken Nachbarn (Super / Alt)" der "Leertaste" in "Strg-Taste für den linken Nachbarn" und drücken Sie "Strg-Taste für den linken Nachbarn" + "X / C / V" auf "Ausschneiden / Kopieren / Einfügen". (Gleiche Verwendung wie "Linke ⌘ Taste" auf dem Mac): OK
  2. Aktivieren Sie die Umschaltung der Eingangsquelle "Englisch / Japanisch" mit "Leertaste" und "Strg-Taste links" (gleiche Verwendung wie die Umschaltung der Eingangsquelle mit der US-Taste auf dem Mac): OK
  3. Aktivieren Sie die Konvertierung in "Katakana mit halber Breite / Englisch mit halber Breite / Hiragana / Katakana mit voller Breite / Englisch mit voller Breite" mit "Optionstaste" + "a / s / z / x / c" (Grundeinstellung von Kotori): OK
  4. Ändern Sie die "Feststelltaste" in die "Strg-Taste" (persönliches Hobby): OK
  5. Ich möchte "TrackPad" für die Eingabe verwenden (da ich Trackpad in den letzten 20 Jahren nur verwendet habe): NG

Das Ergebnis war 4 Siege und 1 Niederlage

Ⅱ. Hintergrund </ summary>

Ich habe "Ubuntu 18.04" in der virtuellen MacBookPro + -Umgebung installiert und "DeepLeaning / ROS1" darauf ausgeführt, um zu spielen, aber ** [Beginnen wir ernsthaft mit "DeepLeaning" und "DeepLeaningL von Grund auf neu" Scheint eine GPU zu benötigen] **, also suchte ich nach ** "eGPU" **, die eine Verbindung zum MacBook Pro herstellt.

"NVIDIA GPU" wird für "Deep Leaning" benötigt

Informationen mit! ** Apple und NVIDIA haben sich die ganze Zeit gestritten. ** Ich war jedoch enttäuscht, einen PC zu kaufen (ich hatte einen kleinen Geldbetrag), also habe ich verschiedene Dinge ausprobiert, aber

Aufgrund des Ergebnisses von war ich wütend, dass ich es in ROS verwenden würde, und entschied mich, einen PC mit einer für Ubuntu bestimmten GPU zu kaufen (zu diesem Zeitpunkt erkannte ich zum ersten Mal in meinem Leben die Realität, einen anderen PC als Mac zu kaufen, und mein Erfahrungswert war niedrig. Ich habe ein bisschen Angst)

Flow Fließe bis zum Ende der Mission

  1. Hardware sichern
  2. Überprüfung der Ubuntu-Installation und des NVIDIA-Treiberbetriebs
  3. Montieren Sie die interne Festplatte (ich möchte die SSD für das Betriebssystem und die Festplatte für Daten separat verwenden).
  4. Mac-ähnliche Grundeinstellungen und Tastatureinstellungen
  5. Installation der Basissoftware
  6. Installation der grundlegenden Entwicklungssoftware
  7. Installieren Sie Docker (für NVIDIA).
  8. Erstellen Sie eine Umgebung für [TensorFlow + Keras] in Docker
  9. Erstellen Sie eine [ROS2] -Umgebung auf Docker (weitere Updates werden ausgeführt).
  10. Erstellen Sie eine Umgebung für [PyTorch] in Docker (weitere Updates werden ausgeführt).

Ⅳ Missionsstart

1. Sichere Hardware </ summary>

1.1. PC-Körper (für Anfänger mit Deep Leaning)

Da ich noch nie eine andere Hardware als einen Mac gekauft habe, habe ich mich mit "CDLE" Slack beraten und mich für den Kauf eines BTO-Gaming-PCs mit Spezifikationen entschieden, die den empfohlenen Spezifikationen im Net Shop nahe kommen (der Gaming-PC verfügt immer über eine GPU). Aus dem Rat, dass die Gesamtkostenleistung gut ist)

Artikel Konsultationsergebnis Wirklichkeit
CPU Core i7 oder i5 Gen10 oder höher i5 Gen9
memory So viel wie möglich 16GB
GPU GeForce GTX1600 SUPER GeForce GTX1600 SUPER
SSD (Für das Betriebssystem) 250 GB x 2(Ubuntu und Win Dual Boot) 480 GB x 1(Nur Ubuntu)
HDD (Für Daten) - 2TB

Der Unterschied zwischen der Empfehlung und der Realität ist das Ergebnis eines Kompromisses zwischen "Unterschieden im Grundmodell jedes Geschäfts" und "Budget". Am Ende waren es ungefähr 13 Sakichi.

** [Unterricht von CDLE-Mitgliedern] ** ** ・ Der PC für Deep Leaning sagt, dass "der Schwerpunkt auf der GPU und die Speichergröße auf der GPU liegt", aber im tatsächlichen Betrieb werden die Vorverarbeitungs-CPU und der Speicher häufig zu Engpässen, sodass eine ausgewogene Konfiguration möglich ist. wünschenswert**

** ・ BTOPC kann CPU / Speicher / GPU zu einem gewissen Grad später ändern. Es ist daher besser, zuerst nach Ihrem Budget zu kaufen und einen Fehler zu machen, um festzustellen, ob es Ihren Anforderungen entspricht, und die Konfiguration zu ändern. ** ** **

** [Ärger] ** Einen Monat nach dem Kauf tritt das Phänomen auf, dass "es nicht mit einer Wahrscheinlichkeit von 80% beginnt, es sei denn, der Speicher wird einmal vom Motherboard entfernt". Als ich mich mit dem von mir gekauften Net Shop beraten habe,

, 2 Möglichkeiten. Glücklicherweise gab es in der Nachbarschaft ein richtiges Geschäft, also brachte ich es herein und wurde für 4 Tage ins Krankenhaus eingeliefert, dann durch Gedächtnistausch entlassen. Außerdem werde ich Ihnen beibringen, wie Sie den Startstatus durch die LED-Farbe von "ASUS Mother Board" isolieren können. Ich war ziemlich ungeduldig, deshalb war es sehr hilfreich, einen richtigen Laden in der Nähe zu haben. Ich werde es das nächste Mal in diesem Laden kaufen

【Lektion】 ** ・ Günstigkeit und technische Daten sind für BTO-PCs wichtig, Anfänger sollten jedoch im Hinblick auf die Fehlerbehebung einen Käufer auswählen **

1.2. Eingabesystem

――Da der Arbeitsbereich klein ist, haben wir alles drahtlos gebaut.

1.2.1. PC-Seite: Bluetooth USB Dongle

--Newiy Start Ver4.0 Adapter: 1 → 2

1.2.2. Maus (?)

--Apple: Magic TrackPad (1. Generation) → LogiCool: M337

――Ich möchte das Eingabesystem an das MacBook anpassen, damit ich Magic TrackPad (erste Generation) mit Yahoo!

-** [Ärger] ** ――Der Multi-Touch fühlt sich mit einer sehr guten Software namens "Fusuma" gut an, aber die Bewegung des Cursors selbst ist unangenehm, und ich habe verschiedene "Google + Einstellungen + Neustart" zwei Tage lang wiederholt, aber es passt nicht gut. Im Gegenteil, der Stress steigt gerade. Ich gab auf und kaufte es für Logicools billige "Blurtooth Mouse".

1.2.3 Tastatur

--Apple Wireless Keyboard (US) → unentschlossen

-** [Ärger] ** ――Es funktioniert relativ gut, aber manchmal (im Ruhezustand / wenn ich die Betriebssystemeinstellungen ändere und neu starte) geht die Verbindung verloren. Wenn es ausgeht, müssen Sie eine kabelgebundene Tastatur anschließen, die Bluetooth-Verbindung einrichten und neu starten, bevor Sie sie verwenden können. Ich habe große Probleme, also [Möchten Sie eine neue kaufen? ] Wird in Betracht gezogen (obwohl die Tastenberührung gut ist) ―― Abgesehen davon habe ich meinen Firmen-Notebook-PC entsprechend in einen US-Schlüssel geändert.

【Lektion】 ** ・ Es ist nicht einfach, das gleiche Touch & Feel wie Apple-Produkte zu erzielen, wenn Apple-Produkte nur mit Linux verbunden werden ** ** - Kabelgebundene Notfalltastatur und -maus sind erforderlich. In Reichweite vorbereiten **

2. Ubuntu-Installation und NVIDIA-Treiberbetriebsprüfung </ summary>

2.1 Vorbereitung des Installationsabbilds von Ubuntu 20.04 (japanische Version)

[Was ist nach der Installation von Ubuntu 20.04 zu tun?](Https://ohmyenter.com/things-to-do-after-ubuntu-20-04-installation/)

--Ubuntu lädt die 20.04-Bilddatei von [Ubuntu Japan Official Website] herunter (https://www.ubuntulinux.jp/download) ――Es gibt hier viele detaillierte Seiten, deshalb werde ich sie ihnen übergeben. Bitte versuchen Sie es entsprechend Ihrer Installationsumgebung zu finden. ――Ich hatte ein "DVD-Laufwerk" auf dem PC, den ich gekauft habe, also habe ich die Bilddatei auf eine Live-DVD gebrannt.

2.2 Ubuntu 20.04 installieren

【wichtiger Punkt】

[Ubuntu 20.04 Teil 25 - Bekannte Probleme mit Ubuntu 20.04 LTS](https://kledgeb.blogspot.com/2020/04/ubuntu-2004-25-ubuntu-2004-lts.html)

--Bestätigung der Treiberinstallation von nvidia --Wenn die folgende Meldung mit dem Befehl `` `$ nvidia-smi -l``` angezeigt wird, funktioniert der nvidia-Treiber.

python


$ nvidia-smi -l
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 166...  Off  | 00000000:01:00.0  On |                  N/A |
| 42%   37C    P8     8W / 125W |    249MiB /  5936MiB |      3%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1127      G   /usr/lib/xorg/Xorg                            35MiB |
|    0      2006      G   /usr/lib/xorg/Xorg                            94MiB |
|    0      2202      G   /usr/bin/gnome-shell                          97MiB |
|    0      6565      G   /usr/lib/firefox/firefox                       2MiB |
|    0      7875      G   /usr/lib/firefox/firefox                       2MiB |
|    0     10070      G   /usr/lib/firefox/firefox                       2MiB |
+-----------------------------------------------------------------------------+

3. Mounten Sie die interne Festplatte (ich möchte die SSD für das Betriebssystem und die HDD für Daten separat verwenden) </ summary>

[So mounten Sie eine Festplatte mit 2 TB oder mehr unter CentOS](https://qiita.com/kubor/items/0a30c03a70a10c099df5)
  • Festplatte finden

python


$ sudo parted -l

――Wenn es 2 TB überschreitet, fügen Sie ein Plattenetikett mit "GPT" bei.

python


$ sudo parted /dev/sdb
(parted) mklabel gpt
(parted) p
  • Alle Kapazität ist ext4, 1 Partition

python


(parted) mkpart primary ext4 0% 100%
(parted) p
  • Beenden Sie die Partition, da die Partition erstellt wurde.

python


(parted) quit

--Format mit "ext4"

python


$ sudo mkfs.ext4 /dev/sdb1

--Erstellen Sie einen Mount-Punkt und mounten Sie die Festplatte (Der Mount-Punkt war nur ein Verzeichnis / Ich war mir nicht sicher, ob dieser Speicherort gut war, also habe ich chmod777 ausgeführt.)

python


$ sudo mkdir /home/Hdd_2nd
$ sudo mount -t ext4 /dev/sdb1 /home/Hdd_2nd
$ sudo mount

--Auto Mount-Einstellungen (Informationen in / etc / fstab schreiben)

python


$ sudo nano /etc/fstab
  • Der geöffneten Datei wurde die folgende Zeile hinzugefügt ([Tab], kein Leerzeichen zwischen den Zeichen. Ich war hier süchtig danach).

python


/dev/sdb1       /home/Hdd_2nd   ext4    defaults        0       0

4. Mac-ähnliche Grundeinstellungen und Tastatureinstellungen </ summary>

4.1 Tastatureinstellungen: Kompatibel mit US-Tastaturen

--Versuchen Sie, bis es mit der Tastatur übereinstimmt (Es ist übrigens seltsam, dass die Einstellungen zwischen [Apple Wireless Keyboard] und [MacBook Pro] unterschiedlich sind. Auch wenn das Tastenlayout genau gleich ist)

python


$ sudo dpkg-reconfigure keyboard-configuration

--Schreiben Sie die Tastatureinstellungen

python


$ sudo nano /usr/share/ibus/component/mozc.xml
<layout>us</layout>

4.2. Machen Sie das Verzeichnis in Ihrem Heim-Englisch

――Wenn Sie vom Terminal aus zugreifen, ist es problematisch, wenn es sich um Japanisch handelt. Kehren Sie daher zu Englisch zurück

python


$ LANG=C xdg-user-dirs-gtk-update
  • Wenn es nicht funktioniert, bearbeiten Sie `` `$ sudo nano ~ / .config / user-dirs.dirs``` wie folgt

python


$ sudo nano ~/.config/user-dirs.dirs
________________________
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Share"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
________________________
  • Benennen Sie den eigentlichen Ordner um

python


$ mv $HOME/Desktop$HOME/Desktop
$ mv $HOME/herunterladen$HOME/Downloads
$ mv $HOME/Vorlage$HOME/Templates
$ mv $HOME/Veröffentlichung$HOME/Share
$ mv $HOME/Dokument$HOME/Documents
$ mv $HOME/Musik$HOME/Music
$ mv $HOME/Bild$HOME/Pictures
$ mv $HOME/Video$HOME/Videos
  • Es ist in Ordnung, sich erneut anzumelden (manchmal ist die Seitenleistenanzeige gemischt Englisch / Japanisch, aber ich habe aufgegeben)

4.3. Zuordnung der Tastenbelegung zum Mac

4.3.1 Ändern Sie "Linke Super (Alt) -Taste" und "Feststelltaste" in "Strg-Taste".

--Installieren Sie Gnome Tweaks

  • Von Ubuntu Software installieren / [Tweaks] ist der Programmname
  • [Tweaks]> Tastatur und Maus --Ändern Sie die Verknüpfung des Aktivitätsbildschirms von "left super" zu "right super" (um die "left super key" zu öffnen).
  • [Tweaks]> Tastatur und Maus> Zusätzliche Layoutoptionen> Strg-Position> Wählen Sie "Feststelltaste als Steuerung behandeln" (ändern Sie "Feststelltaste" in "Strg-Taste"). -Bitte neustarten]

Tweak.png

4.3.2 Ändern Sie "Linke Supertaste" in Strg-Taste

  • Bewahren Sie eine Sicherungskopie Ihrer Schlüsselzuweisungen auf

python


$ xmodmap -pke > ~/.Xmodmap_default

--Finden Sie die Schlüsselnummer von "Left super key"

  • Wenn Sie den folgenden Befehl eingeben, wird ein quadratisches Fenster geöffnet. Wenn Sie also "eingeben", während Sie es sehen, wird die Schlüsselnummer angezeigt (in meinem Fall war es "133").

python


$ xev | grep keycode

キー入力.png Die Fotoshow wird angezeigt, wenn die "Return-Taste" gedrückt wird. Schlüsselbindung ändern Grundeinstellungsmethode von Xmodmap

  • Fügen Sie der geöffneten Datei Folgendes hinzu

python


$ nano ~/.Xmodmap
________________________
clear control
clear mod4

! Command_L -> Control_L
keycode 133 = Control_L

add control = Control_L Control_R
add mod4 = Super_L Super_R Super_L Hyper_L
_________________________
  • Reflektieren Sie die Einstellungen

python


$ xmodmap ~/.Xmodmap
  • Wenn Sie einen Fehler machen, stellen Sie die Sicherungsdatei wieder her

python


$ xmodmap ~/.Xmodmap_default

-Bitte neustarten]

** Die Strg-Taste auf der linken Hälfte der Tastatur hat eine wunderschöne Tastenanordnung von "3 (linke Super (Alt) / Feststelltaste / Original-Strg-Taste)" ** ** Jetzt können Sie mit "Left Super (alt) key" + "c" kopieren **

4.3.3 Mit "Optionstaste (Start)" + "s" in "Englisch halber Breite" konvertieren

--mozc Einstellungen: Installation des GUI-Tools

  • Standardmäßig ist das GUI-Tool "mozc" nicht installiert. Installieren Sie es daher.

python


$ sudo apt install mozc-utils-gui

--Einstellungen > Region und Sprache > Eingabequelle > Mozc Gear-Symbol > Tasteneinstellungen auswählen > Kotori auswählen

** Allein mit dieser Option geben Sie mit der Optionstaste (Start) + + s / a / c / x / z ein vertrautes Gefühl von "Katakana halber Breite / Englisch halber Breite / Hiragana / Katakana voller Breite / Englisch voller Breite". Mozc, Elai **

4.3.4 Umschalten der englischen / japanischen Eingangsquelle mit "Left Super (Alt) -Taste" + "Leertaste" (für US-Tastatur)

--Taste zum Umschalten der Eingangsquelle ändern (US-Tastatur kompatibel) --Einstellungen > Tastaturkürzel > Stellen Sie im Eingabefenster sowohl "Zur vorherigen Eingangsquelle wechseln" als auch "Zur nächsten Eingangsquelle wechseln" auf [Deaktivieren].

--Mozc-Eigenschaftenfenster > Tasteneinstellung auswählen > Bearbeiten > Mozc-Tasteneinstellungsbildschirm > Eingabetaste "Hankaku / Zenkaku" (4 Stellen) > Wechseln zu [Strg + Leertaste]

** Jetzt können Sie mit "Left Super (alt) key" + "Space key" zwischen Englisch und Japanisch wechseln **

5. Installation der Basissoftware </ summary>

[Was ist nach der Installation von Ubuntu 20.04 zu tun?](Https://ohmyenter.com/things-to-do-after-ubuntu-20-04-installation/)

5.1 Unnötige Software deinstallieren

--Ubunta Software > Installiert > Nicht benötigte Software "löschen"

5.2. CopyQ-Installation (Software zur Verbesserung des Kopierens / Einfügens): Falls erforderlich

python


$ sudo apt install copyq
  • Grundlegende Konfiguration
  • Startet automatisch Einschalten --Globale Verknüpfung Hauptfenster unter Mauszeiger anzeigen Alt + Strg + V.

5.3. Dump-Installation: Sicherungssoftware (für vollständige Systemsicherung): Falls erforderlich

python


$ sudo apt install dump

--Aktueller Sicherungsbefehl (Ich habe versucht, auf der Datenfestplatte zu sichern)

python


$ sudo dump -0 -u -j /dev/sda2 -f /home/hdd_2nd/Sys_Backup/backup_2020_08_08.dump

5.4 Installation von Google Chrome (dedizierter Browser für die Google-Übersetzung): Falls erforderlich

Laden Sie 64bit .deb (für Debian / Ubuntu) von Official Site herunter und speichern Sie es.

python


$ cd Downloads
$ sudo apt install -y ./google-chrome-stable_current_amd64.deb
[So installieren Sie Google Chrome unter Ubuntu](https://linuxfan.info/google-chrome-on-ubuntu)

5.5 Schließlich möchte ich die DeelP-Übersetzung unter Ubuntu verwenden: Falls erforderlich

[DeepL-Übersetzung unter Linux](https://qiita.com/masan4444/items/030080c74b53a771c132) - Es gibt eine Beschreibung, dass das Skript mit dem vollständigen Pfad geschrieben werden sollte, aber der vollständige Pfad dieser Software lautet "sh /home/username/deepl-clip/app.sh".

5.6 Thunderbird-Einstellungen

  • Sie müssen ein "spezielles Passwort" von der Apple ID-Homepage erhalten, um ein iCloud-E-Mail-Konto einzurichten.
  • Sonst ist es normal

5.7. Erweitertes Mozc-Wörterbuch

[Konvertierung von Kana-Englisch / Japanisch-Englisch mit Mozc (Google IME)](http://blog.blueblack.net/item_442)
  • Beziehen Sie sich auf "Install Kana-English Dictionary v2.txt" und "Japanese-English Dictionary.txt" mit "Mozc-> Dictionary Tool" auf "In ein neues Wörterbuch installieren" (versehentlich ist das Importieren in das ausgewählte Wörterbuch mühsam. Bitte beachten Sie) --Wenn Sie Bedenken hinsichtlich der Priorität von Wörterbüchern haben, lesen Sie bitte "Vermeiden der Priorität von Benutzerwörterbüchern" auf der Referenzseite.

5.8. Installieren Sie die Virensoftware (für die Kommunikation mit dem Haupt-PC).

--Installieren Sie "ClamTk" mit "Ubuntu Software"

5.9 Datenaustausch mit dem Haupt-PC

――Es scheint verschiedene Methoden zu geben, aber die folgenden Dienste, die über einen Browser ausgetauscht werden, für den keine Systemänderungen erforderlich sind, sind sicher. - OneDrive - GoogleDrive

6. Installation der Basisentwicklungssoftware </ summary>

6.1 Inhalt des Shell-Handbuchs auf Japanisch: Diejenigen, die nicht gut Englisch können

  • Bestätigen Sie, dass die Umgebungsvariable LANG der Shell "ja_JP.UTF-8" ist.

python


$ echo $LANG
  • Wenn nicht, ändern Sie

python


$ export LANG=ja_JP.utf8

--Bestätigen Sie den geänderten Inhalt erneut

python


$ echo $LANG
  • Installieren Sie das japanische Handbuch

python


$ sudo apt-get install manpages-ja

6.2 Fischschalen- und Fischerinstallation: nur für diejenigen, die es mögen

――Ich habe eine Shell eingebaut, die den Ruf hat, einfach zu bedienen zu sein.

python


$ sudo apt-add-repository ppa:fish-shell/release-3
$ sudo apt-get update
$ sudo apt-get install -y fish

$ sudo apt install curl /Nicht erforderlich, wenn die Locke bereits installiert ist
$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
$ fisher add oh-my-fish/theme-bobthefish

** ** ** - Ändern Sie nicht die Login-Shell von Bash **

  • Sie haben keinen Fisch als Login-Shell festgelegt. Dem Terminator gewidmet.

6.3 Terminatorinstallation: nur für diejenigen, die möchten

――Sie können mit ROS mehrere Muscheln öffnen, also legen Sie sie hinein.

python


$ sudo apt install terminator

--Starten Sie und klicken Sie mit der rechten Maustaste in das Terminal, um "Festlegen": Folgendes ist Ihre Wahl

  • Der Standardprofilhintergrund ist jetzt 0,8 transparent
  • Aktivieren Sie im Standardprofilbefehl [Benutzerdefinierten Befehl anstelle der Anmeldeshell ausführen] und geben Sie "/ usr / bin / fish" ein. --Ändern Sie die Schriftart unter "Profil> Allgemein> Schriftart" in "○○○ für Powerline" (nach der Installation der Schriftart in 6.4).

6.4 Installieren von Powerline-Schriftarten: Nur für diejenigen, die es mögen

――Unverzichtbare Schriftart für ein cooles Terminal (Es scheint leicht zu erkennen zu sein)

  • Nur für Fischschalen einstellen

python


$ git clone https://github.com/powerline/fonts.git --depth=1
$ cd fonts
$ ./install.sh
$ cd ..
$ rm -rf fonts

6.5. Git Installation: Nur diejenigen, die es brauchen

――Es ist wichtig für die Entwicklung (insbesondere ROS), aber lassen Sie es uns bei Bedarf einsetzen

python


$ sudo apt install git

--Stellen Sie die Mindesteinstellungen ein.

python


$ git config --global user.name "Nutzername"
$ git config --global user.E-Mail-Adresse
$ git config --global core.editor nvim
  • Öffentliche Schlüsselregistrierung auf Github
  • Die Schlüsselauthentifizierung ist praktisch, wenn Sie das Git-Protokoll verwenden.

python


$ sudo apt install xclip "Nicht erforderlich, wenn installiert"
$ bash
$ ssh-keygen -t rsa -b 4096 -C "Mail Adresse"
~ Wenn Sie die Passphrase nicht verwenden, geben Sie wiederholt ~ ein
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub | xclip -selection c "In Clip kopieren"
~ Registrieren Sie SSH KEY auf der Seite Einstellungen von github ~
Fügen Sie den öffentlichen Schlüssel, der mit dem Befehl xclip in die Zwischenablage kopiert wurde, ein

6.6 Visual Studio-Code installieren: Empfohlen

--Defacto Standard (?) Des Programmeditors unter Ubuntu

  • Da es viele Funktionen gibt, sollten wir die Editoren von Windows und Heim-Mac mit VS Code vereinen, um uns daran zu gewöhnen.

  • Laden Sie die Linux-Version von der [Download-Seite] herunter und installieren Sie sie (https://azure.microsoft.com/en-us/products/visual-studio-code/).

  • Aufbau

  • Ist Ihr Pfad verfügbar? - code -v

  • OK, wenn die Version herauskommt

  • Wenn dein Weg nicht geht --Geben Sie die Tasten [Befehl] + [Umschalt] + [P] ein, um die "Befehlspalette" anzuzeigen .- Shell-Befehl: Befehl 'Code' in PATH installieren)

--Einfach zu verwenden --Klicken Sie auf der linken Seite des Bildschirms auf Erweiterung, um MARKET PLACE zu öffnen

6.7. Jetzt, da wir eine Pause haben, sichern Sie das System: nur diejenigen, die es brauchen

  • Sicher

python


$ sudo dump -0 -u -j /dev/sda2 -f /home/inata/hdd_2nd/Sys_Backup/backup_2020_08_08.dump

(Geben Sie für die Sicherungsquelle bis zur Nummer am Ende ein (2 von / dev / sda2).)

7. Installieren Sie Docker (für NVIDIA) </ summary>

[So erstellen Sie mit Docker eine Deep-Learning-GPU-Lernumgebung](https://qiita.com/karaage0703/items/e79a8ad2f57abc6872aa)

7.1. Docker-GPU-Einstellungen

7.1.1 Deaktivieren Sie den sicheren Start

  • Es scheint, dass der Befehl nvidia-smi unter Docker nicht gut funktioniert. Führen Sie ihn daher unbedingt aus.
  • In meiner Umgebung hat der Befehl nvidia-smi funktioniert, aber ich mache mir Sorgen, also "deaktiviere" ich ihn ordnungsgemäß.
  • Im BIOS ändern (ASUS-Motherboard wurde durch "Löschen des sicheren Startschlüssels" deaktiviert)

7.1.2 Bestätigung des Jugendstopps

  • Es sollte gestoppt werden, wenn die GPU zum Zeitpunkt der Installation eingestellt wird. Überprüfen Sie es daher.

python


$ lsmod | grep -i nouveau

--OK wenn nichts angezeigt wird

7.1.3 NVIDIA-Treiberaktualisierungen

  • Software und Updates> Wählen Sie den (proprietären, verifizierten) Treiber aus den zusätzlichen Treibern und [Neustart]. 追加のドライバー.png ** [Ärger] ** Wenn Sie den (proprietären, verifizierten) Treiber unter "Zusätzliche Treiber" auswählen und installieren,

python


$ nvidia-smi
$ Failed to initialize NVML: Driver/library version mismatch

(Ursprünglich ist es korrekt, den GPU-Status 7.5 anzuzeigen.)

Die Situation ändert sich auch dann nicht, wenn Sie Befehle eingeben oder installieren

python


$ sudo ubuntu-drivers autoinstall

-Wenn der Treiber (proprietär, keine Überprüfung) ist, ist das Ergebnis des Befehls `` $ nvidia-smi``` (wahrscheinlich) korrekt. Lassen Sie ihn also eine Weile unverändert.

――Es gibt einen neueren Treiber auf der NVIDIA-Homepage, aber es scheint, dass es viele Fälle gibt, in denen Sie selbst davon abhängig sind. Daher ist Ubuntus "Recommended for the second" -Treiber vorerst [gut].

7.2. Nvidia-cuda-toolkit installieren

--Diese Software ist erforderlich, wenn Sie eine NVIDIA-GPU-Karte für allgemeine numerische Berechnungszwecke verwenden möchten.

  • "Wenn Sie NVIDIA Docker verwenden, müssen Sie CUDA oder cuDNN nicht einschließen, solange Sie den NVIDIA-Treiber installieren. Sie können jedes gewünschte Image verwenden, solange der NVIDIA-Treiber dies unterstützt." ① </ font>

python


$ sudo apt install nvidia-cuda-toolkit

7.3 Docker installieren

――Das Verfahren der offiziellen Version ist kompliziert, und ich habe es auch einmal durcheinander gebracht, also in [Karaage-san], Erstellen einer Deep-Learning-GPU-Lernumgebung mit Docker Ich werde das beschriebene Skript verwenden (Herr Karaage, danke)

python


$ sudo apt install -y curl (nicht erforderlich, wenn installiert)
$ curl -s https://raw.githubusercontent.com/karaage0703/ubuntu-setup/master/install-docker.sh | /bin/bash

-Bitte neustarten]

  • Bestätigung der Docker-Installation

python


$ sudo docker run hello-world
OK, wenn keine Fehler vorliegen

--Aufräumen

python


$ docker container prune
$ docker image rm hello-world:latest

7.4. Installieren des NVIDIA Container Toolkit

  • Software zur Verwendung der GPU auf dem Host aus dem Docker-Container ――Ich werde auch das Skript von "Karaage-san" verwenden (Karaage-san, nochmals vielen Dank)

python


$ curl -s https://raw.githubusercontent.com/karaage0703/ubuntu-setup/master/install-nvidia-container-toolkit.sh | /bin/bash
  • Startbestätigung

python


$ docker run --gpus all --rm nvidia/cuda nvidia-smi

――Ich erhalte aus irgendeinem Grund einen Fehler, ignoriere ihn aber (Mr. Karaage hat ihn ebenfalls ignoriert (lacht)).

7.5. Überprüfen des Betriebs der NVIDIA-GPU auf Docker

  • Führen Sie das offizielle Docker-Bild von TensorFlow aus

python


$ docker run --gpus all -it --rm --name tensorflow-gpu -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3
(-p 8888:8888 ist für den Jupyter-Notebook-Anschluss)

--Wenn die folgende Meldung mit dem Befehl `` `$ nvidia-smi``` angezeigt wird, wird die GPU auf Docker ausgeführt.

python


# nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:1Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 166...  Off  | 00000000:01:00.0  On |                  N/A |
| 42%   36C    P8     8W / 125W |    342MiB /  5936MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

【Hinweis】 ** - Die Prozessdetails werden nicht angezeigt, selbst wenn der Befehl `` `$ nvidia-smi``` auf Docker ausgeführt wird. Dies scheint eine Spezifikation zu sein. ** ** ** ** ・ Wenn ich eine Frage zu StackOverflow gestellt habe, [können Sie nicht sehen, da der Treiber den PID-Namespace nicht kennt. (DeepL-Übersetzung: Ich kann ihn nicht sehen, weil der Treiber den PID-Namespace nicht erkennt.)] Wurde beantwortet **

  • Von diesem Status aus können Sie auf Jupyter Notebook zugreifen

python


# jupyter notebook

--jupyter Notebook startet und die Adresse wird auf dem Terminal angezeigt

python


http://127.0.0.1:8888/?token=xxxxxxxxxxxxxx`
  • Klicken Sie mit der rechten Maustaste auf die Adresse und wählen Sie "Adresse öffnen", um den Browser zu öffnen und "Jupyter Notebook" zu starten.
  • Wenn Sie den folgenden Befehl ausführen und die GPU angezeigt wird, wird die GPU von "Jupyter Notebook" auf Docker erkannt.

python


from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Jupyter Notebook.png

  • Schließen Sie nach Bestätigung das Jupyter-Notizbuch.
  • Docker beenden

python


# exit

7.6 Löschen Sie den Docker-Container und das Image, die ich in der Testversion ausgeführt habe

python


$ docker container prune
$ docker image rm tensorflow/tensorflow:latest-gpu-py3

7.10 Docker studieren: Nur für diejenigen, die es brauchen

――Es ist später einfacher, den Mechanismus und die Befehle von Docker zu kennen. Lassen Sie uns hier ein wenig studieren.

  • Da die Installation von Docker abgeschlossen ist, ist es in Ordnung, wenn Sie danach lernen.
  • Ich habe einen Udemy-Kurs zum Verkauf gekauft (Beispiel)
  • Docker ab Linux-Befehl - SEIN ERSTER PINGUIN UND WIE WAL WACHSEN ――Es war gut, dass dieser Kurs "Volume, das an einem Tag endet" und "Powerpo-Materialien sind als PDF verfügbar" und "Docker-Konstruktion in einer virtuellen Umgebung von Mac oder Windows verstehen".

――Wenn es eine gute Idee ist, speichern Sie auch das Dockerhub-Konto.

8. Erstellen Sie eine Umgebung für [TensorFlow + Keras] in Docker </ summary>

  • Verwenden Sie das von NVIDA bereitgestellte NGC TensorFlow-Image. Ich kenne den Unterschied zum offiziellen TensorFlow Docker-Image nicht (ich habe es nicht überprüft), aber ich bin hierher gekommen, um die GPU von NVIDIA zu verwenden. Es ist also [Wenn Sie Gift essen, ist es ein Teller].

8.1. CuDNN installieren

  • Ich weiß nicht, ob CuDNN auch benötigt wird, aber ich benötige eine Version, um das Image von NGC zu bestimmen, also werde ich es einschließen.

  • "Wenn Sie NVIDIA Docker verwenden, müssen Sie CUDA oder cuDNN nicht einschließen, solange Sie den NVIDIA-Treiber installieren. Sie können jedes gewünschte Image verwenden, solange der NVIDIA-Treiber dies unterstützt." ① </ font>

  • So überprüfen Sie die Version von CUDA

python


$ nvcc -V
  • Gehen Sie zu NVIDIA cuDNN Home Page

  • Registrieren Sie sich als Benutzer und laden Sie die Deb-Datei herunter, die der installierten CUDA-Version entspricht.

  • Heruntergeladene Laufzeit- und Entwicklerbibliothek - cuDNN Runtime Library for Ubuntu18.04 (Deb) - cuDNN Developer Library for Ubuntu18.04 (Deb)

  • Führen Sie die Installation mit dem Befehl dpkg aus (die Reihenfolge der Installation scheint wichtig zu sein).

python


$ sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
$ sudo dpkg -i libcudnn8-dev_8.0.2.39-1+cuda10.1_amd64.deb
$ sudo dpkg -i libcudnn8-doc_8.0.2.39-1+cuda10.1_amd64.deb

8.2 Überprüfen Sie die NVIDIA-Treiberversion

  • So überprüfen Sie die Version von CUDA

python


$ nvcc -V
  • So überprüfen Sie die Version von CuDNN

python


$ cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
  • ** In diesem Fall ist es "7.6.5" **

8.3. Wählen Sie NGC-Image für Docker für TensorFlow

――Bestimmen Sie das Bild auf der Homepage und den unten aufgeführten Versionen von CUDA und CuDNN auf PULL. - https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow/tags - https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/

  • In meinem Fall ** CUDA: 10.289 / cuDNN: 7.6.5, also ziehe ich "TensorFlow Release 20.03" ** (RUN) **

8.4 Holen Sie sich ein NGC-Image von Docker für TensorFlow und starten Sie den Container

  • Holen Sie sich das NGC-Image von Docker für TensorFlow

python


$ docker image pull nvcr.io/nvidia/tensorflow:20.03-tf1-py3
  • Starten Sie das NGC-Image als Container mit dem Namen "tensor_keras".

python


$ docker run --name tensor_keras --gpus all -it -p 8888:8888 nvcr.io/nvidia/tensorflow:20.03-tf1-py3

8.5 Überprüfen Sie die internen Dateien des Containers und installieren Sie die fehlenden Teile

--Überprüfen Sie, ob bereits Programme installiert sind

python


# pip list

――Da es ziemlich oft installiert ist, werde ich es nach Bedarf installieren.

  • Ich habe vorerst folgendes gesagt

python


# pip install --upgrade pip
# pip install Keras
# pip install pandas
# pip install pandas_datareader

――Starten Sie im folgenden Kapitel "Jupyter Notebook" und überprüfen Sie die Funktion von "GPU" auf die gleiche Weise.

  • 7.5. Bestätigung des NVIDIA GPU-Betriebs auf Docker

8.6 Speichern Sie den geänderten Containerinhalt in einer Docker-Image-Datei

―― Ursprünglich wäre es cooler, mit einer Docker-Datei zu verwalten, ohne Speicherplatz zu verbrauchen. Da es sich jedoch um einen von PULL installierten Container handelt, erstellen Sie aus dem geänderten Container ein neues Docker-Image.

8.6.1 Stoppen Sie den Docker-Container, den Sie speichern möchten

python


# exit

8.6.2 Stellen Sie sicher, dass der Zielcontainer gestoppt ist

――Es ist in Ordnung, wenn "STATUS" "Beendet" ist.

python


$ docker container ls -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                     PORTS               NAMES
70d0795d84e8        inata/my_tensorflow_img:1.0   "/usr/local/bin/nvid…"   3 weeks ago         Exited (0) 4 seconds ago                       tensor_keras

8.6.3 In Bilddatei speichern

  • Speichern Sie den geänderten Container als Bilddatei mit dem Namen "my_tensorflow_img: 1.0".
  • Wenn Sie in Betracht ziehen, auf DockerHub hochzuladen, benötigen Sie den Kontonamen (inata) von DockerHub.

python


$ docker container commit -a "INA-Ta" tensor_keras inata/my_tensorflow_img:1.0
  • Wenn Sie nur lokal speichern, können Sie ohne die Signatur "-a" INA-Ta "" oder "Kontoname" übergeben.

python


$ docker container commit tensor_keras my_tensorflow_img:1.0

8.6.4 Container, der vom modifizierten Docker-Image gesteuert wird

  • Wenn Sie in Zukunft einen neuen Container starten möchten, können Sie mit dem geänderten Status beginnen, indem Sie mit der gespeicherten Bilddatei beginnen (dies ist ein Speicherpunkt).
  • Starten Sie einen Container mit dem Namen "tensor_kera" für die Bilddatei "my_tensorflow_img: 1.0".

python


$ docker run --name tensor_keras --gpus all -it -p 8888:8888 inata/my_tensorflow_img:1.0

8.7 Speichern Sie die geänderte Bilddatei in Dockerhub

  • Melden Sie sich bei Docker Hub an

python


$ docker login

--Puschen Sie die neu erstellte Bilddatei in Docker Hub

python


$ docker image push inata/my_tensorflow_img:1.0

DockerHub.png

  • Wenn Sie fertig sind, melden Sie sich ab

python


docker logout

8.8 Speichern / Lesen der geänderten Bilddatei im lokalen Ordner

  • In der Dockerhub-Datei heißt es außerdem "Container-Images löschen, die seit 6 Monaten nicht mehr verwendet wurden". Speichern Sie sie daher auch als lokale Datei. Das Speicherziel ist die Festplatte für Daten. Als TAR-Datei gespeichert

python


$ docker image save -o /home/Hdd_2nd/Docker_Image/my_tensorflow_img_1.0.tar inata/my_tensorflow_img:1.0

--Lesen Sie die Bilddatei aus der lokalen Datei

python


$ docker image load -i /home/Hdd_2nd/Docker_Image/my_tensorflow_img_1.0.tar

** [Zusätzliches Update läuft] m (_ _) m **

9. Erstellen Sie eine Umgebung für [ROS2] in Docker [Update fortsetzen] </ summary>

** [Zusätzliches Update läuft] m (_ _) m **

10. Erstellen Sie die [PyTorch] -Umgebung auf Docker [Update laufend] </ summary>

** [Zusätzliches Update läuft] m (_ _) m **

Geschichte verändern

Version 0: 21. September 2020

1. Ausgabe: 22. September 2020 ① </ font>

  • Reflektiert Kommentare von Karaage-san (Danke: Karaage-san) </ font>

2. Auflage: 25. September 2020

  • Da es zu lang ist, wechseln Sie zum faltbaren Display