这是我的卷积神经网络:
def convolutional_neural_network(frame):
wts = {'conv1': tf.random_normal([5, 5, 3, 32]),
'conv2': tf.random_normal([5, 5, 32, 64]),
'fc': tf.random_normal([158*117*64 + 4, 128]),
'out': tf.random_normal([128, n_classes])
}
biases = {'fc': tf.random_normal([128]),
'out': tf.random_normal([n_classes])
}
conv1 = conv2d(frame, wts['conv1'])
# print(conv1)
conv1 = maxpool2d(conv1)
# print(conv1)
conv2 = conv2d(conv1, wts['conv2'])
conv2 = maxpool2d(conv2)
# print(conv2)
conv2 = tf.reshape(conv2, shape=[-1,158*117*64])
print(conv2)
print(controls_at_each_frame)
conv2 = tf.concat(conv2, controls_at_each_frame, axis=1)
fc = tf.add(tf.matmul(conv2, wts['fc']), biases['fc'])
output = tf.nn.relu(tf.add(tf.matmul(fc, wts['out']), biases['out']))
return output
其中
frame = tf.placeholder('float', [None, 640-10, 465, 3])
controls_at_each_frame = tf.placeholder('float', [None, 4]) # [w, a, s, d] (1/0)
是使用的占位符。
我在圣安德烈亚斯制造一辆自动驾驶汽车。我要做的是将frame
和controls_at_each_frame
连接到一个单独的层,然后发送到一个完全连接的层。当我运行时,在
conv2 = tf.concat(conv2, controls_at_each_frame, axis=1)
你能解释一下为什么会这样吗?
试试看
conv2 = tf.concat((conv2, controls_at_each_frame), axis=1)
。注意,我将要连接的两个帧放在括号中,如指定的here。
相关问题 更多 >
编程相关推荐