最完整LaMa模型部署指南:本地环境与Docker容器实操
最完整LaMa模型部署指南:本地环境与Docker容器实操
【免费下载链接】lama 项目地址: https://gitcode.com/gh_mirrors/lam/lama
你是否还在为AI图像修复模型部署流程复杂而困扰?是否想快速搭建LaMa(Large Mask Inpainting with Fourier Convolutions)模型的本地运行环境或Docker容器?本文将通过两种方案,帮助你在15分钟内完成从环境配置到模型推理的全流程,即使是新手也能轻松上手。读完本文,你将掌握:本地Python虚拟环境部署、Docker容器化部署两种方案,预训练模型下载与验证方法,以及常见错误排查技巧。
环境准备与依赖安装
本地环境配置
LaMa项目支持Python虚拟环境和Conda两种本地部署方式。Python虚拟环境方案轻量灵活,适合熟悉Python包管理的用户。首先克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/lam/lama
cd lama
创建并激活虚拟环境,安装核心依赖:
virtualenv inpenv --python=/usr/bin/python3
source inpenv/bin/activate
pip install torch==1.8.0 torchvision==0.9.0
pip install -r requirements.txt
requirements.txt文件中包含了项目所需的全部Python依赖,如PyYAML、NumPy、OpenCV等,确保安装过程中网络通畅。若使用Conda环境,可通过项目提供的conda_env.yml文件一键创建环境:
conda env create -f conda_env.yml
conda activate lama
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch -y
Docker环境准备
Docker方案适合追求环境隔离和快速部署的用户。项目根目录下的docker文件夹提供了完整的容器化配置,包括Dockerfile和Dockerfile-cuda111(支持CUDA 11.1)。确保本地已安装Docker和Docker Compose,无需手动安装依赖,容器构建过程中会自动处理。
预训练模型下载与配置
模型下载
LaMa官方提供了多个预训练模型,其中性能最佳的是基于Places2和Places Challenge数据集训练的"big-lama"模型。通过以下命令下载并解压:
curl -LJO https://huggingface.co/smartywu/big-lama/resolve/main/big-lama.zip
unzip big-lama.zip
若需下载全部模型(包括Places和CelebA-HQ数据集上训练的版本),可通过项目提供的脚本获取:
# 需将链接替换为国内可访问地址
bash fetch_data/places_challenge_train_download.sh
模型配置
下载完成后,模型文件位于项目根目录下的"big-lama"文件夹中。部署前需确认模型配置文件路径是否正确,核心配置文件为configs/prediction/default.yaml,可根据实际需求调整图像后缀、输入输出路径等参数:
dataset:
img_suffix: .png # 输入图像后缀
model:
path: ./big-lama # 模型路径
本地环境部署步骤
数据准备
部署前需准备测试图像和掩码(Mask)文件。项目提供了测试图像下载脚本,或手动创建符合格式要求的图像对:
# 下载官方测试图像
unzip LaMa_test_images.zip
图像和掩码文件需放在同一目录,掩码文件命名格式为"[图像名]_maskXXX[后缀]",例如"image1_mask001.png"和"image1.png"配对。可使用项目提供的掩码生成工具批量创建掩码:
python3 bin/gen_mask_dataset.py configs/data_gen/random_medium_512.yaml input_dir output_dir --ext png
模型推理
设置环境变量并执行推理命令:
export TORCH_HOME=$(pwd) && export PYTHONPATH=$(pwd)
python3 bin/predict.py model.path=$(pwd)/big-lama indir=$(pwd)/LaMa_test_images outdir=$(pwd)/output
推理结果将保存在"output"目录中。若需启用GPU加速,确保CUDA环境配置正确,命令会自动检测并使用可用GPU。如需进行结果优化,可添加"refine=True"参数启用 refinement 模式:
python3 bin/predict.py refine=True model.path=$(pwd)/big-lama indir=$(pwd)/LaMa_test_images outdir=$(pwd)/output_refine
Docker容器部署步骤
容器构建
进入项目根目录,使用Dockerfile构建镜像:
cd docker
docker build -t lama-inpainting -f Dockerfile .
若需支持CUDA,使用CUDA版本的Dockerfile:
docker build -t lama-inpainting-cuda -f Dockerfile-cuda111 .
容器运行
使用项目提供的2_predict_with_gpu.sh脚本快速启动容器推理,需指定模型目录、输入目录、输出目录:
bash docker/2_predict_with_gpu.sh $(pwd)/big-lama $(pwd)/LaMa_test_images $(pwd)/docker_output
脚本内部已包含容器运行参数,包括目录挂载、GPU资源分配等:
docker run \
-v "$SRCDIR":/home/user/project \
-v "$MODEL_LOCAL_DIR":/data/checkpoint \
-v "$INPUT_LOCAL_DIR":/data/input \
-v "$OUTPUT_LOCAL_DIR":/data/output \
--gpus all \
--rm \
windj007/lama \
/home/user/project/bin/predict.py \
model.path=/data/checkpoint \
indir=/data/input \
outdir=/data/output
模型验证与效果展示
推理结果验证
推理完成后,输出目录中会生成修复后的图像。可通过可视化工具对比原图、掩码和修复结果,评估模型效果。项目提供了评估脚本,可计算FID、LPIPS、SSIM等指标:
python3 bin/evaluate_predicts.py configs/eval2_gpu.yaml input_dir output_dir metrics.csv
效果对比
以下为使用LaMa模型修复的示例效果(需替换为实际图像路径):
左图为原始图像与掩码,右图为修复结果。LaMa模型在处理大尺寸掩码和周期性结构时表现尤为出色,细节还原度高。
常见问题与解决方案
依赖冲突
问题:安装依赖时出现版本冲突,如PyTorch与CUDA版本不匹配。
解决方案:参考conda_env.yml文件中的版本信息,或使用Docker方案避免环境干扰。
模型推理速度慢
问题:CPU推理速度慢,GPU未被调用。
解决方案:确认CUDA环境变量配置正确,执行nvidia-smi检查GPU是否可用,Docker部署时添加--gpus all参数。
掩码文件格式错误
问题:推理时报"找不到掩码文件"错误。
解决方案:确保掩码文件命名符合"[图像名]_maskXXX[后缀]"格式,且与原图放在同一目录,可通过mask.py脚本验证掩码格式。
总结与扩展
本文详细介绍了LaMa模型的两种部署方案,本地环境适合开发调试,Docker容器适合生产环境。通过合理选择部署方案,可快速搭建高性能图像修复系统。后续可探索模型微调、自定义数据集训练等高级功能,项目提供了完整的训练脚本和配置文件:
# 训练命令示例
python3 bin/train.py -cn lama-fourier location=places_standard
更多高级用法可参考项目README.md和官方文档,如有问题可通过GitHub Issues获取社区支持。
更多推荐

所有评论(0)