tol*_*ira 8 python machine-learning neural-network keras tensorflow
我已经使用Keras和TensorFlow的分类时尚MNIST下面这个教程。
它使用AdamOptimizer来找到模型参数的值,以最小化网络的损失函数。网络的输入是形状为 [28, 28] 的二维张量,输出是形状为 [10] 的一维张量,它是 softmax 函数的结果。
一旦网络经过训练,我想将优化器用于另一项任务:找到最大化输出张量元素之一的输入。如何才能做到这一点?是否可以使用 Keras 或必须使用较低级别的 API 来做到这一点?
由于输入对于给定的输出不是唯一的,如果我们可以对输入可以采用的值施加一些限制,那就更好了。
训练好的模型具有以下格式
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])
Run Code Online (Sandbox Code Playgroud)
有趣的。也许一个解决方案是将所有数据提供给网络,并为每个样本保存output_layerafter softmax。
这样,对于3 个类,您想要找到第 1 类的最佳输入,您正在寻找第一个分量较高的输出。例如:[1 0 0]
实际上,输出意味着样本作为类别之一的概率或网络的置信度。
| 归档时间: |
|
| 查看次数: |
5285 次 |
| 最近记录: |