ローカル環境のLamaCleanerを構築して実際に利用してみました。
今回はGPUが搭載されたAzureVM(WindowsOS)を利用して構築しています。
また、GPUを利用せずにCPUを利用してLamaCleanerを実行する方法もまとめています。
0.LamaCleanerとは
消しゴムマジックのような機能を持った、オブジェクトの削除に特化した画像編集のソフトウェアです。
左の画像を右のように修正できます。


今回はこの LamaCleaner をローカル環境で利用できるようにしていきます。
1.環境準備
1-1. VM構築
VMは以下のコマンドで作成します。
リソースグループやVnetも合わせて作成します。
パブリックIPやNATGWなどは必要に応じて追加してください。
OSは WindowsServer2025 、VMサイズは Standard_NC4as_T4_v3 を選択しています。
$rg_name = "rg-test-001"
$location = "japaneast"
$vnet_name = "vnet-test-001"
$vnet_address = "10.0.0.0/24"
$subnet_name = "subnet-test-001"
$subnet_address ="10.0.0.0/26"
$nsg_subnet_name = "nsg-subnet-test-001"
$nic_vm_name = "nic-vm-test-001"
$vm_name = "vm-test-001"
$vm_image_urn = "MicrosoftWindowsServer:WindowsServer:2025-datacenter-g2:26100.7462.251206"
$vm_size = "Standard_NC4as_T4_v3"
$vm_authtype = "password"
$vm_adminname = "xxxxxxxx"
# リソースグループ
az group create `
-l $location `
-g $rg_name
# 仮想ネットワーク
az network vnet create `
-n $vnet_name `
-g $rg_name `
-l $location `
--address-prefix $vnet_address `
--subnet-name $subnet_name `
--subnet-prefix $subnet_address
# NSG(サブネット用)
az network nsg create `
-n $nsg_subnet_name `
-g $rg_name
# NSGをサブネットと連携
az network vnet subnet update `
-g $rg_name `
-n $subnet_name `
--vnet-name $vnet_name `
--network-security-group $nsg_subnet_name
# ネットワークインターフェース
az network nic create `
-n $nic_vm_name `
-g $rg_name `
--vnet-name $vnet_name `
--subnet $subnet_name
# 仮想マシン
az vm create `
-n $vm_name `
-g $rg_name `
--nics $nic_vm_name `
--image $vm_image_urn `
--size $vm_size `
--os-disk-size-gb 256 `
--enable-secure-boot "false" `
--security-type "Standard" `
--authentication-type $vm_authtype `
--admin-username $vm_adminname
もし、–security-type の部分でエラーが出た場合には、UseStandardSecurityType の登録ができていない可能性があるので以下のコマンドで登録してから再度実行してみてください。
# UseStandardSecurityType の登録
az feature register --namespace Microsoft.Compute --name UseStandardSecurityType
# 登録状況の確認(Registered になっていればOK)
az feature show --namespace Microsoft.Compute --name UseStandardSecurityType --query properties.state -o tsv1-2.OS内設定(日本語化/GPUドライバ)
OS内の設定をしていきます。
1-2-1.日本語化
日本語化は以下を参考にして、必要であれば実施してください。
日本語化せずともLamaCleanerは起動できます。
1-2-2.NVIDIA GRID/vGPU ドライバーのインストール
以下の記事を見るとVMの拡張機能をインストールすることでできそうなのですが、実際にやってみるとうまくいかなかったので今回は手動でインストールしていきます。

といっても↑のページに手動でのインストール方法があるのでその通りに実施するだけです。
「NVIDIA GRID/vGPU ドライバー」の項目の「24H2 までの Windows 11 (24H2 を含む)、22H2 までの Windows 10 (22H2 を含む)、Server 2022:」と記載ある部分のGRIDのexeファイルをダウンロードして、インストールします。(20260107時点)
Server2025の記載はここにはありませんが、ダウンロードしたファイル名に2025も含まれているのでおそらく大丈夫です。
インストールオプションは「推奨」を選択します。

インストールしたらVMを再起動します。
[参考] NVIDIA GRID/vGPU ドライバーのインストール前後の状態
ちなみに、GPUドライバーをインストールする前ではタスクマネージャーにもGPUの表示はなく、nvida-smi のコマンドも実行できない状態です。
●インストール前の状態

