在上一篇文章中,我在Win11上通过Docker配置了pytorch,并顺利调用了GPU。在这篇文章中,我将继续完成anomalib的配置。 anomalib是一个非常完善的异常检测框架,我希望通过它来学习经典异常检测算法,并且测试这些算法在我自己的数据集上的效果。
步骤如下:
1. 从docker Hub上拉取pytorch2.3的镜像。上一篇文章中我拉取的是1.13,但经过查看anomalib的文档发现,anomalib最新版本要求torch>2。
2. 进入到镜像中,安装git
apt-get update
apt-get install -y git
3. 克隆anomalib仓库
4. 打开vscode,连接到docker容器。
5. 运行测试代码。其实在anomalib/notebooks中提供了jupyter示例代码,但我的vscode提示不能在远程容器中运行jupyter,只能够运行py文件,所以我就创建了一个测试代码。
# Import the required modules
from anomalib.data import MVTec
from anomalib.models import Patchcore
from anomalib.engine import Engine
# Initialize the datamodule, model and engine
datamodule = MVTec()
model = Patchcore()
engine = Engine()
# Train the model
engine.fit(datamodule=datamodule, model=model)
5. 安装软件。初次代码运行会报错,提示缺少一些lib,根据报错提示很容易就能搜索到缺失的软件,将这些软件安装好就可以正常运行了。
6. 顺利运行。可以看到已经顺利的调用了GPU进行模型训练了。当然这个代码只是一个比较简单的测试代码,用来检查anomalib是否正确配置了。
关于数据集:anomalib会自动下载数据集和模型,但MVTec数据集还是比较大的,我们也可以自己下载好数据,然后把它解压到anomalib/datasets/MVTec路径,这样就不需要在运行代码时下载了。我是从MVTec的官网自行下载的。
小总结:使用windows+docker的方案还是很舒服的,可以在运行代码期间继续日常工作,比完全使用ubuntu更加的适合我。相比于在windows上配置anomalib也更加的方便,既不用担心系统问题导致代码运行不正常,还可以配置多种duda和pytorch版本,非常的好用!