关于GAN的训练过程输出展示
最近做GAN的事情,到了训练阶段,需要给炉子开个孔,定期看看里面发生了什么。但example里的程序实在是粗狂了(真不知大牛们写这段时发生了什么)。。。
def visual(title, X):
assert len(X.shape) == 4
X = X.transpose((0, 2, 3, 1))
X = np.clip((X+1.0)*(255.0/2.0), 0, 255).astype(np.uint8)
n = np.ceil(np.sqrt(X.shape[0]))
buff = np.zeros((n*X.shape[1], n*X.shape[2], X.shape[3]), dtype=np.uint8)
for i, img in enumerate(X):
fill_buf(buff, i, img, X.shape[1:3])
buff = cv2.cvtColor(buff, cv2.COLOR_BGR2RGB)
cv2.imshow(title, buff)
cv2.waitKey(1)
每次调用之后,或没反应或是一会儿就成未响应表情了,之前试过了一些方法(主要是试着改waitKey的参数)都没进展。
今天下午觉得还是要处理这个问题。看了会儿CV的manual果断打消了从此入手的想法,决定试试pyplot,问题主要是每次调用plt.show()之后就陷入阻塞,
于是看看有没有相应的接口,结果被发现了:),于是很快就有demo了:
import numpy as np
import matplotlib.pyplot as plt
import cv2
for i in xrange(100000):
img = np.random.randint(0,256,(300,400,3))
plt.close()
plt.close()
plt.figure()
plt.title('gout')
plt.imshow(img)
plt.figure()
plt.title('ggdt')
plt.imshow(img)
plt.show(block=False)
cv2.waitKey(1000) # for test, optional