Ich werde ein Memorandum meines eigenen PCs hinterlassen.
Abschließend werde ich beschreiben, wie Ubuntu installiert und mit Docker eine Deep-Learning-Umgebung erstellt wird.
――Ich habe auf die folgenden Websites verwiesen.
Es scheint besser zu sein, die Spezifikationen entsprechend der Anwendung zu bestimmen.
Als Ergebnis der Prüfung haben wir die folgende Konfiguration vorgenommen.
** CPU ** [Core i7-9700K](https://www.amazon.co.jp/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB-Corei7 -9700K-INTEL 300% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA-Chipsatz% E3% 83% 9E% E3% 82% B6% E3% 83% BC% E3 % 83% 9C% E3% 83% BC% E3% 83% 89% E5% AF% BE% E5% BF% 9C-BX80684I79700K% E3% 80% 90BOX% E3% 80% 91 / dp / B07HHN6KBZ) 45.000 Yen ** GPU ** GeForce RTX2080Ti 11 GB GamingPro OC 89.000 Yen (verwendet) ** Hauptplatine ** [ASUS PRIME Z390-A](https://www.amazon.co.jp/Intel-LGA1151-%E3%83%9E%E3%82%B6%E3%83%BC%E3% 83% 9C% E3% 83% BC% E3% 83% 89-PRIME-Z390 / dp / B07HCY7K9L) 22.000 Yen ** Speicher ** Kingston FURY RGB (DDR4 2666 MHz 16 GB x 2) 20.000 yen ** Fall ** [O11 DYNAMIC WHITE](https://www.amazon.co.jp/DYNAMIC%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-ATX % E5% AF% BE% E5% BF% 9CPC% E3% 82% B1% E3% 83% BC% E3% 82% B9-% E5% BC% B7% E5% 8C% 96% E3% 82% AC% E3% 83% A9% E3% 82% B9% E3% 83% 91% E3% 83% 8D% E3% 83% AB-DYNAMIC-% E6% 97% A5% E6% 9C% AC% E6% AD% A3 % E8% A6% 8F% E4% BB% A3% E7% 90% 86% E5% BA% 97% E5% 93% 81 / dp / B07C88K4KP / ref = sr_1_8? __ mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & crid = 126X9EAEQS38A & keywords = pc% E3% 82% B1% E3% 83% BC% E3% 82% B9% 2Be-atx & qid = 1572082964 & s = Computer & sprefix = PC% E3% 82% B1% E3% 83% BC% E3% 82% B9% 2Be% 2Ccomputer% 2C234 & sr = 1-8 & th = 1) 14.000 Yen ** Stromversorgung ** [Corsair HX1000i](https://www.amazon.co.jp/Corsair-HX1000i-80PLUS-PLATINUM-CP-9020074-JP/dp/B00NV3NN1G/ref=sr_1_1?__mk_ja_JP=%E3%82 % AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & keywords = Corsair + HX1000i & linkCode = sl2 & linkId = 7e74aeede033623f3854a6a093ea43d9 & qid = 1572077086 & sr = 8-1) ** SSD ** [Intel SSD 660P](https://www.amazon.co.jp/dp/B07GCL6BR4/ref=as_li_ss_tl?ie=UTF8&linkCode=ll1&tag=jisakuhibi0b-22&linkId=fd963ff0cd812552e2 ** HDD ** SEAGATE ST6000DM003 11.000 Yen ** Einfacher Wasserkühlventilator ** [Novonest CC240RGB] (https://www.amazon.co.jp/gp/product/B07JFVV9VB/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1) 7.000 Yen ** WLAN-Karte ** Ziyituod ZYT-WIE9260 4.000 Yen ** Gehäuselüfter ** Ubanner RB001 4.500 Yen
** Insgesamt ** 254.500 Yen
Ich habe es bei "Nein!" Gekauft, ohne viel Vorforschung zu betreiben, aber ich hätte mehr ** untersuchen sollen, wie später beschrieben **.
** RGB-Lüftersteuerung ** Fractal Design Adjust R1 3.000 Yen
Ich habe ein Motherboard gekauft, das den adressierbaren RGB-Standard nicht unterstützt, aber am Ende habe ich es gekauft, weil ich einen einfachen wassergekühlten Lüfter für adressierbares RGB gekauft habe. (Achten Sie darauf, nicht den gleichen Fehler zu machen ...)
** Thermofett ** ThermalGrizzly 750 Yen
Betrachtet man die Anzahl der Kerne, Xeon und Threadripper Es scheint .aspx zu geben? Pdf_Spec101 = 73), aber ich konnte es mir nicht leisten.
[Intel 9900k](https://www.amazon.co.jp/INTEL-%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB-Corei9-9900K-INTEL300 % E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BAChipset% E3% 83% 9E% E3% 82% B6% E3% 83% BC% E3% 83% 9C% E3 % 83% BC% E3% 83% 89% E5% AF% BE% E5% BF% 9C-BX80684I99900K% E3% 80% 90BOX% E3% 80% 91 / dp / B005404P9I) und [Ryzen 3900K](https: / /www.amazon.co.jp/AMD-Ryzen-3900X-105W%E3%80%90%E5%9B%BD%E5%86%85%E6%AD%A3%E8%A6%8F%E4%BB % A3% E7% 90% 86% E5% BA% 97% E5% 93% 81% E3% 80% 91-100-100000023BOX / dp / B07SXMZLP9 / ref = as_li_ss_tl? __Mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & keywords = 3900x & qid = 1562932114 & s = Gateway & sr = 8-1 & linkCode = sl1 & tag = artjuku-22 & linkId = 302a03c426c499b28724f235b7624370 & language = ja_JP) Es schien wahrscheinlich, also entschied ich mich für Core i7, was Spaß zu machen scheint.
** Es wird nicht empfohlen, eine gebrauchte GPU zu kaufen **, daher hätte ich eine neue kaufen sollen ... Während ich einige Risiken akzeptiere, werde ich es weiterhin so verwenden, als wäre es eine Säule.
GPU sucht nach Titan RTX, Tesla V100, aber es ist teuer und ich habe nicht das Gefühl, dass es aufgebraucht ist.
―― Ehrlich gesagt, wenn Sie nur tiefes Lernen lernen, sollten Sie in der Lage sein, es billiger zu machen **.
Und so weiter scheinen verschiedene Abfälle eingespart werden zu können.
Während ich die Anweisungen auf dem Motherboard sorgfältig las, stellte ich sie unter Bezugnahme auf [hier] zusammen (https://www.zoa.co.jp/pickup/detail/jisakupctsukurikata/).
-Ich habe es unter Bezugnahme auf [hier] installiert (https://linuxfan.info/ubuntu-18-04-install-guide).
Als ich den Monitor an das Terminal von Gravo angeschlossen und Ubuntu gestartet habe, friert Der Bildschirm friert ein % B0% E5% A2% 83% E3% 81% AE% E6% A7% 8B% E7% AF% 89).
Verbinden Sie es also zuerst mit dem Terminal von Mazabo oder Jugendstil deaktivieren % 8A% B9% E5% 8C% 96).
Wenn Sie Ubuntu auf Japanisch installiert haben, ändern Sie das Japanische, z. B. Dokumente, in Englisch.
terminal
LANG=C xdg-user-dirs-gtk-update
Paket aktualisieren
terminal
sudo apt-get update
sudo apt-get upgrade
Wählen Sie den entsprechenden Treiber aus und laden Sie ihn unter [NVIDIA Driver Download] herunter (https://www.nvidia.co.jp/Download/index.aspx?lang=jp).
Installieren Sie das, was Sie zum Ausführen der heruntergeladenen Datei benötigen
sudo apt-get install build-essential
Der Grafiktreiber kann während der Treiberinstallation abstürzen. Wechseln Sie daher für alle Fälle mit "Strg + Alt + F1" zur CUI. (Es scheint, dass es durch Strg + Alt + F2
usw. umgeschaltet werden kann. Wenn es immer noch nicht funktioniert, versuchen Sie, die Funktionstaste auf 3 ~ 12 zu ändern.)
Geben Sie zu diesem Zeitpunkt ** - no-opengl-files **, ** - no-libglx-indirekt **, ** - dkms ** an
Wenn Sie nicht "--no yeah" angeben, bleiben Sie in der Anmeldeschleife stecken, und wenn Sie nicht genug "--dkms" haben, wird der nvidia-Treiber bei jedem Neustart deaktiviert.
Führen Sie die heruntergeladene Datei aus
chmod +x ./NVIDIA-Linux-x86_64-440.31.run
sudo ./NVIDIA-Linux-x86_64-440.31.run --no-opengl-files --no-libglx-indirect --dkms
Starten Sie neu
reboot
(Wenn der Monitor an das Motherboard angeschlossen ist, schließen Sie ihn an das Terminal von Gravo an.)
Überprüfung der Fahrerfunktion
nvidia-smi
Vollständig, wenn GPU-Informationen angezeigt werden
Installation gemäß Official. Ab dem 4. November 2019 wurden die folgenden Befehle ausgeführt.
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Einstellungen zum Ausführen des Docker-Befehls ohne sudo
sudo groupadd docker
sudo gpasswd -a $USER docker
sudo service docker restart
reboot
Installation gemäß NVIDIA Container Toolkit.
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
Wenn Sie die GPU-Informationen mit dem folgenden Befehl anzeigen können, ist dies erfolgreich.
docker run --gpus all --rm nvidia/cuda nvidia-smi
Versuchen Sie, [offizielles Tensorflow-Docker-Image] auszuführen (https://hub.docker.com/r/tensorflow/tensorflow/tags?page=1&name=1.14.0).
docker pull tensorflow/tensorflow:1.14.0-gpu-py3-jupyter
docker run --gpus all -it --rm -v $(realpath ~/notebooks):/tf/notebooks -p 8888:8888 tensorflow/tensorflow:1.14.0-gpu-py3-jupyter
Wenn jupyter startet, stellen Sie mit einem Browser eine Verbindung zu localhost: 8888
her
Überprüfen Sie, ob Sie die GPU vom Tensorflow aus sehen können
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
Wenn Sie die GPU wie unten gezeigt sehen können, sind Sie erfolgreich.
output
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 14740279898702566726
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit: 17179869184
locality {
}
incarnation: 10721268506091676345
physical_device_desc: "device: XLA_GPU device"
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit: 17179869184
locality {
}
incarnation: 16980550380766421160
physical_device_desc: "device: XLA_CPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 10512030106
locality {
bus_id: 1
links {
}
}
incarnation: 10531017116676756003
physical_device_desc: "device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5"
]
3.6 MNIST
Sie können endlich die Tiefe drehen!
Lassen Sie uns MNIST mit einem einfachen CNN drehen.
!pip install keras
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, MaxPooling2D, Conv2D
from keras.callbacks import TensorBoard
(X_train,y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(60000,28,28,1).astype('float32')
X_test = X_test.reshape(10000,28,28,1).astype('float32')
X_train /= 255
X_test /= 255
n_classes = 10
y_train = keras.utils.to_categorical(y_train, n_classes)
y_test = keras.utils.to_categorical(y_test, n_classes)
model = Sequential()
model.add(Conv2D(32, kernel_size=(3,3), activation='relu', input_shape=(28,28,1)) )
model.add(Conv2D(64, kernel_size=(3,3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(n_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
import time
start = time.time()
model.fit(X_train, y_train, batch_size=128, epochs=15, verbose=1,
validation_data=(X_test,y_test))
elapsed_time = time.time() - start
print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")
output
elapsed_time:65.47733306884766[sec]
Die GPU von Google Colaboratory wird zufällig zugewiesen, aber als ich P100 subtrahierte, dauerte es 62 Sekunden.
Es ist traurig, dass ein PC, der mehr als 200.000 verwendet hat, an das kostenlose Colaboratory verliert, aber es gibt keine zeitliche Begrenzung, die Reaktion ist schnell und es scheint ein großer Vorteil zu sein, nach Belieben expandieren zu können.
Recommended Posts