为了读懂程序,有三个最重要的文件夹,如下图:
正好对应四个类,如下图:
三个类的来源如下图所示:
注意,MVTec是个大类,里面用到了这里的第四个类MVTecDataset,代码如下。
class MVTec(AnomalibDataModule):"""MVTec Datamodule.
。。。省略self.train_data = MVTecDataset(task=task,transform=transform_train,split=Split.TRAIN,root=root,category=category,)self.test_data = MVTecDataset(task=task,transform=transform_eval,split=Split.TEST,root=root,category=category,)
而这个MVTecDataset的父类,就是AnomalibDataset,
AnomalibDataset可了不得,里面就有一个著名的子函数:__getitem__