首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow使用AI创建图像

Tensorflow使用AI创建图像
EN

Stack Overflow用户
提问于 2020-09-16 01:52:35
回答 1查看 30关注 0票数 0

我是datascience和tensorflow的初学者,所以,为了测试我的“技能”,我想试着做一个AI,你给它一个数字,然后返回该数字的28x28像素图像。反过来也是可能的,所以我想,为什么不呢?所以代码实际上运行得很好,但是AI的准确率非常低,实际上非常低,以至于它只返回随机像素。有没有什么方法可以让这个人工智能更准确,除了做100个纪元之类的事情?下面是我使用的代码:

代码语言:javascript
复制
import tensorflow as tf
import tensorflow.keras as tk

import numpy as np
import matplotlib.pyplot as plt

(train_data, train_labels), (test_data, test_labels) = tk.datasets.mnist.load_data()

model = tk.Sequential([
                   tk.layers.Dense(64, activation='relu'),
                   tk.layers.Dense(64, activation='relu'),
                   tk.layers.Dense(784, activation='relu')])
                  
history = model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics=['acc'])

train_data = np.reshape(train_data, (60000, 784))
test_data = np.reshape(test_data, (-1, 784))

model.fit(train_labels, train_data, epochs=10, validation_data=(test_labels, test_data))

result = model.predict([2])

result = np.reshape(result, (28, 28))

plt.imshow(result)

plt.show()

我正在使用google.colab,因为我还没能在我的电脑上安装tensorflow,也许这与此有关。感谢您提前给我答复!

EN

回答 1

Stack Overflow用户

发布于 2020-09-16 02:30:03

这是非常有可能的,并导致了称为生成性对抗网络(GANs)的广泛领域的研究。

首先,让我列出您的方法存在的问题:

  1. 您使用单个数字作为输入,并期望模型能够理解它。这实际上并不起作用。最好使用一种称为one-hot编码的表示法。

  1. 对于每个标签,存在多个图像。从数学上讲,如果域X由标签组成(是否为单热编码),而范围Y由图像组成,则该关系是一对多关系,不能以有监督的方式学习。从本质上讲,监督学习只能用于建模多对一关系或一对一关系(尽管使用ML没有意义;字典是更好的选择)。因此,很容易预测图像的标签,但不可能使用完全监督的方法为标签生成图像,除非每个标签只使用一个图像进行训练。

GANs解决(2)中问题的方法是通过生成给定一组随机值的“可能”图像。GANs的变体允许指定要生成的确切值。

我建议阅读介绍GANs的paper。然后尝试基本的GAN,然后继续生成特定的数字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63907371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档