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

     2023-03-13     206

关键词:

【中文标题】Tensorflow 上带有回归输出的 CNN 图像识别【英文标题】:CNN Image Recognition with Regression Output on Tensorflow 【发布时间】:2018-01-13 15:51:01 【问题描述】:

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

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

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

谁能给我一个使用 CNN 的 tensorflow 的例子,给出基于图像识别的标量或回归输出。

非常感谢!老实说,我超级卡住了,没有任何进展,而且解决同样的问题已经超过两周了。

【问题讨论】:

图像与等待时间有什么关系? 想象一张有流量的图片,也有没有流量的,或者有线条和没有线条的例子。我基本上只是想要一个数字输出。 有流量但没有流量的图像是 2 类问题。你想用一张图片预测那里的等待时间是多少? 请理解,这只是一个例子,我正在研究 NDA 下的东西,所以我只是举一个类似的例子。最重要的部分是回归输出,等待时间只是一个例子。我只是在寻找具有标量输出的示例。相信我,当我为目标变量运行 sum(unique) 时,这不是 2 类问题:它给了我 4739753 作为答案,所以有 4739753 个唯一类,这就是我想要回归输出的原因。我还有数以万计的独特图像。 这是一个经典的例子,说明在堆栈溢出时找到答案是多么困难。人们通常会因为你措辞的技术性或旨在说明观点的广泛示例的细节而与你争论,而从未真正解决你的主要问题。 【参考方案1】:

查看 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 对象检测中一样)

【讨论】:

【参考方案2】:

关键是在最后一个全连接(输出)层中没有激活函数。请注意,您必须事先至少有 1 个 FC 层。

【讨论】:

根据输入形状的计算是不是存在差异? (带有 Tensorflow 的 Python 中的 CNN)

】根据输入形状的计算是不是存在差异?(带有Tensorflow的Python中的CNN)【英文标题】:Isthereadifferenceincomputationaccordingtoinputshape?(CNNinPythonwithTensorflow)根据输入形状的计算是否存在差异?(带有Tensorflow的Python中的CNN)【发布时间... 查看详情

是否可以有一个具有多个输出的回归模型?

