【发布时间】:2019-01-31 06:23:00
【问题描述】:
我有一组 100x100 的图像,以及一个对应于输入大小(即长度为 10000)的输出数组,其中每个元素可以是 1 或 0。
我正在尝试使用 TensorFlow/Keras 编写一个 python 程序来训练一个基于这些数据的 CNN,但是,我不确定如何设置层来处理它,或者要使用的网络类型。
目前,我正在执行以下操作(基于 TensorFlow 教程):
model = keras.Sequential([
keras.layers.Flatten(input_shape=(100, 100)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10000, activation=tf.nn.softmax)
])
model.compile(optimizer=tf.train.AdamOptimizer(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
但是,我似乎找不到应该为输出层使用哪种类型的激活来使我能够拥有多个输出值? 我该如何设置?
【问题讨论】:
-
这个answer 可能会帮助您进行激活和您需要使用的损失函数。如果你想要一个卷积架构,那么显然你需要使用像
Conv2D这样的卷积层。通常会连续使用一组Conv2D和MaxPooling2D层,最后可能会有一个或几个密集层。
标签: python tensorflow keras