PhysicsNeMo 環境構築

PhysicsNeMo
  • PhysicsNeMo のインストール方法

対象読者

  • 機械学習による物理シミュレーションの高速化に取り組んでいる人・興味がある人
  • CAE従事者で、計算時間や解析の設定難易度に課題を感じている人

PhysicsNeMo 環境構築

PhysicsNeMo の公式ドキュメントを見ると、pipによるインストール方法とDockerによるインストール方法が紹介されている。

今回は、pipを使ってPhysicsNeMoをインストールしてみる。

pytorchのインストール

PhysicsNeMoはpytorchベースの環境であるから、インストール前にpytorchのインストールをする必要がある。

pytorchのインストール方法は簡単で、

  1. nvidia-smiで、CUDAのverを調べる
  2. 公式サイトから、CUDAのverにあったpytorchのインストールコマンドをコピーする
    (自身のCUDAのver以下であればよい。)
  3. ターミナルで、そのコマンドを入力し、インストールする

それなりに時間はかかるので、焦らないこと。

仮想環境を作ってからインストールしよう。

PhysicsNeMoのインストール

pytorchのインストールが完了したら、PhysicsNeMoをインストールする。下記のコマンドをターミナルで実行するだけ。

pip install nvidia-physicsnemo

これで、PhysicsNeMoの標準的なライブラリは、インストールできる。

その他の依存ライブラリも同時にインストールしたい場合は、

pip install nvidia-physicsnemo[all]

でインストールできるが、必要な時に随時インストールしても良い。

Q
torch_scatter というライブラリがうまくインストールできません。
A

依存ライブラリの torch_scatter について、python 3.12 環境では、ビルドにコンパイラが必要である(2025年8月14日時点)。コンパイラを準備するか、pythonをダウングレードしよう。また、すべてのモデルでこのライブラリが必要ではないので、必要な時になったらインストールしよう。

実行確認

最後に、PhysicsNeMoが正しくインストールできているか確認するために、サンプルコードを動かしてみる。

import torch
print("PyTorch:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
print("CUDA version (built):", torch.version.cuda)
if torch.cuda.is_available():
    print("Device count:", torch.cuda.device_count())
    print("Device name 0:", torch.cuda.get_device_name(0))

# ここから physicsnemo のモデルで実際に試す
from physicsnemo.models.mlp.fully_connected import FullyConnected

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = FullyConnected(in_features=32, out_features=64).to(device)

x = torch.randn(128, 32, device=device)

with torch.inference_mode():
    y = model(x)

print("output shape:", y.shape)
print("model device:", next(model.parameters()).device)
print("tensor device:", y.device)
print("is CUDA tensor:", y.is_cuda)

下記の様に出力が出れば成功だ。もしエラーが出る場合は、pytorch系のエラーが多いと思うので、もう一度pytorchのインストールを見直してみよう。

PyTorch: 2.8.0+cu129
CUDA available: True
CUDA version (built): 12.9
Device count: 1
Device name 0: NVIDIA GeForce RTX 5070
output shape: torch.Size([128, 64])
model device: cuda:0
tensor device: cuda:0
is CUDA tensor: True

まとめ

PhysicsNeMoの環境を構築するには、以下の手順を踏めばよい

  1. pytorchのインストール
  2. PhysicsNeMoのインストール

今回は、実際にインストールできたかPhysicsNeMoのサンプルコードを使って確認した。

実際のモデルの構築方法やメソッドの説明は別記事を参照してほしい。

コメント

タイトルとURLをコピーしました