tensorflow - Tensorflow 上带有回归输出的 CNN 图像识别

标签 tensorflow conv-neural-network image-recognition

我想使用 CNN 根据图像预测估计的等待时间。所以我想这将使用 CNN 使用 RMSE 的损失函数输出回归类型的输出,这是我现在正在使用的,但它无法正常工作。

有人可以指出使用 CNN 图像识别来输出类似于等待时间的标量/回归输出(而不是类输出)的示例,以便我可以使用他们的技术来使其工作,因为我一直无法找到合适的例子。

我发现的所有 CNN 示例都是针对 MSINT 数据并区分猫和狗的,它们输出的是类输出,而不是等待时间的数字/标量输出。

有人可以举个例子,使用 CNN 的 tensorflow 给出基于图像识别的标量或回归输出。

非常感谢!老实说,我被卡住了,没有任何进展,并且已经在解决同样的问题两个多星期了。

最佳答案

查看 Udacity 自动驾驶汽车模型,它从行车记录仪获取输入图像并预测转向角(即连续标量)以保持在道路上......通常在一个或多个完全连接的层之后使用回归输出CNN 层的顶部。
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models
这是一个典型的模型:
https://github.com/udacity/self-driving-car/tree/master/steering-models/community-models/autumn
...它使用 tf.atan()或者您可以使用 tf.tanh()或者只是线性以获得最终输出 y .
使用 MSE 作为您的损失函数。
这是another example in keras ...

model = models.Sequential()
model.add(convolutional.Convolution2D(16, 3, 3, input_shape=(32, 128, 3), activation='relu'))
model.add(pooling.MaxPooling2D(pool_size=(2, 2)))
model.add(convolutional.Convolution2D(32, 3, 3, activation='relu'))
model.add(pooling.MaxPooling2D(pool_size=(2, 2)))
model.add(convolutional.Convolution2D(64, 3, 3, activation='relu'))
model.add(pooling.MaxPooling2D(pool_size=(2, 2)))
model.add(core.Flatten())
model.add(core.Dense(500, activation='relu'))
model.add(core.Dropout(.5))
model.add(core.Dense(100, activation='relu'))
model.add(core.Dropout(.25))
model.add(core.Dense(20, activation='relu'))
model.add(core.Dense(1))
model.compile(optimizer=optimizers.Adam(lr=1e-04), loss='mean_squared_error')
它们与 MNIST 示例的主要区别在于,不是将 logits 的 N-dim 向量汇集到具有交叉熵损失的 softmax 中,而是将其归结为具有 MSE 损失的 1-dim 向量,而对于您的回归输出。 (你也可以在最后一层混合多个分类和回归输出......就像在 YOLO 对象检测中)

关于tensorflow - Tensorflow 上带有回归输出的 CNN 图像识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45528285/

相关文章:

python - ValueError : Shapes must be equal rank, 但是是 1 和 0 来自将形状 1 与其他形状合并。对于 'loss/AddN'

c++ - OpenCV 仅围绕大轮廓绘制矩形?

java - 识别位图中的 Logo - android

image-processing - 国际象棋棋盘推荐模式识别技术

python - Tensorflow 无法在 PyCharm 中工作 - DLL 加载失败 : The specific module could not be found

tensorflow - 在 Tensorflow 中恢复检查点时如何获取 global_step?

python - 当我尝试转换 Keras MLP 时,为什么 Google Colab 会给出 "unknown device"错误?

tensorflow - Keras 损失为负,准确度下降,但预测良好?

keras - 用于二维图像旋转估计的 CNN(角度回归)

python - 如何使用pytorch同时迭代两个数据加载器?