我对机器学习相当新,并且一直在尝试从源代码实现GAN https://github.com/tkarras/progressive_growing_of_gans
据我所知,我拥有所有依赖项,并且在运行其导入脚本时没有收到任何错误。然而,当我到达下面标记的线路以从接收的发生器生成图像时,我的系统突然关闭。
除了内核断电之外,我没有错误日志或系统事件。我已经测试了一些用于带宽和设备测试的CUDA util示例,这似乎没有问题导致我认为它不是硬件问题。
import pickle
import numpy as np
import tensorflow as tf
import PIL.Image
# Initialize TensorFlow session.
tf.InteractiveSession()
# Import official CelebA-HQ networks.
with open('karras2018iclr-celebahq-1024x1024.pkl', 'rb') as file:
G, D, Gs = pickle.load(file)
# Generate latent vectors.
latents = np.random.RandomState(1000).randn(1000, *Gs.input_shapes[0][1:]) # 1000 random latents
latents = latents[[477, 56, 83, 887, 583, 391, 86, 340, 341, 415]] # hand-picked top-10
# Generate dummy labels (not used by the official networks).
labels = np.zeros([latents.shape[0]] + Gs.input_shapes[1][1:])
# Run the generator to produce a set of images.
!!!!!!!!!!!SYSTEM CRASHES ON THIS INSTRUCTION!!!!!!!!!!!!!!!!
images = Gs.run(latents, labels)
# Convert images to PIL-compatible format.
images = np.clip(np.rint((images + 1.0) / 2.0 * 255.0), 0.0, 255.0).astype(np.uint8) # [-1,1] => [0,255]
images = images.transpose(0, 2, 3, 1) # NCHW => NHWC
# Save images as PNG.
for idx in range(images.shape[0]):
PIL.Image.fromarray(images[idx], 'RGB').save('img%d.png' % idx)
然而,当运行使用Caffee的不同ML实现时,我遇到了相同的断电问题。所以目前我不知道核心问题可能是什么。任何我可以测试的想法都会受到高度赞赏。
系统规格
-1250W电源
-Miniconda 3 w / python version 3.6.4