Ошибка сохранения данных в цикле while с помощью f.write - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь использовать функции сохранения потерь GAN в файле .csv. При запуске моего GAN в Google Colab. Я получаю только первые несколько итераций, а затем он перестает сохранять данные. Я не уверен, что является причиной этой проблемы. Ниже приведена функция, которую я использую, а также то, как я пытаюсь сохранить данные.

def train(self, batch=16):

    (a, b) = self.train_dis(batch)
    c = self.train_gen(batch)

    print("D Real: " + str(a))
    print("D Fake: " + str(b))
    print("G All:: " + str(c))

    if self.GAN.steps % 500 == 0:
        self.save(floor(self.GAN.steps / 1000))
        self.evaluate()

    if self.GAN.steps % 5000 == 0:
        self.GAN.AM = None
        self.GAN.DM = None
        self.AdModel = self.GAN.AdModel()
        self.DisModel = self.GAN.DisModel()


    self.GAN.steps = self.GAN.steps + 1

    return(a,b,c)

Попытка сохранить:

f = open('loss_logs.csv','w')
f.write('Iteration,Discriminator Real Loss,Discriminator Fake Loss,Generator Loss\n')


while (model.GAN.steps < 500000):

    print("\n\n\n\nRound " + str(model.GAN.steps) + ":")
    model.train()

    if model.GAN.steps % 1000 == 0:
        model.eval2(int(model.GAN.steps / 1000))


    if model.GAN.steps % 10 == 0:
        a,b,c = model.train()

        f.write("%d,%f,%f,%f\n"%(model.GAN.steps,a,b,c))

f.close()

2000 итераций

...