def train()

in experiments/grasp_stability/train.py [0:0]


    def train(self, nbEpoch=10):

        lossTrainList = []
        accTestList = []

        nbatch = len(self.trainLoader)
        # self.evaluation()
        # accTestList.append(0.6)
        for epoch in range(nbEpoch):  # loop over the dataset multiple times

            running_loss = 0.0
            print("")
            st = time.time()

            self.model.train()

            for i, data in enumerate(self.trainLoader):

                x = {}
                for k in self.fields:
                    x[k] = data[k].to(self.device)

                label = data["label"].to(self.device)

                # zero the parameter gradients
                self.optimizer.zero_grad()

                outputs = self.model(x)

                loss = self.criterion(outputs, label)
                loss.backward()
                self.optimizer.step()

                percent = 20 * i // nbatch
                progressBar = "#" * percent + "." * (20 - percent)
                passedTime = time.time() - st
                eta = passedTime / (i + 1) * (nbatch - i)
                print(
                    "\r%s [%d, %5d] loss: %.6f elapse: %.2fs eta: %.2fs"
                    % (
                        progressBar,
                        epoch + 1,
                        i + 1,
                        running_loss / 2000,
                        passedTime,
                        eta,
                    ),
                    end=" ",
                )

                # print statistics
                lossTrainList.append(loss.item())
                running_loss = (running_loss * i + loss.item()) / (i + 1)
                # if i % 10 == 9:  # print every 2000 mini-batches
                #     print(
                #         "[%d, %5d] loss: %.6f" % (epoch + 1, i + 1, running_loss / 2000)
                #     )
                #     running_loss = 0.0
            accTest = self.evaluation()
            accTestList.append(accTest)

            print(accTest, end=" ")
        return lossTrainList, accTestList