xhwNobody / yolov5_prune_sfp

91 stars 15 forks source link

您好,发现一个get_small_model.py中模型维度不一致导致的报错 #6

Open dylanlb opened 3 years ago

dylanlb commented 3 years ago

您的代码在train_prune_sfp中的m.init_mask(0.7, 3, 202, True)这一行设定了剪枝最深到202层,202之后的模型neck部分不进行剪枝,但是在get_small_model.py中small_model构建的时候neck却要剪枝:self.neck_self = neck(prune_rate),这样模型维度不一致导致执行small_model.load_state_dict(small_state_dict)这一行时报错

dylanlb commented 3 years ago

希望有空可以修复这个问题

xhwNobody commented 3 years ago

您的代码在train_prune_sfp中的m.init_mask(0.7, 3, 202, True)这一行设定了剪枝最深到202层,202之后的模型neck部分不进行剪枝,但是在get_small_model.py中small_model构建的时候neck却要剪枝:self.neck_self = neck(prune_rate),这样模型维度不一致导致执行small_model.load_state_dict(small_state_dict)这一行时报错

请问这是在运行哪个代码报的错?

Hassan686 commented 3 years ago

您的代码在train_prune_sfp中的m.init_mask(0.7, 3, 202, True)这一行设定了剪枝最深到202层,202之后的模型neck部分不进行剪枝,但是在get_small_model.py中small_model构建的时候neck却要剪枝:self.neck_self = neck(prune_rate),这样模型维度不一致导致执行small_model.load_state_dict(small_state_dict)这一行时报错

请问这是在运行哪个代码报的错?

运行get_small_model.py时候会报错,ncek的维度不匹配

wyzwyzzzzz commented 2 years ago

您好,我也遇到了这个问题,请问应该怎么解决呢

martinkeith commented 2 years ago

您的代码在train_prune_sfp中的m.init_mask(0.7, 3, 202, True)这一行设定了剪枝最深到202层,202之后的模型neck部分不进行剪枝,但是在get_small_model.py中small_model构建的时候neck却要剪枝:self.neck_self = neck(prune_rate),这样模型维度不一致导致执行small_model.load_state_dict(small_state_dict)这一行时报错

请问这是在运行哪个代码报的错?

small_model_mod.py的29行:self.neck_self = neck(self.prune_rate)

请问各位有解决这个问题的办法吗?