def Train(self, logName): trainData, trainLabel, trainSeq = Shuffle_Triple( self.data, self.label, self.dataSeq) startPosition, totalLoss = 0, 0.0 with open(logName, 'w') as file: while startPosition + self.batchSize < numpy.shape(trainData)[0]: batchData = self.data[startPosition:startPosition + self.batchSize] batchDataSeq = self.dataSeq[startPosition:startPosition + self.batchSize] batchLabel, batchLabelSeq = self.__LabelPretreatment( treatLabel=self.label[startPosition:startPosition + self.batchSize]) loss, _ = self.session.run( fetches=[self.parameters['Loss'], self.train], feed_dict={ self.dataInput: batchData, self.dataSeqInput: batchDataSeq, self.labelInput: batchLabel, self.labelSeqInput: batchLabelSeq }) print('\rTrain %d/%d Loss = %f' % (startPosition, numpy.shape(trainData)[0], loss), end='') startPosition += self.batchSize totalLoss += loss file.write(str(loss) + '\n') return totalLoss
def Train(self, logName): trainData, trainLabel, trainSeq = Shuffle_Triple( self.data, self.label, self.dataSeq) totalLoss = 0.0 with open(logName, 'w') as file: for index in range(numpy.shape(trainData)[0]): loss, _ = self.session.run( fetches=[self.parameters['Loss'], self.train], feed_dict={ self.dataInput: trainData[index], self.seqInput: trainSeq[index], self.labelInput: numpy.reshape(trainLabel[index], [1, 1]) }) print('\rTrain %d/%d Loss = %f' % (index, numpy.shape(trainData)[0], loss), end='') totalLoss += loss file.write(str(loss) + '\n') return totalLoss
def Train(self): trainData, trainLabel, trainSeq = Shuffle_Triple( self.data, self.label, self.seq) startPosition, totalLoss = 0, 0.0 while startPosition < numpy.shape(self.data)[0]: batchData = trainData[startPosition:startPosition + self.batchSize] batchLabel = self.__LabelPretreatment( trainLabel[startPosition:startPosition + self.batchSize]) batchSeq = trainSeq[startPosition:startPosition + self.batchSize] loss, _ = self.session.run( fetches=[self.parameters['Cost'], self.train], feed_dict={ self.dataInput: batchData, self.labelInput: batchLabel, self.seqInput: batchSeq }) print('\rTraining %d/%d Loss = %f' % (startPosition, numpy.shape(trainData)[0], loss), end='') totalLoss += loss # startPosition += self.batchSize return totalLoss