🤖

Windows 11でPyTorch3Dをインストール

2024/11/16に公開

1. Conda環境の作成

Python 3.9環境を作成し、アクティベートします:

conda create -n pytorch3d python=3.9
conda activate pytorch3d

2. PyTorchのインストール

PyTorch 2.2.0およびCUDA 12.1をインストールします:

conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia

これにより、PyTorchとtorchvision、CUDAサポートが自動的に設定されます。

3. PyTorch3Dのインストール

PyTorch3DをGitHubの安定版ブランチからインストールします:

pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"

4. 追加ライブラリのインストール

PyTorch3Dのデモやサンプルを動作させるために必要なライブラリをインストールします:

conda install -c iopath iopath
pip install scikit-image matplotlib imageio plotly opencv-python

5. インストールの確認

インストールが成功したか確認するために、以下を実行します:

import torch
import pytorch3d
print("PyTorch version:", torch.__version__)
print("PyTorch3D version:", pytorch3d.__version__)

出力例:
PyTorch version: 2.2.0
PyTorch3D version: 0.7.8

6. サンプルコードの実行

import torch
from pytorch3d.structures import Pointclouds
from pytorch3d.renderer import PointsRasterizationSettings, PointsRasterizer, AlphaCompositor, PointsRenderer
from pytorch3d.renderer.cameras import PerspectiveCameras

# デバイス設定
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

# ダミーデータ: ランダムなポイントクラウド
points = torch.rand((1, 100, 3), device=device)  # 1つのポイントクラウド、100個のポイント
features = torch.rand((1, 100, 3), device=device)  # RGB特徴量

# ポイントクラウド構造体を作成
point_cloud = Pointclouds(points=points, features=features)

# カメラ設定
cameras = PerspectiveCameras(device=device)

# ラスタライズ設定
raster_settings = PointsRasterizationSettings(image_size=512, radius=0.01)

# ラスタライザ
rasterizer = PointsRasterizer(cameras=cameras, raster_settings=raster_settings)

# 合成器(コンポジター)
compositor = AlphaCompositor()  # アルファブレンディングによる合成

# レンダラー
renderer = PointsRenderer(rasterizer=rasterizer, compositor=compositor)

# レンダリング実行
images = renderer(point_cloud)
print("Rendered image shape:", images.shape)  # 期待される形: torch.Size([1, 512, 512, 3])

Rendered image shape: torch.Size([1, 512, 512, 3])

Discussion