python - 如何使用 keras 知道 WGAN 中生成图像的标签
问题描述
我正在研究医学图像分类问题,并且遇到低数据集问题。所以想使用WGAN生成图像。在给定的代码中,WGAN 代码示例取自 MNIST 数据集。图像生成后,很容易识别它们属于哪个类别的数字。但是在医学图像的情况下,生成图像后很难确定生成的图像属于哪个类别,因为它们是从以下给出的代码中分组保存的:
def sample_images(self, epoch):
r, c = 5, 5
noise = np.random.normal(0, 1, (r * c, self.latent_dim))
gen_imgs = self.generator.predict(noise)
# Rescale images 0 - 1
gen_imgs = 0.5 * gen_imgs + 0.5
fig, axs = plt.subplots(r, c)
cnt = 0
for i in range(r):
for j in range(c):
axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray')
axs[i,j].axis('off')
cnt += 1
fig.savefig("images/mnist_%d.png" % epoch)
plt.close()
所以我必须执行哪些更改才能获取生成图像的标签。
解决方案
vanilla 版本中的 WGAN 不能有条件地生成图像。因此,你训练的 WGAN 只能生成图像,而不知道它们属于哪个类。
为了能够生成特定标签的图像,请查看条件甘斯。这是一篇帮助您入门的中篇文章。
另一种选择是从原始训练数据中训练一个鉴别器,并使用该鉴别器来帮助您手动对图像进行分类。
推荐阅读
- python - python函数导入中下划线(_)的含义是什么?
- git - 管理远程 git 存储库的存储库大小
- c - AIX 上的 C C++ (gcc 4.2.0) 和 Linux (gcc 4.8.5) 在 gcc 中的浮点选项差异
- css - 一个引导列中的 DIV 如何与另一列中的内容重叠?
- node.js - MissingSchemaError:在填充期间尚未为模型注册架构
- angular - 如果在多个组件中使用相同的 ag-grid,如何在 Angular 中使用 rowDoubleClick?
- git - 一个 Visual Studio 2017 解决方案,两个 git 存储库。如何管理?
- php - cURL 错误:我无法 cURL 到 CodeIgniter 3 中的本地 URL
- r - R - 试图从数据表中矢量化 colnames 选择
- java - 如何让我的倒数计时器显示分钟*和*秒,而不仅仅是秒?