Zuvor wurden DETR-bezogene Programme auf dem Server ausgeführt. Der Server verwendet Linux, sodass die Bedienung relativ einfach ist. Wenn Sie jedoch ein einfaches Debuggen wünschen, ist es nicht erforderlich, den Server zu verwenden. Heute werden wir DETR-Projekte in Windows debuggen Umgebung. Hier nehmen wir Deformable-DETR und DAB-DETR als Beispiele.
Der erste ist die Konfiguration von DAB-DETR. Dieser Teil ist relativ einfach. Es ist zu beachten, dass DAB-DETR keine CUDA-Operatoren konfigurieren muss. Wenn wir nur das DAB-DETR-Programm ausführen möchten, können wir das Importmodul löschen von DAB-Deformable-DETR. Can.
Kommentieren Sie diesen Code auch unter model/init aus
Erstellen Sie eine Conda-Umgebung
conda create -n deformable_detr python=3.7
Aktivieren Sie die Conda-Umgebung
activate deformable_detr
Überprüfen Sie die CUDA-Version, denn nachdem wir die CUDA-Reihenfolge der Umgebungsvariablen geändert und die entsprechende Conda-Umgebung erstellt haben, folgt diese CUDA der Conda-Umgebung
nvcc --version
Wählen Sie laut Pytorch Pytorch gemäß der CUDA-Version aus und stellen Sie fest, dass der passende Cuda und Pytorch mit dem Befehl conda nicht gefunden werden kann. Daher können wir pip verwenden, um der Methode zu folgen, die gleichzeitig mit Pytorch einem kleinen Cuda folgen kann .
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.6 -c pytorch -c conda-forge
Natürlich können Sie auch Folgendes verwenden:
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
Wechseln Sie dann in das Stammverzeichnis des Projekts und folgen Sie dem entsprechenden Paket in require.txt. Es wurde festgestellt, dass die Installation von Pycocotools fehlschlägt und die Windows-Version direkt installiert werden kann.
pip install pycocotools-windows -i https://pypi.tuna.tsinghua.edu.cn/simple
DAB-Deformable-DETR zusätzliche Konfiguration
Der Autor von DAB-DETR hat DAB-Deformable-DETR auf Basis von Deformable-DETR entwickelt. Um Deformable-DETR auszuführen, ist ein zusätzlicher CUDA-Operator erforderlich. Das Folgende ist der Konfigurationsprozess: Wir führen die folgenden Vorgänge auf der Grundlage der gerade erstellten Umgebung aus.
Wechseln Sie dann zum Ordner „model/ops“, um CUDA zu kompilieren und einen Fehler zu melden
Fehler beim Erstellen der Erweiterung „MultiScaleDeformableAttention“: Microsoft
Visual C++ 14.0 oder höher ist erforderlich. Holen Sie es sich mit „Microsoft C++
Build Tools“:
https://visualstudio.microsoft.com/visual-cpp-build-tools/
Die Methode im Internet besteht darin, Visual C ++ 14.0 zu installieren, aber dieser Blogger ist der Meinung, dass dies zu zeitaufwändig und mühsam ist. Wir müssen nur die entsprechenden kompilierten Dateien in der Conda-Umgebung haben und müssen sie nicht herunterladen und installieren riesiges Visual C++ 14.0.
conda install libpython m2w64-toolchain -c msys2
Kompilieren Sie den CUDA-Operator erneut und stellen Sie fest, dass der Fehler weiterhin gemeldet wird. Es gibt keine Möglichkeit, dies zu tun. Sie können ihn nur ehrlich installieren. Hier empfehle ich Ihnen, die Visual Studio2017-Version herunterzuladen. Der Blogger hat zuvor die Version 2022 installiert und ist fehlgeschlagen. Die Download-Adresse lautet wie folgt:
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
Anschließend wählen Sie den Installationsort und die benötigte Version aus.
Nachfolgende CUDA-Kompilierung:
Wenn das Projekt dann ausgeführt wird, wird ein Fehler gemeldet:
Datei „D:\Anaconda\envs\deformable_detr\lib\shutil.py“, Zeile 121, in
Copyfile
mit open(dst, 'wb') als fdst: PermissionError: [Errno 13] Permission denied:
'C:\Users\ PENGXI~1\AppData\Local\Temp\tmp0srtpk4p\tmpqq71knx5.py'
finde diese Datei
Fügen Sie diese Codezeile hinzu:
Dann laufen Sie erneut. OK