train_loss = sum_loss/N train_data.append(float(train_loss)) if epoch % show_interval == 0: print '\tepoch :'+str(epoch) print '\ttrain mean loss='+str(train_loss)+" next save :"+str(min_loss) print '\ttime sum : {}[sec] ave : {}[sec]'.format(sum_time,sum_time/time_count) #%% key = cv2.waitKey(1) if key in [myl.KEY_ESC, ord('q')]: break if min_loss > train_loss and not train_loss == 0 : network.saveModel('model/_model_pred'+str(epoch)) min_loss = train_loss*save_rate if epoch > n_epoch: print '\n!test clear! : '+str(train_loss) break #%% print '\n---Save model\n' network.saveModel('model/_model_pred'+str(epoch)) print '\n---Save graph\n' g_size = (8,6) g_legend = ["train_loss"] g_title = "Loss of digit recognition. lasl train loss :"+str(train_loss) g_file_name = 'graph_train_loss'+str(epoch)+'.png' myl.showGraphData(train_data,g_size,g_legend,g_title,g_file_name) cv2.destroyAllWindows()