def isConverged(self,iter):
from math import isnan
if isnan(self.loss):
print 'Loss = NaN or Infinity: current settings does not fit the recommender! Change the settings and try again!'
exit(-1)
measure = self.performance()
value = [item.strip()for item in measure]
#with open(self.algorName+' iteration.txt')
deltaLoss = (self.lastLoss-self.loss)
print '%s %s iteration %d: loss = %.4f, delta_loss = %.5f learning_Rate = %.5f %s %s' %(self.algorName,self.foldInfo,iter,self.loss,deltaLoss,self.lRate,measure[0][:11],measure[1][:12])
#check if converged
cond = abs(deltaLoss) < 1e-3
converged = cond
if not converged:
self.updateLearningRate(iter)
self.lastLoss = self.loss
shuffle(self.dao.trainingData)
return converged
评论列表
文章目录