tensorflow-yolov3 icon indicating copy to clipboard operation
tensorflow-yolov3 copied to clipboard

为什么我训练出的.ckpt文件都很大?有900多M

Open yunyao01 opened this issue 5 years ago • 17 comments

yunyao01 avatar Jun 25 '19 06:06 yunyao01

ME too

CNUyue avatar Jun 26 '19 07:06 CNUyue

ME too

@CNUyue Have you successfully run convert_weight.py with your own dataset?

yunyao01 avatar Jun 27 '19 07:06 yunyao01

NO ,the cur_weights_num != org_weights_num: raise RuntimeError @yunyao01

CNUyue avatar Jun 28 '19 01:06 CNUyue

ME too

我也是900多M

ZH-Lee avatar Jul 01 '19 02:07 ZH-Lee

我也是900多M

那你训练好的文件,可以正常运行convert_weight.py文件吗

yunyao01 avatar Jul 01 '19 02:07 yunyao01

我也是900多M

那你训练好的文件,可以正常运行convert_weight.py文件吗

convert+weight功能是啥?

ZH-Lee avatar Jul 01 '19 03:07 ZH-Lee

我运行convert_weight.py org_weights_num = len(org_weights_mess) cur_weights_num = len(cur_weights_mess) 这两个参数总是不相等 在config.py中修改 #__C.YOLO.ORIGINAL_WEIGHT = "./checkpoint/yolov3_coco.ckpt" __C.YOLO.ORIGINAL_WEIGHT = "./checkpoint/yolov3_test_loss=8.0376.ckpt-30" #__C.YOLO.DEMO_WEIGHT = "./checkpoint/yolov3_coco_demo.ckpt" __C.YOLO.DEMO_WEIGHT = "./checkpoint/yolov3_test_loss=8.0376.ckpt-30" 也没用,你是这个问题吗? @yunyao01

CNUyue avatar Jul 01 '19 03:07 CNUyue

我运行convert_weight.py org_weights_num = len(org_weights_mess) cur_weights_num = len(cur_weights_mess) 这两个参数总是不相等 在config.py中修改 #__C.YOLO.ORIGINAL_WEIGHT = "./checkpoint/yolov3_coco.ckpt" __C.YOLO.ORIGINAL_WEIGHT = "./checkpoint/yolov3_test_loss=8.0376.ckpt-30" #__C.YOLO.DEMO_WEIGHT = "./checkpoint/yolov3_coco_demo.ckpt" __C.YOLO.DEMO_WEIGHT = "./checkpoint/yolov3_test_loss=8.0376.ckpt-30" 也没用,你是这个问题吗? @yunyao01 是的

yunyao01 avatar Jul 03 '19 07:07 yunyao01

我也是900多,请问有解决方法了吗

songzhezhu avatar Jul 10 '19 11:07 songzhezhu

你们把train.py中的107, 108, 109行代码移到79行代码的上方再试试

StrongBirds avatar Jul 25 '19 05:07 StrongBirds

请问解决了吗

jiaerwang0328 avatar Sep 05 '19 00:09 jiaerwang0328

之所以有900M,是因为tf.train.ExponentialMovingAverage()这个函数,它会是生成等量的tf.trainable_variable(),保存到tf.global_variables(),而ckpt保存的主要是tf.trainable_variable(还有untrainable,但太小),所以ckpt的大小会翻倍; 要想变小,可以注释掉train.py的79、80行以及对应的moving_ave ,那ckpt会降到400多,这也就是@StrongBirds 可行的原因;至于tf.train.ExponentialMovingAverage()的作用,百度效果跟好。

csldali avatar Sep 08 '19 07:09 csldali

请问解决了吗,我也一样的问题,还有不能转成pb文件

sunyhaime avatar Sep 10 '19 02:09 sunyhaime

请问这个问题有解决的吗

HZWHH avatar Oct 14 '19 11:10 HZWHH

请问你解决了这个问题没?

HZWHH avatar Oct 14 '19 11:10 HZWHH

请问你解决了这个问题没?

你好,解决了,放到这里了 https://github.com/Byronnar/tensorflow-serving-yolov3

Byronnar avatar Nov 01 '19 02:11 Byronnar

之所以有900M,是因为tf.train.ExponentialMovingAverage()这个函数,它会是生成等量的tf.trainable_variable(),保存到tf.global_variables(),而ckpt保存的主要是tf.trainable_variable(还有untrainable,但太小),所以ckpt的大小会翻倍; 要想变小,可以注释掉train.py的79、80行以及对应的moving_ave,那ckpt会降到400多,这也就是@StrongBirds可行的原因;至于tf.train.ExponentialMovingAverage()的作用,百度效果跟好。

你好,如果我想换到原始模型的大小怎么改了?

StarStar-666 avatar Mar 08 '21 03:03 StarStar-666