PS C:> nvidia-smi
nvidia-smi : The term 'nvidia-smi' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ nvidia-smi
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (nvidia-smi:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundExceptionCategoryInfo : ObjectNotFound: (nvidia-smi:String) [], CommandNotFoundException
PS C:>しかし、インストール後には以下のようにGPUの表示が追加され、コマンドも実行できるようになります。
●インストール後の状態

PS C:> nvidia-smi
Wed Jan 7 13:40:10 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 573.76 Driver Version: 573.76 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 WDDM | 00000001:00:00.0 Off | Off |
| N/A 35C P8 14W / 70W | 218MiB / 16384MiB | 2% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1156 C+G C:\Windows\System32\LogonUI.exe N/A |
| 0 N/A N/A 1164 C+G C:\Windows\System32\dwm.exe N/A |
| 0 N/A N/A 2504 C+G C:\Windows\System32\WUDFHost.exe N/A |
| 0 N/A N/A 4584 C+G ...yb3d8bbwe\WindowsTerminal.exe N/A |
| 0 N/A N/A 5144 C+G C:\Windows\System32\dwm.exe N/A |
| 0 N/A N/A 6912 C+G C:\Windows\explorer.exe N/A |
| 0 N/A N/A 6932 C+G ...indows\System32\ShellHost.exe N/A |
| 0 N/A N/A 6988 C+G ...p\Systray\AzureArcSysTray.exe N/A |
| 0 N/A N/A 7312 C+G ...xyewy\ShellExperienceHost.exe N/A |
| 0 N/A N/A 7352 C+G ..._cw5n1h2txyewy\SearchHost.exe N/A |
| 0 N/A N/A 7360 C+G ...y\StartMenuExperienceHost.exe N/A |
+-----------------------------------------------------------------------------------------+Memory-Usage も218MiBとなっていますし、Processes: も記載があるのでGPUが利用されていることが分かります。
これでGPUも利用できる状態になったので、LamaCleanerをインストールする環境準備が整いました。
またここで表示される CUDA Version: はメモしておいてください。
今回は CUDA Version: 12.8 と表示されているので、GPU ドライバがサポートしている CUDA の最大バージョンは12.8となります。
なので、このあとインストールする CUDA toolkit も 12.8 以下のものを選択することになります。
2.LamaCleanerの構築
2-1.Pythonのインストール
最初にPythonをインストールします。
以下の公式サイトからダウンロードできますが、今回は 3.10.11 をインストールします。
※今時点(2026/1/7)での最新版は3.13.xxですが、試してみたところ、3.12や3.11ではエラーが起きたので、動くバージョンを選択しています。

インストーラを起動して出てくる最初のダイアログボックスで、「Add python.exe to PATH」をオンにして、PATHを通しておくことを忘れずにしましょう。
[参考] 3.12と3.11でLamaCleanerをインストールするとエラーとなる
Python 3.12.10を入れた状態でLamaCleanerをインストールすると以下のエラーが出て、LamaCleanerをインストールできませんでした。
ERROR: Failed building wheel for tokenizers
Python 3.11.9 を入れた状態ではLamaCleanerをインストールすることはできましたが、LamaCleanerを起動する際に以下のエラーが出て起動できませんでした
OSError: [WinError 1114] A dynamic link library (DLL) initialization routine failed.
3.10.xxを利用しましょう。
2-2.CUDA Toolkitのインストール
先ほど nvidia-smi のコマンドで確認したように、12.8以下のバージョンをインストールします。
今回は12.8以下のバージョンの中で一番新しい 12.8.0 をインストールします。

以下のようにOSやバージョンを選択して、インストーラーをダウンロードしてインストールします。

インストール時のオプションは「高速(推奨)」を選択します。
[参考] PyTorch の対応バージョンについて
結論、PyTorchのインストールコマンドで指定するCUDAのバージョンとCUDATookitのバージョンはあまり関係ないと思います。
※正確にはよくわかりませんが、PyTorchではcu121を指定してインストールしないと起動できませんでした。
今回も、CUDATookitのバージョンは 12.8.0 ですが、PyTorchのコマンドは cu121 を実行しています。
仮想環境内でインストールする PyTorch の対応するCUDAのバージョンに合わせる必要があると思ったので、PyTorch が対応している CUDAのバージョンを調べました。
以下のサイトから PyTorch をインストールするコマンドを取得できますが、その際に選択できる(対応している)CUDAのバージョンがあるので確認したところ、


今時点(2026/1/7)でのPyTorchの対応しているCUDAToolkitは 12.6~13.0 のように見えますが、これのどれを選択しても、LamaCleaner起動時にエラーとなり、起動することができませんでした。
エラーも以下のようなDLLのエラーであり、どうしようもない感じでした。
OSError: [WinError 1114] A dynamic link library (DLL) initialization routine failed.
2-3.仮想環境の作成(venvの作成)~LamaCleanerのインストール
LamaCleaner用のフォルダを用意し、その中に仮想環境を作成します。
以下コマンドをPowershellで実行していきます。
$UserName = $env:UserName
# デスクトップに移動
cd /Users/$UserName/Desktop
# フォルダの作成と移動
mkdir LamaCleaner
cd ./LamaCleaner
# 仮想環境の作成
python -m venv venv_lama
# 仮想環境のアクティベート
venv_lama\Scripts\Activate.ps1
# pipコマンドのインストール
python -m pip install --upgrade pip setuptoolspipコマンドのインストール後に以下の出力が出ますが、警告なので無視して進めてOKです。
WARNING: There was an error checking the latest version of pip.
ここで再度 PyTorchの公式サイト に行き、インストールコマンドを取得して実行したいところですが上述した通り、CUDA12.6,12.8.13.0 のコマンドではLamaCleanerの起動時にエラーとなり起動できませんでした。
なので、末尾が cu121 となるようにして以下のコマンドを実行します。(これだとLamaCleanerが起動できます)
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu121実行完了まで5,6分ほどかかります。
最後にLamaCleanerをインストールします。
# LamaCleanerのインストール
pip install lama-cleanerこれも3,4分かかります。
これで完了、と言いたいところですが、この状態でLamaCleanerのを起動するとエラーが出るので2つの処理を先に実施します。
2-3-1.依存関係のエラー回避
そのまま起動すると、まず以下のような依存関係のエラーが出ます。
ImportError: cannot import name 'cached_download' from 'huggingface_hub'
解決方法としては、バージョンを変更すれば解決するので、以下のコマンドでバージョンを変更します。
pip uninstall huggingface_hub -y
pip install huggingface_hub==0.13.4インストール時に以下のエラーが出ますが、LamaCleanerの起動に影響はないので無視してOKです。
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
gradio 6.2.0 requires huggingface-hub<2.0,>=0.33.5, but you have huggingface-hub 0.13.4 which is incompatible.
gradio-client 2.0.2 requires huggingface-hub<2.0,>=0.19.3, but you have huggingface-hub 0.13.4 which is incompatible.
2-3-2.SSL関連のエラー回避
上記の依存関係を修復しても今度はSSL関連のエラーが出ます。
SSL: CERTIFICATE_VERIFY_FAILED
unable to get local issuer certificate
ただ、これも簡単に解決でき、 big-lama.pt を手動でフォルダに配置すれば改善できます。
①big-lama.pt をブラウザでダウンロード(URLをたたくとすぐにDLが始まります。)
[https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt]
②以下のフォルダに配置
C:\Users\hogeuser.cache\torch\hub\checkpoints\
フォルダがない場合は作成してください。
mkdir C:\Users\hogeuser.cache\torch\hub\checkpoints\2-4.LamaCleanerの起動
以下のコマンドで起動します。
lama-cleaner --model=lama --device=cuda --port=8080あとは ブラウザで http://127.0.0.1:8080 にアクセスすると利用できます。
3.LamaCleanerを利用する
編集したい画像をドラッグ&ドロップで持っていき、消したいオブジェクトを塗りつぶすだけです。

デフォルトの設定では、塗りつぶしたらすぐに修正されます。
もし、塗りつぶして、一度確認してから修正をかけたい場合には、右上の歯車マークから設定を開き、[Manual Inpainting Mode] をオンにすることで設定変更可能です。

塗りつぶした後には、右下の [消しゴムマーク] を押して修正をかけることが可能になります。
![右下の [消しゴムマーク] を押して修正を実行できる](https://bonjiri-blog.com/wp-content/uploads/create-local-lamacleaner-on-azurevm-008.png)
3-1. 2回目以降の起動方法
仮想環境上でLamaCleanerの起動コマンドを実行するだけです。
$UserName = $env:UserName
# 仮想環境用のフォルダに移動
cd /Users/$UserName/Desktop/LamaCleaner
# 仮想環境のアクティベート
venv_lama\Scripts\Activate.ps1
# LamaCleanerの起動
lama-cleaner --model=lama --device=cuda --port=8080[参考] CPUで実行する場合
LamaCleanerはCPUでも実行できます。
その場合、OS内手順の「GPUドライバーのインストール」と「CUDA Toolkitのインストール」が不要となります。
それ以外の手順は上記と同じで、最後にLamaCleanerの実行コマンドが以下に変わります。
# CPUを利用してLamaCleanerを起動
lama-cleaner --model=lama --device=cpu --port=8080CPUで動かした感想
CPUでも動かすことはできますし、仕上がりもGPU利用時と差異はなかったように思いましたが、GPU利用時よりも処理に時間がかかりました。
今回実施した木を1本消す処理についても、GPUが3秒くらいで終わったのに対して、CPUだと10秒くらいかかりました。
もっと複雑な画像などを編集する場合にはもっと時間がかかることが想定されます。
ただ、GPUが無くても実行できるのは、GPU搭載サーバを用意しなくていいので嬉しいです。