...【发布时间】:2020-12-2611:01:35【问题描述】:我正在使用Tensorflow处理CNN回归模型。我想知道是否可以使用回归从我的数据集中估计多个数据?(换句话说,我想使用头部和双手的位置和旋转来估计人体肩部和肘部的位置(x,y,... 查看详情

tensorflow训练logistic回归

Logistic回归在用线性模型进行回归训练时,有时需要根据这个线性模型进行分类,则要找到一个单调可微的用于分类的函数将线性回归模型的预测值关联起来。这时就要用到逻辑回归,之前看吴军博士的《数学之美》中说腾讯和... 查看详情

tensorflow逻辑回归原理与实现(超详细)

逻辑回归原理与实现学习目标1.神经网络基础1.1Logistic回归1.2逻辑回归损失函数2.梯度下降算法3.导数3.1导数3.2导数计算图3.3链式法则3.4逻辑回归的梯度下降4.向量化编程4.1向量化优势4.2向量化实现伪代码5.案例:实现逻辑回归5... 查看详情

CNN 回归导致两个不同(不正确)的预测

...21-03-2702:13:54【问题描述】:我正在尝试使用PythonKerasCNN(Tensorflow作为主干)解决回归问题,我尝试根据获取的8维卫星图像(23x45像素)预测单个y值来自GoogleEarthEngine使用他们的PythonAPI 查看详情

dl之lstm/gru/cnn:基于tensorflow框架分别利用lstm/grucnn算法对上海最高气温实现回归预测案例(代码片段)

DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例目录基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温实现回归预测案例#1、定义数据集#2、特征工程#2.1、挑选入模特征#2.2、... 查看详情

在隐藏层使用 softmax,在输出层使用 relu 进行 CNN 回归

】在隐藏层使用softmax,在输出层使用relu进行CNN回归【英文标题】:UsingsoftmaxinhiddenlayerandreluinoutputlayerforCNNregression【发布时间】:2020-10-1319:06:51【问题描述】:我正在创建一个CNN,以根据测量的光谱(2D)预测应用于光纤的分布应... 查看详情

使用 Tensorflow 中的 Adam Optimizer,损失突然增加

】使用Tensorflow中的AdamOptimizer,损失突然增加【英文标题】:LosssuddenlyincreaseswithAdamOptimizerinTensorflow【发布时间】:2017-07-0211:01:23【问题描述】:我正在使用CNN执行回归任务。我使用Tensorflow,优化器是Adam。网络似乎收敛得很好,... 查看详情

tensorflow中使用cnn实现mnist手写体识别

  本文参考YannLeCun的LeNet5经典架构,稍加ps得到下面适用于本手写识别的cnn结构,构造一个两层卷积神经网络,神经网络的结构如下图所示:  输入-卷积-pooling-卷积-pooling-全连接层-Dropout-Softmax输出    第一层卷积利用5*... 查看详情

多输出回归模型始终为 Tensorflow 中的批次返回相同的值

】多输出回归模型始终为Tensorflow中的批次返回相同的值【英文标题】:Multi-outputregressionmodelalwaysreturnsthesamevalueforabatchinTensorflow【发布时间】:2018-03-2520:31:44【问题描述】:我有一个用于预测14个连续值的多输出回归问题的多层... 查看详情

回归预测|matlab实现cnn-bilstm-attention多输入单输出回归预测(代码片段)

回归预测|MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测目录回归预测|MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料预测效果基本介绍MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预... 查看详情

深度学习之卷积神经网络cnn及tensorflow代码实现示例

一、CNN的引入在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢,例如一张黑白的28×2828×28... 查看详情

用tensorflow完成简单的线性回归模型

...y=Wx+b,在这条直线上附件随机生成一些数据点如下图,让TensorFlow建立回归模型,去学习什么样的W和b能更好去拟合这些数据点。1)随机生成1000个数据点,围绕在y=0.1x+0.3周围,设置W=0.1,b=0.3,届时看构建的模型是否能学习到w和b... 查看详情

尝试在 TensorBoard 上记录 CNN TensorFlow 的准确性

】尝试在TensorBoard上记录CNNTensorFlow的准确性【英文标题】:TryingtologaccuracyofCNNTensorFlowonTensorBoard【发布时间】:2018-10-2005:12:28【问题描述】:我已经修改了用于图像分类的CNN张量流模型,以包含更多数量的卷积层。它工作正常。... 查看详情

embeddingbasedlogisticregression-神经网络逻辑回归tensorflow

---灵感---因为最近一直在做rnnbasedNLP,其中无论是什么cell,lstm,GRU或者cnn都是基于单词的embedding表示;单词的embdding就是把每个单词表示成一个向量,然后通过bp训练这些向量的值,这种想法很奇妙,于是我尝试性的把这种思想... 查看详情

有空就学学的实例分割1——tensorflow2搭建maskr-cnn实例分割平台(代码片段)

有空就学学的实例分割1——Tensorflow2搭建MaskR-CNN实例分割平台学习前言什么是MaskR-CNN源码下载MaskR-CNN实现思路一、预测部分1、主干网络介绍2、特征金字塔FPN的构建3、获得Proposal建议框4、Proposal建议框的解码5、对Proposal建议框加... 查看详情

为不平衡数据加权回归 CNN?

】为不平衡数据加权回归CNN?【英文标题】:WeightingaregressionCNNforimbalanceddata?【发布时间】:2019-12-0809:46:51【问题描述】:我有一个用于回归的CNN,它获取图像并输出0-10的浮点数。我的模型运行良好,但我的数据不平衡存在严重... 查看详情

pytorch实现卷积神经网络cnn

Pytorch是torch的Python版本,对TensorFlow造成很大的冲击,TensorFlow无疑是最流行的,但是Pytorch号称在诸多性能上要优于TensorFlow,比如在RNN的训练上,所以Pytorch也吸引了很多人的关注。之前有一篇关于TensorFlow实现的CNN可以用来做对比... 查看详情