コード例 #1
0
    def train(self, learning_rate=1e-5, steps=200, epoch=10):
        benchmarks = []
        progress = ProgressBar('training', steps)
        for step in range(steps):
            if step % epoch == 0:
                loss, rmse = self.loss()
                benchmarks.append((step + 1, loss, rmse))
                progress.report(step, loss)
            grad_u, grad_m = self.gradients()
            self.U = self.U - (learning_rate * grad_u)
            self.M = self.M - (learning_rate * grad_m)

        loss, rmse = self.loss()
        benchmarks.append((step + 1, loss, rmse))
        progress.complete()
        return benchmarks