TFLearn CNN预测总是(几乎)相同的值

时间:2018-03-15 12:10:48

标签: tensorflow tflearn

我的CNN遇到了麻烦。

输入:700张道路照片(每张200x66和3个频道)。

输出:汽车在该部分路段的转向角度(介于-1.5和1.5之间)。

有些人可能知道Nvidia的类似设置。我想重现这个。 每次我试图预测时,我的数据集的所有图片都会得到相同的值。当仅学习一个纪元时,小数点后的最后几个位置的值似乎略有不同。

我将数据分成600张图片用于培训,100张用于评估并使用此网络:

network = input_data(shape=[None, 66, 200, 3], name='input')
network = local_response_normalization(network)
network = conv_2d(network, 24, 5, 2, activation='elu') # 5x5 mit 2x2 stride
network = conv_2d(network, 36, 5, 2, activation='elu') # 5x5 mit 2x2 stride
network = conv_2d(network, 48, 5, 2, activation='elu') # 5x5 mit 2x2 stride
network = conv_2d(network, 64, 3, 1, activation='elu') # 3x3 mit 1x1 stride
network = conv_2d(network, 64, 3, 1, activation='elu') # 3x3 mit 1x1 stride
network = flatten(network)
network = dropout(network, 0.5)
network = fully_connected(network, 1164, activation='elu')
network = fully_connected(network, 100, activation='elu')
network = fully_connected(network, 50, activation='elu')
network = fully_connected(network, 10, activation='elu')
network = fully_connected(network, 1, activation='elu')
network = regression(network, optimizer='adam', learning_rate=0.01, loss='mean_square', name='target')

我尝试了不同的批量大小(1-100),不同的时期数(1-50)和更改学习率(0.001-0.02)。

这个网络的数据集是否太小了?

希望你能帮助我。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为 TO 指的是“自动驾驶汽车的端到端学习”论文,其中他们谈到“驾驶时间少于 100 小时”(以 10Hz 采样)。 在清理和增强之前,这多达 360 万个样本,而只有几百个。

另外稍微误解了网络架构,没有 1164 大小的 FC 层,这只是最后一个 conv 层的扁平化操作的结果。

我用大约 50K 个样本和一个更浅的网络(3x Conv Blocks,1x Hidden FC)复制这篇论文确实取得了一些成功。参数数量大致相同,约 250K。