shaofeifei11 / SSDR-AL

Active Learning for Point Cloud Semantic Segmentation via Spatial-Structural Diversity Reasoning
22 stars 5 forks source link

关于Semantic3D代码的一些问题? #3

Open co-br opened 1 year ago

co-br commented 1 year ago

您好!

我修改了run_semantic3d_0.012.sh内容为:

reg_strength=0.012
python -u ssdr_create_seed.py --gpu 3 --dataset semantic3d --seed_percent 0.008 --reg_strength ${reg_strength} >> record/semantic3d_ssdr_log_seed_${reg_strength}_2.txt 2>&1  # 4468
python -u ssdr_main_semantic3d.py --dataset semantic3d --reg_strength ${reg_strength} --t 4 --gpu 3 --round 2 --sampler T --point_uncertainty_mode sb --classbal 2 --gcn_fps 1 --uncertainty_mode WetSU --oracle_mode NAIL --threshold 0.9 --min_size 5  >> record/semantic3d_ssdr_log_t4-sb-clsbal-gcn_fps-WetSU-NAIL-0.9-5_${reg_strength}.txt 2>&1 

然后进行了实验出现了错误:

No such file or directory: '/data/Semantic3D/0.012/sampling/t4-sb-clsbal-gcn_fps-WetSU-NAIL-0.9-5/round_2/bildstein_station1_xyz_intensity_rgb.gt'

发现似乎是因为您的ssdr_main_semantic3d.py文件中下面代码(129,130行)造成的

            if r == 2 and "gcn_fps" in sampler_args and "NAIL" in sampler_args:
                pass

去掉这个后,为了设置每次clicks的数目为3000,修改了该文件中的121行代码,修改内容为:sp_batch_size=3000。继续实验发现与round1的40%mIOU性能相比,round2的性能只有20%mIOU,请问是哪里给改错了。

期待您的解疑,谢谢!

co-br commented 1 year ago

不好意思打扰了,已经解决了!

shaofeifei11 commented 1 year ago

不好意思,没注意邮箱消息,回复晚了。后续如果还有问题,欢迎再提问

zengxinran commented 7 months ago

@shaofeifei11 @co-br 您好,我也出现了这样的错误,请问是怎么解决的呢? 期待您的解疑,谢谢!

shaofeifei11 commented 7 months ago

您好,请问您的问题是文件找不到,还是round2的效果比round1差?

zengxinran commented 7 months ago

您好,是文件找不到的问题

shaofeifei11 commented 7 months ago

如果是文件找不到的话,那问题应该不大。您可以排查一下,是哪句话报文件找不到,然后去项目目录中检查一下是否缺文件,还有检查一下是否训练超参数改变导致if语句判断引起的?

zengxinran commented 7 months ago

您好,我查看是由于下方的这个pass引起的,

 if r == 2 and "gcn_fps" in sampler_args and "NAIL" in sampler_args:
     pass

请问为什么这里不做操作,而不是执行下述操作呢?

Sampler.sampling(model=model, batch_size=sp_batch_size, last_round=r-1, w=w, threshold=threshold, gcn_gpu=1)
labeling_region_num = w["sp_num"] + w["split_sp_num"]
labeling_point_num = w["p_num"] + w["sub_p_num"] 
log_out("round= " + str(r) + " |                labeling mean point=" + str(labeling_point_num / labeling_region_num) + get_w(w) + ", costTime=" + str(time.time() - begin_time),round_result_file)
shaofeifei11 commented 7 months ago

您将下面代码注释掉,是否就可以正常运行了?

if r == 2 and "gcn_fps" in sampler_args and "NAIL" in sampler_args: pass

zengxinran commented 7 months ago

您好,我注释掉之后就可以正常运行了

shaofeifei11 commented 7 months ago

好的。那段话,可能是我之前调试时加上,后来忘记删除了。Good luck for you!

zengxinran commented 7 months ago

好的,非常感谢您的解答