Winでdetectron2をビルドしてインストールする

めちゃんこ苦しめられたので自分用メモです。

事前にやっておくこと

CUDA:12.1(※パスを通す)
cuDNN:8.6.0(※パスを通す)

https://developer.nvidia.com/rdp/cudnn-archive
python:3.10.8(※パスを通す)
Build Tools for Visual Studio 2022

「デスクトップ開発用C++」ワークロードを選択

以下のコマンドを実行

cd detectron2
python -m venv venv
venv\scripts\activate.bat
pip install torch==2.3.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cu121
pip install "numpy<2" -U
pip install opencv-python
pip install ninja
pip install cython
pip install pycocotools

detectron2\setup.pyの72-83行あたりを書き換える

        if not is_rocm_pytorch:
            define_macros += [("WITH_CUDA", None)]
            extra_compile_args["nvcc"] = [
                "-O3",
                "-DCUDA_HAS_FP16=1",
                "-D__CUDA_NO_HALF_OPERATORS__",
                "-D__CUDA_NO_HALF_CONVERSIONS__",
                "-D__CUDA_NO_HALF2_OPERATORS__",
            ]
        else:
            define_macros += [("WITH_HIP", None)]
            extra_compile_args["nvcc"] = []

        if not is_rocm_pytorch:
            define_macros += [("WITH_CUDA", None)]
            extra_compile_args["nvcc"] = [
                "-O3",
                "-DCUDA_HAS_FP16=1",
                "-D__CUDA_NO_HALF_OPERATORS__",
                "-D__CUDA_NO_HALF_CONVERSIONS__",
                "-D__CUDA_NO_HALF2_OPERATORS__",
                "-DWITH_CUDA",
                "-allow-unsupported-compiler",  # この行を追加
            ]
        else:
            define_macros += [("WITH_HIP", None)]
            extra_compile_args["nvcc"] = [
                "-allow-unsupported-compiler",  # この行を追加
            ]

detectron2\setup.pyの一番下らへんを書き換える

# ext_modules=get_extensions(),
# cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
pip install -e .


この記事が気に入ったらサポートをしてみませんか?