我们正在开发Tensorflow
AI Sequential model
,该AI在输入中具有数据数组,并在预测中提供“ true”或“ false”的概率。
我们想知道哪个预测对应于“ true”,哪个预测对应于“ false”
我们的型号:
model = tf.keras.Sequential([
layers..
tf.keras.layers.GlobalAveragePooling1D(),
tf.keras.layers.Dense(2, activation='softmax')
])
模型编译:
model.compile(loss="sparse_categorical_crossentropy",
optimizer=tf.keras.optimizers.Adam(),
metrics=['accuracy']
)
然后模型与 tests 和 results 匹配,其中 results 是'true'或'false '。
history = self.model.fit(
np.array(self.data["tests"], dtype=float),
np.array(self.data["results"], dtype=float),
validation_split=0.1,
epochs=self.epochs,
batch_size=self.batch_size,
steps_per_epoch=self.steps_per_epoch,
verbose=0,
shuffle=True,
callbacks=[PlotLossesKerasTF()],
)
当我们使用model.predict(newData)
对新数据进行预测时,它给我们带来的概率如下:
[[0.5787903 0.42120975]]
那么这些数字中的哪个与哪个标签相对应?
答案 0 :(得分:0)
与您的训练标签相同。
请考虑您有一个输入图像,然后将其分类为猫,狗还是鸟。这样,您的训练数据就是一组图像和格式为[cat dog bird]
的相应标签,例如-标记为[0 1 0]
的狗的图像。因此model.predict(image)
以相同的格式[cat dog bird]
输出概率数组,因此output[0]
是分类的概率,依此类推。
如果您的输出是对/错,请考虑使用一个具有S型激活和二进制交叉熵的神经元输出作为损失函数。