👌

ultralyticsplus: ValueError: Invalid CUDA 'device=0' requested...への対処

2024/05/20に公開

概要

YOLOv8を用いた推論アプリを以下で公開しています。

https://huggingface.co/spaces/nakamura196/yolov8-ndl-layout

当初、以下のエラーが発生しました。

ValueError: Invalid CUDA 'device=0' requested. Use 'device=cpu' or pass valid CUDA device(s) if available, i.e. 'device=0' or 'device=0,1,2,3' for Multi-GPU.

torch.cuda.is_available(): False
torch.cuda.device_count(): 0
os.environ['CUDA_VISIBLE_DEVICES']: None
See https://pytorch.org/get-started/locally/ for up-to-date torch install instructions if no CUDA devices are seen by torch.

このエラーがに対して、以下のようにdeviceを追記することで対処できました。

results = model.predict(img, device="cpu")

詳細

以下のライブラリを使用しています。

https://github.com/fcakyon/ultralyticsplus

そして、以下のように利用したところ、上記のエラーが発生しました。

from ultralyticsplus import YOLO, render_result

# load model
model = YOLO("nakamura196/yolov8-ndl-layout")

img = 'https://dl.ndl.go.jp/api/iiif/2534020/T0000001/full/full/0/default.jpg'

results = model.predict(img)

そこで、以下のように引数を追記することで、エラーが解消しました。

results = model.predict(img, device="cpu")

補足

以下のように、ローカルにあるモデルを使用する際には、device="cpu"がなくても、上記のエラーが発生することなく使用できました。

model = YOLO('./model_- 19 may 2024 15_13.pt')

まとめ

参考になりましたら幸いです。

Discussion