🚀

Ubuntu x RadiataでTensorRTを使った高速画像生成がやりたい

2023/06/11に公開

https://scrapbox.io/work4ai/Radiataを導入する

このWindows向けの記事を参考に進めます。

環境構築

Ubuntu(22.04)でNVIDIA製GPUを認識できるところまではやった前提でやります。

https://ddpn08.github.io/Radiata/ja/usage/tensorrt.html

上記ドキュメントにあるように以下が要求されているので、そられをインストールします。

TensorRT == 8.6.0
CUDNN == 8.8.0
CUDA >= 11.0
pytorch < 2

CUDA 11.8

https://developer.nvidia.com/cuda-11-8-0-download-archive

アーキテクチャを選んでインストールしてください。

前準備

aptでdebを直接インストールしようとした際に、以下の記事の現象がおきたので、あらかじめ対策しておきます。
https://zenn.dev/yashikota/articles/f2e38e1c4e2fb5

sudo chown _apt /var/lib/update-notifier/package-data-downloads/partial/

cuDNN 8.8.0


https://developer.nvidia.com/rdp/cudnn-archive
から「Download cuDNN v8.8.0 (February 7th, 2023), for CUDA 11.x」をダウンロードします。

sudo apt install ./cudnn-local-repo-ubuntu2204-8.8.0.121_1.0-1_amd64.deb

TensorRT 8.6

https://developer.nvidia.com/nvidia-tensorrt-8x-download

より

「TensorRT 8.6 GA for Ubuntu 22.04 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7 and 11.8 DEB local repo Package」

をダウンロードし、インストール。

sudo apt install ./nv-tensorrt-local-repo-ubuntu2204-8.6.1-cuda-11.8_1.0-1_amd64.deb

再起動

この時点で念のため再起動してください。

起動

この状態で launch.sh を実行してみます。
launch.pyに使うオプションはそのまま使えます。

./launch.sh --tensorrt --port 7861 --host 0.0.0.0

...

stderr: ERROR: Could not find a version that satisfies the requirement cuda-python<12 (from versions: 12.1.0)
ERROR: No matching distribution found for cuda-python<12

ん、そうかな?

https://pypi.org/project/cuda-python/11.8.2/

って思って見てみると、Python 3.11だと11以下のバージョンを提供していないようでした。

なので、

sudo apt install -y python3.10

として

where python3.10
→/usr/bin/python3.10

なので、

python_cmd="/usr/bin/python3.10" ./launch.sh --tensorrt --port 7861 --host 0.0.0.0

とすると、

Running on local URL:  http://0.0.0.0:7861

と出て起動できました。

実行

https://twitter.com/kazuph/status/1667796817252327425

RTX3090にて16枚の画像生成に

Finished in 14.7247 seconds

いいですね。

Discussion