我是datascience和tensorflow的初学者,所以,为了测试我的“技能”,我想试着做一个AI,你给它一个数字,然后返回该数字的28x28像素图像。反过来也是可能的,所以我想,为什么不呢?所以代码实际上运行得很好,但是AI的准确率非常低,实际上非常低,以至于它只返回随机像素。有没有什么方法可以让这个人工智能更准确,除了做100个纪元之类的事情?下面是我使用的代码:
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,也许这与此有关。感谢您提前给我答复!
发布于 2020-09-16 02:30:03
这是非常有可能的,并导致了称为生成性对抗网络(GANs)的广泛领域的研究。
首先,让我列出您的方法存在的问题:
GANs解决(2)中问题的方法是通过生成给定一组随机值的“可能”图像。GANs的变体允许指定要生成的确切值。
我建议阅读介绍GANs的paper。然后尝试基本的GAN,然后继续生成特定的数字。
https://stackoverflow.com/questions/63907371
复制相似问题