shenyunhang / APE

[CVPR 2024] Aligning and Prompting Everything All at Once for Universal Visual Perception
https://arxiv.org/abs/2312.02153
Apache License 2.0
459 stars 28 forks source link

模型的Infer #30

Open XiongRui020325 opened 3 months ago

XiongRui020325 commented 3 months ago

image 请问这一步可以直接用在自己的处理成coco格式的数据集上吗?应该怎么操作啊?

shenyunhang commented 3 months ago

可以用自己的数据集。 我们一直使用detectron2的数据接口,可以参考detectron2的文档

XiongRui020325 commented 3 months ago

可以用自己的数据集。 我们一直使用detectron2的数据接口,可以参考detectron2的文档

请问在detectron2中注册自定义数据集时,通过在yaml配置文件中设置如下的参数可以指定需要进行推理评估的数据集和数据集的分类数目,在APE模型中应该如何设置这些参数? DATASETS: TRAIN: ("my_dataset_train",) TEST: ("my_dataset_val",) MODEL: RETINANET: NUM_CLASSES: 1 ROI_HEADS: NUM_CLASSES: 1 SEM_SEG_HEAD: NUM_CLASSES: 1 我在configs/COCO_InstanceSegmentation/ape_deta/ape_deta_vitl_eva02_clip_vlf_lsj1024_cp_12ep.py文件中添加了如下参数,但是看起来这是错的,因为报错如下: image image

shenyunhang commented 3 months ago

还有些配置也需要进行修改,可以试试加入以下配置:

model.model_vision.dataset_prompts = ["name",]
model.model_vision.dataset_names = ["cvppp_coco",]
model.model_vision.dataset_metas = dataloader.train.dataset.names

model.model_vision.num_classes = 1
model.model_vision.criterion[0].num_classes = 1
model.model_vision.select_box_nums_for_evaluation = 300
model.model_vision.select_box_nums_for_evaluation_list = [300,]
XiongRui020325 commented 3 months ago

还有些配置也需要进行修改,可以试试加入以下配置:

model.model_vision.dataset_prompts = ["name",]
model.model_vision.dataset_names = ["cvppp_coco",]
model.model_vision.dataset_metas = dataloader.train.dataset.names

model.model_vision.num_classes = 1
model.model_vision.criterion[0].num_classes = 1
model.model_vision.select_box_nums_for_evaluation = 300
model.model_vision.select_box_nums_for_evaluation_list = [300,]

非常感谢!已经将配置参数修改为了如下图片,现在看起来注册数据集已经没有问题了,但是随之又出现了以下log.txt文件中的错误,我使用的是两张RTX 3090,其他依赖的版本都是正确的,请问会是什么配置参数非法? image log.txt

shenyunhang commented 3 months ago

看不出来是什么原因。 可以试着在这一行下面把模型转到fp16进行推理

model.to(cfg.train.device)        
model.to(torch.float16) # 添加这一行
model = create_ddp_model(model)
XiongRui020325 commented 3 months ago

看不出来是什么原因。 可以试着在这一行下面把模型转到fp16进行推理

model.to(cfg.train.device)        
model.to(torch.float16) # 添加这一行
model = create_ddp_model(model)

非常感谢,原因是我在注册数据集时thing_classes没有注册上,传了None值导致的CUDA参数错误,目前推理已经成功,非常感谢!

XiongRui020325 commented 2 months ago

看不出来是什么原因。 可以试着在这一行下面把模型转到fp16进行推理

model.to(cfg.train.device)        
model.to(torch.float16) # 添加这一行
model = create_ddp_model(model)

想问下这个大模型的参数量是什么级别的?大概多少参数?

shenyunhang commented 2 months ago

L级别的大概是300M参数。 我们也在尝试训练E级别的模型,6B参数。