PaddlePaddle / PaddleGAN

PaddlePaddle GAN library, including lots of interesting applications like First-Order motion transfer, Wav2Lip, picture repair, image editing, photo2cartoon, image style transfer, GPEN, and so on.
Apache License 2.0
7.86k stars 1.25k forks source link

paddleGAN的人脸属性编辑StyleGANv2模型转静态图模型报错 #790

Closed danaodai closed 7 months ago

danaodai commented 1 year ago

paddleGAN的人脸属性编辑StyleGANv2模型转静态图模型报错,请各位大佬帮忙看看如何解决。谢谢!

from paddle.static import InputSpec inputs = InputSpec(shape=[2, 18, 512], dtype='float32', name='latent_n') self.generator = paddle.jit.to_static(self.generator, [inputs]) paddle.jit.save(self.generator, 'inference_style/inference_model') #执行这一步的时候报错

报错信息如下: File "/home/PaddleGAN/ppgan/models/generators/generator_pixel2style2pixel.py", line 351, in forward imggen, = self.generator([x], input_is_latent=True, randomize_noise=False) File "/home/PaddleGAN/ppgan/models/generators/generator_styleganv2.py", line 537, in forward image = self.synthesis(styles, noise, randomize_noise) File "/home/PaddleGAN/ppgan/models/generators/generator_styleganv2.py", line 455, in synthesis out = self.conv1(out, latent[0], noise=noise[0]) File "/home/PaddleGAN/ppgan/models/generators/generator_styleganv2.py", line 204, in forward out = self.noise(out, noise=noise) File "/home/PaddleGAN/ppgan/models/generators/generator_styleganv2.py", line 159, in forward return paddle.concat([image, self.weight noise], axis=1) else: return image.numpy() + self.weight.numpy() noise.numpy()



    AssertionError: only one element variable can be converted to float.
danaodai commented 1 year ago

发现问题在哪了,randomize_noise=True的话就可以正常转化,应该算是generator_styleganv2.py代码中的一个小bug。