Da Ubuntu 20.04 jetzt stabiles Deep Learning ausführen kann, notieren Sie die Installationsmethode
Ubuntu 20.04 LTS ist wie Ubuntu 18.04 nicht mit der GPU von Nvidia kompatibel Der Bildschirm sieht wie folgt aus
Die Problemumgehung besteht darin, den Standardtreiber "Nouveau" während der Installation oder auf dem GRUB-Bildschirm zu deaktivieren, um ein Einfrieren zu verhindern.
Setzen Sie auf diesem Bildschirm den Cursor auf Ubuntu installieren und drücken Sie e
Wo es heißt "leises Spritzen ---" Sie können "Nouveau" deaktivieren, indem Sie "quiet splash nomodeset ---" neu schreiben.
Starten Sie nach dem Umschreiben mit den Optionen, die mit "Strg-x" aktualisiert wurden
Installieren Sie das Gerät gemäß den Anweisungen. Wenn Sie anstelle der Mindestkonfiguration zusätzliche Treiber usw. installieren, Empfohlen, da der NVIDIA-Treiber enthalten ist.
Da das gleiche Problem nach der Installation auftritt, ist Nomodeset-Unterstützung in einigen Fällen erforderlich (insbesondere wenn die automatische Anmeldung aktiviert ist und eine Anmeldeschleife auftritt).
Drücken Sie im Anmeldebildschirm Strg + Alt + F2, um den CLI-Anmeldebildschirm aufzurufen. Geben Sie den Benutzernamen und das Passwort ein und führen Sie den Vorgang aus, der dem Nomodeset entspricht
sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Wo ist es
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Zu
#Änderungen übernehmen
sudo update-grab
# nvidia-Treiber einfügen
sudo apt install nvidia-driver-440;
#Starten Sie neu
sudo reboot
Zu diesem Zeitpunkt ist der Fahrer in.
$ nvidia-smi
Tue Sep 15 18:56:00 2020
+-----------------------------------------------------------------------------+
| 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 RTX 208... Off | 00000000:01:00.0 Off | N/A |
| 41% 31C P8 13W / 250W | 311MiB / 10997MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 973 G /usr/lib/xorg/Xorg 175MiB |
| 0 1339 G /usr/bin/gnome-shell 120MiB |
| 0 3263 G /usr/lib/firefox/firefox 6MiB |
| 0 3787 G gnome-control-center 6MiB |
+-----------------------------------------------------------------------------+
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y vim csh flex gfortran git g++ cmake xorg-dev patch zlib1g-dev libbz2-dev libboost-all-dev openssh-server libcairo2 libcairo2-dev libeigen3-dev lsb-core lsb-base net-tools network-manager xclip gdebi-core libffi-dev make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Durchlaufen
$ vim ~/.bashrc
#Fügen Sie am Ende Folgendes hinzu
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
$ source ~/.bashrc
Installieren Sie Ihre Lieblings-Python-Version
$ pyenv install 3.6.9
$ pyenv global 3.6.9
$ pyenv rehash
$ python -V
Python 3.6.9
$ mkdir -p ~/workspace/test
$ cd ~/workspace/test
$ python -m venv venv36tf
$ source venv36tf/bin/activate
$ pip install --upgrade pip
$ pip install tensorflow-gpu==2.2
mnist Experiment
Speichern Sie Folgendes als test_mnist.py
test_mnist.py
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
Lauf Erfolg, wenn die Ausgabe wie folgt ist
$ python test_mnist.py
Epoch 1/5
1875/1875 [==============================] - 1s 768us/step - loss: 0.2215 - accuracy: 0.9337
Epoch 2/5
1875/1875 [==============================] - 1s 733us/step - loss: 0.0980 - accuracy: 0.9700
Epoch 3/5
1875/1875 [==============================] - 1s 739us/step - loss: 0.0711 - accuracy: 0.9780
Epoch 4/5
1875/1875 [==============================] - 1s 738us/step - loss: 0.0562 - accuracy: 0.9821
Epoch 5/5
1875/1875 [==============================] - 1s 736us/step - loss: 0.0437 - accuracy: 0.9861
313/313 [==============================] - 0s 608us/step - loss: 0.0613 - accuracy: 0.9816
Recommended Posts