zqhang / AnomalyCLIP

Official implementation for AnomalyCLIP (ICLR 2024)
MIT License
239 stars 25 forks source link

ISIC数据集 #36

Open RanKorol opened 1 month ago

RanKorol commented 1 month ago

您好作者大大,请教一个问题,ISIC数据集只有异常类别没有正常类别,运行测试代码时报错,Only one class present in y_true. ROC AUC score is not defined in that case ,这种只有一个类别的数据集应该怎样调整代码

zqhang commented 1 month ago

把image-level的metric都去掉,只保留pixel-level的

RanKorol commented 1 month ago

谢谢我试试哈

RanKorol commented 1 month ago

上面的问题已经解决了,谢谢作者,想问下 br35还有covid数据集可以分享下吗,链接里的和代码对应的格式不一样

zqhang commented 1 month ago

我在readme更新了google云盘的链接

LJK12581 commented 1 month ago

谢谢我试试哈 你好!请问您具体在那个文件里修改的代码?我看到你运行成功了,所以来咨询你

LJK12581 commented 1 month ago

您好作者大大,请教一个问题,ISIC数据集只有异常类别没有正常类别,运行测试代码时报错,Only one class present in y_true. ROC AUC score is not defined in that case ,这种只有一个类别的数据集应该怎样调整代码

而且我看到作者大大提供的ISIC的数据集下来就只有一些图片,那请问这个数据集应该如何设置?isbi.py文件又该如何改写?

zqhang commented 1 month ago

在generate_dataset_json文件下有,是isbi.py

LJK12581 commented 1 month ago

在generate_dataset_json文件下有,是isbi.py

亲爱的作者大大您好,您的意思是在isbi.py里面“把image-level的metric都去掉,只保留pixel-level的”吗?

zqhang commented 1 month ago

isbi.py是用来生成对应的json文件让模型能够读取样本。在测试isbi的时候,你只要把test.py里的metric参数改成pixel-level就可以了。

LJK12581 commented 1 month ago

isbi.py是用来生成对应的json文件让模型能够读取样本。在测试isbi的时候,你只要把test.py里的metric参数改成pixel-level就可以了。

好的好的,感谢您的回复!!

LJK12581 commented 1 month ago

作者你好,根据您的提示,通过您所说的:“把image-level的metric都去掉,只保留pixel-level的”的操作,我修改test.py文件,顺利对ISIC数据集进行了测试,没有显示上文所说的Only one class present in y_true. ROC AUC score is not defined in that case 并取得了结果。但是我想要对磁砖表面缺陷数据集测试时,在我使用修改后的test.py文件(即测试ISIC皮肤病变数据集没问题)测试该数据集时,又出现了Only one class present in y_true. ROC AUC score is not defined in that case的问题。这个磁砖表面缺陷的数据集如下,类似于ISIC数据集一样仅有测试集且测试集中仅有异常样本和异常样本的ground_truth,我也是按照ISIC的生成json的文件写了生成磁瓦数据集的生成json文件。只不过ISIC数据集仅有“skin”一个类别,而磁瓦数据集有六个类别,我几次修改代码仍然无法避免错误,请您分析下可能的原因是什么? 下面两张图片上分别是磁瓦数据集部分展示以及我成功测试ISIC数据集的图片。 image image

zqhang commented 1 month ago

如果你有多个类别的话,最简单的方法就是把你的瓷片数据集按照mvtec AD的文件结构改一下。但是,我建议你还是花点时间把这个json的逻辑弄明白。