Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
    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