在训练循环中使用fluid.io.save_inference_model保存每轮的结果,明显会影响训练模型
Created by: Baishi03
训练代码如下: def train(self, imgClass, imgClass_valid, epoches=10, batchSize=64, stopRounds=100, initialize=True, confidence_threshold=0.5, nms_threshold=0.3): if initialize: self._trainExe.run(fluid.default_startup_program()) else: self._trainExe.run(program) #不直接初始化,而是恢复训练 imgStream = imgClass.random_batch_img_stream(batchSize=batchSize) dataGtlabel = np.zeros([batchSize,imgClass.maxBoxNum],dtype='int32') itersPerEpoch = imgClass.imgNum//batchSize st = time.time() f = open(r'./avg_infer_k/avg_k_log_150.txt','w') ###
for i in range(1,epoches+1):
for j in range(1,itersPerEpoch+1):
dataInput,dataGtbox = next(imgStream)
outs = self._trainExe.run(feed={'data_input':dataInput,'data_gtbox':dataGtbox,'data_gtlabel':dataGtlabel},
fetch_list=[self._loss,self._netOutput1,self._netOutput2])
if ((i-1)*itersPerEpoch+j)%stopRounds==0:
restNum = ((itersPerEpoch-j)+(epoches-i)*itersPerEpoch)*batchSize
trainSpeed = stopRounds*batchSize/(time.time()-st)
#print('After iterations %d: loss = %.3lf mAP: %.3lf %.3lf images/s Estimated remaining time: %.3lfs'%((i-1)*itersPerEpoch+j,outs[0][0],_mAP(outs[1],outs[2],dataGtbox,confidence_threshold,nms_threshold),trainSpeed,restNum/trainSpeed))
print('After iterations %d: loss = %.3lf mAP: %.3lf %.3lf images/s Estimated remaining time: %.3lfs'%((i-1)*itersPerEpoch+j,outs[0][0],_mAP(outs[1],outs[2],dataGtbox,confidence_threshold,nms_threshold),trainSpeed,restNum/trainSpeed),file=f)
st = time.time()
if i>=30:
self.save('./avg_infer_k/avg_k_infer_model_e%d'%i)
f.close()
def save(self,modelSavePath='./1_infer_model'):
fluid.io.save_inference_model(dirname=modelSavePath,feeded_var_names=['data_input'],
target_vars=[self._netOutput1,self._netOutput2],executor=self._trainExe)
保存每轮模型后,用于测试验证集上的性能,发现明显模型的训练受到了影响。 输出日志文件如下: 第 30 轮验证集mAP值为:0.391 第 31 轮验证集mAP值为:0.000 第 32 轮验证集mAP值为:0.000 第 33 轮验证集mAP值为:0.001 第 34 轮验证集mAP值为:0.000 第 35 轮验证集mAP值为:0.000 第 36 轮验证集mAP值为:0.000 第 37 轮验证集mAP值为:0.000 第 38 轮验证集mAP值为:0.000 第 39 轮验证集mAP值为:0.000 第 40 轮验证集mAP值为:0.000 第 41 轮验证集mAP值为:0.000 第 42 轮验证集mAP值为:0.000 第 43 轮验证集mAP值为:0.000 第 44 轮验证集mAP值为:0.032 第 45 轮验证集mAP值为:0.198 第 46 轮验证集mAP值为:0.188 第 47 轮验证集mAP值为:0.195 第 48 轮验证集mAP值为:0.196 第 49 轮验证集mAP值为:0.200 第 50 轮验证集mAP值为:0.189 第 51 轮验证集mAP值为:0.185 第 52 轮验证集mAP值为:0.190 第 53 轮验证集mAP值为:0.188 第 54 轮验证集mAP值为:0.166 第 55 轮验证集mAP值为:0.188 第 56 轮验证集mAP值为:0.191 第 57 轮验证集mAP值为:0.187 第 58 轮验证集mAP值为:0.203 第 59 轮验证集mAP值为:0.191 第 60 轮验证集mAP值为:0.194 第 61 轮验证集mAP值为:0.190 第 62 轮验证集mAP值为:0.187 第 63 轮验证集mAP值为:0.204 第 64 轮验证集mAP值为:0.185 第 65 轮验证集mAP值为:0.181 第 66 轮验证集mAP值为:0.196 第 67 轮验证集mAP值为:0.200 第 68 轮验证集mAP值为:0.191 第 69 轮验证集mAP值为:0.194 第 70 轮验证集mAP值为:0.196 第 71 轮验证集mAP值为:0.196 第 72 轮验证集mAP值为:0.197 第 73 轮验证集mAP值为:0.199 第 74 轮验证集mAP值为:0.200 第 75 轮验证集mAP值为:0.195 第 76 轮验证集mAP值为:0.203 第 77 轮验证集mAP值为:0.200 第 78 轮验证集mAP值为:0.192 第 79 轮验证集mAP值为:0.194 第 80 轮验证集mAP值为:0.187 第 81 轮验证集mAP值为:0.200 第 82 轮验证集mAP值为:0.198 第 83 轮验证集mAP值为:0.203 第 84 轮验证集mAP值为:0.198 第 85 轮验证集mAP值为:0.202 第 86 轮验证集mAP值为:0.192 第 87 轮验证集mAP值为:0.193 第 88 轮验证集mAP值为:0.202 第 89 轮验证集mAP值为:0.190 第 90 轮验证集mAP值为:0.193 第 91 轮验证集mAP值为:0.198 第 92 轮验证集mAP值为:0.191 第 93 轮验证集mAP值为:0.189 第 94 轮验证集mAP值为:0.202 第 95 轮验证集mAP值为:0.198 第 96 轮验证集mAP值为:0.198 第 97 轮验证集mAP值为:0.201 第 98 轮验证集mAP值为:0.195 第 99 轮验证集mAP值为:0.192 第 100 轮验证集mAP值为:0.200 第 101 轮验证集mAP值为:0.202 第 102 轮验证集mAP值为:0.200 第 103 轮验证集mAP值为:0.189 第 104 轮验证集mAP值为:0.199 第 105 轮验证集mAP值为:0.184 第 106 轮验证集mAP值为:0.197 第 107 轮验证集mAP值为:0.206 第 108 轮验证集mAP值为:0.199 第 109 轮验证集mAP值为:0.197 第 110 轮验证集mAP值为:0.189 第 111 轮验证集mAP值为:0.199 第 112 轮验证集mAP值为:0.192 第 113 轮验证集mAP值为:0.197 第 114 轮验证集mAP值为:0.200 第 115 轮验证集mAP值为:0.196 第 116 轮验证集mAP值为:0.191 第 117 轮验证集mAP值为:0.196 第 118 轮验证集mAP值为:0.189 第 119 轮验证集mAP值为:0.202 第 120 轮验证集mAP值为:0.196 第 121 轮验证集mAP值为:0.195 第 122 轮验证集mAP值为:0.199 第 123 轮验证集mAP值为:0.197 第 124 轮验证集mAP值为:0.184 第 125 轮验证集mAP值为:0.190 第 126 轮验证集mAP值为:0.199 第 127 轮验证集mAP值为:0.202 第 128 轮验证集mAP值为:0.199 第 129 轮验证集mAP值为:0.203 第 130 轮验证集mAP值为:0.198 第 131 轮验证集mAP值为:0.198 第 132 轮验证集mAP值为:0.194 第 133 轮验证集mAP值为:0.194 第 134 轮验证集mAP值为:0.195 第 135 轮验证集mAP值为:0.186 第 136 轮验证集mAP值为:0.197 第 137 轮验证集mAP值为:0.194 第 138 轮验证集mAP值为:0.199 第 139 轮验证集mAP值为:0.198 第 140 轮验证集mAP值为:0.196 第 141 轮验证集mAP值为:0.193 第 142 轮验证集mAP值为:0.198 第 143 轮验证集mAP值为:0.174 第 144 轮验证集mAP值为:0.194 第 145 轮验证集mAP值为:0.201 第 146 轮验证集mAP值为:0.194 第 147 轮验证集mAP值为:0.198 第 148 轮验证集mAP值为:0.197 第 149 轮验证集mAP值为:0.200 第 150 轮验证集mAP值为:0.194