DL – Umgebungskollokation

Vorwort

Um die Reise des vertieften Lernens zu beginnen, müssen wir zunächst bestimmen, wo der Alchemieofen platziert ist. Es versteht sich, dass die herkömmlichen Plattformkombinationen Folgendes umfassen:

  • Sieg + Anakonda
  • Sieg + WSL
  • kostenlos + Anakonda
  • kostenlos + Docker

Bei den oben genannten Methoden handelt es sich natürlich um weitere Kombinationsmethoden, die je nach Bedarf verwendet GPU/CPUwerden tensorflow/pytorch.

1. Meine Plattform

Mein Computer ist 9300H+GTX1650eine Kombination, GPUobwohl es ein bisschen ist low, aber es ist besser als nichts, lass uns damit auskommen, schließlich ist es mein eigenes Geld, es ist zu schade, es zu bekommen.
Nach einem Tag des Herumwälzens heute habe ich mich entschieden, den Weg zu wählen
win + wsl + docker: Die Hauptüberlegungen sind wie folgt:

  • Es gibt nur ein Notebook, egal ob es mit Dual-Systemen installiert ist oder installiert ist Linux, es wird mehr oder weniger die Verwendung anderer nachfolgender Arbeiten beeinträchtigen, und ich bin zu faul, es wegzuwerfen, weil ich befürchte, dass es zu einem Ziegelstein wird, wenn ich nicht aufpasse;
  • wslNicht stabil genug, es treten unerklärliche Fehler auf, z. B. pip3keine Reaktion, nach einer Woche des Hin- und Herwerfens kann der Grund nicht gefunden werden, einfach aufgeben
  • anacondaSchaffen Sie eine Umgebung und beginnen Sie zu langsam
  • dockerDie Anwendung wird immer weiter verbreitet, insbesondere wenn es um die Bereitstellung geht. Daher ist es notwendig, die Verwendung zu erlernen, und Sie können mehrere Anwendungen erstellen images, was wslviel kostengünstiger ist. Auf der Grundlage des oben Gesagten wird beschlossen, die Kombinationsmethode
    anzuwenden .win + wsl + docker

Zweitens, Konfiguration

1. wsl

wslEs gibt viele Online-Tutorials zur Installation und Deinstallation von. Hier sind die häufig verwendeten Funktionen: Der
wslVorgang wird PowerShellin ausgeführt, die Öffnungsmethode ist die Tastenkombination win + Rund dann geöffnet, cmdum
WSL anzuzeigen

wsl --list

Die Ausgabe ist:

PS C:\Users\ASUS> wsl --list
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-20.04 (默认)
Ubuntu-18.04

Ausloggen

 wsl --unregister Ubuntu-18.04

2. GPU

Das ist eine große Sache. Ob Ihr Computer verwendet werden kann, GPUhängt von diesem Schritt ab. wslDie Installation cudabesteht aus zwei Hauptschritten :

Schritt 1:
Installieren Sie das Gerät lokal und laden Sie die wsldedizierte nvidiaTreibersoftware von der offiziellen Website herunter


wslDer Hauptinstallationsprozess in Schritt 2cuda-toolkit
ist:

sudo apt-key adv --fetch-keys http://mirrors.aliyun.com/nvidia-cuda/ubuntu2004/x86_64/7fa2af80.pub
sudo sh -c 'echo "deb http://mirrors.aliyun.com/nvidia-cuda/ubuntu2004/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt-get update
sudo apt-get install -y cuda-toolkit-11-3

Wenn Sie während der Installation darauf stoßenNO_PUBKEY A4B469963BF863CC

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC

Nach Abschluss der Installation müssen Sie die Umgebungsvariablen konfigurieren .bashrcund am Ende Folgendes anhängen:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64

Um festzustellen, ob die Installation abgeschlossen ist, können Sie nvcc -Vsie über überprüfen. Wenn die Installation normal verläuft, erhalten Sie die folgende Rückmeldung:

z@LAPTO:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_May__3_19:15:13_PDT_2021
Cuda compilation tools, release 11.3, V11.3.109
Build cuda_11.3.r11.3/compiler.29920130_0

Oder erstellen Sie eine samplesPrüfsumme:

cd /usr/local/cuda/samples/4_Finance/BlackScholes
sudo make
./BlackScholes

Hinweis: Wenn apt-keyder Vorgang abnormal ist, können Sie pubdie Daten direkt kopieren Ctrl + c, sie dann lokal speichern *.pubund apt-key add <filename>sie dann über hinzufügen.

3. Docker

Zugehörige Ressourceneinstellungen:

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
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list

nvidia-docker2Installieren

sudo apt-get update
sudo apt-get install -y nvidia-docker2

Denken Sie daran, nach der Installation neu zu starten:

sudo service docker stop
sudo service docker start

Test nach der Installation:

sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark   

Wenn die Installation erfolgreich ist, wird Folgendes angezeigt:
Fügen Sie hier eine Bildbeschreibung ein
Abnormal
Nach dem Herunterfahren und Neustarten schlägt sie nvidia-dockerfehl runund die Fehlermeldung lautet:

docker: Error response from daemon: Unknown runtime specified nvidia.
See 'docker run --help'.

:/etc/docker/daemon.jsonDie Lösung besteht darin , die Datei zu ändern :

{
    
    
    "registry-mirrors":[
        "http://hub-mirror.c.163.com",
        "https://reg-mirror.qiniu.com"],

    "runtimes": {
    
    
        "nvidia": {
    
    
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
         }
    }
}

3 Demo

laufen demo:

python3 demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path 000001.bin

Die aufgetretenen Fehler sind:

2021-11-16 01:42:31,620   INFO  -----------------Quick Demo of OpenPCDet-------------------------
2021-11-16 01:42:31,735   INFO  Total number of samples:        1
/usr/local/lib/python3.6/dist-packages/torch/functional.py:445: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at  ../aten/src/ATen/native/TensorShape.cpp:2157.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
2021-11-16 01:42:41,023   INFO  ==> Loading parameters from checkpoint pv_rcnn_8369.pth to CPU
2021-11-16 01:42:43,918   INFO  ==> Done (loaded 367/367)
2021-11-16 01:42:44,093   INFO  Visualized sample index:        1
Traceback (most recent call last):
  File "demo.py", line 105, in <module>
    main()
  File "demo.py", line 93, in main
    pred_dicts, _ = model.forward(data_dict)
  File "/usr/local/lib/python3.6/dist-packages/pcdet/models/detectors/pv_rcnn.py", line 11, in forward
    batch_dict = cur_module(batch_dict)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/pcdet/models/backbones_3d/spconv_backbone.py", line 147, in forward
    x = self.conv_input(input_sp_tensor)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/spconv/modules.py", line 134, in forward
    input = module(input)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/spconv/conv.py", line 181, in forward
    use_hash=self.use_hash)
  File "/usr/local/lib/python3.6/dist-packages/spconv/ops.py", line 95, in get_indice_pairs
    int(use_hash))
ValueError: /root/spconv/src/spconv/spconv_ops.cc 87
unknown device type

Nicht gelöst, aufgeben
2.
pip install pyyaml==5.4.1

Supongo que te gusta

Origin blog.csdn.net/weixin_42823098/article/details/121197092
Recomendado
Clasificación