Я обучил GAN на наборе данных MNIST, и я пытаюсь создать очень простой пользовательский интерфейс, который имеет кнопку для генерации и отображения новых изображений. Когда я нажимаю кнопку, я звоню генератору, передаю новый скрытый вектор методу forward и продолжаю получать это сообщение об ошибке.
def update_picture():
print('press')
_, img = netG.forward(create_noise(1))
img = img.detach().cpu().numpy()[0][0]
img = ((img - img.min()) * (1 / img.max() - img.min()) * 255)
photo = ImageTk.PhotoImage(image=Image.fromarray(img))
label = Label(image=photo).grid(row=0, column=0)
tk = Tk()
photo = ImageTk.PhotoImage(image=Image.fromarray(img))
label = Label(image=photo).grid(row=0, column=0)
create = Button(text="update", command=update_picture).grid(row=1, column=0)
tk.mainloop()
И когда я нажимаю кнопку для создания нового изображения, я получаю эту ошибку:
Traceback (most recent call last):
File "C:\Users\daman\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:/Users/daman/PycharmProjects/untitled4/DCGAN_MNIST.py", line 243, in update_picture
_, img = netG.forward(create_noise(1))
File "C:/Users/daman/PycharmProjects/untitled4/DCGAN_MNIST.py", line 104, in create_noise
return Variable(torch.zeros(b, feature_space, 1, 1).normal_(0, 1))
File "C:\Users\daman\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 315, in __init__
if not master:
RuntimeError: bool value of Tensor with more than one value is ambiguous
Ошибка восходит к моей функции создания шума:
def create_noise(b):
return Variable(torch.zeros(b, feature_space, 1, 1).normal_(0, 1))
Есть идеи, почему это происходит и что на самом деле означает эта ошибка? Я могу опубликовать больше кода, если это необходимо.