Voici mon réseau neuronal à convolution:
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
où
frame = tf.placeholder('float', [None, 640-10, 465, 3])
controls_at_each_frame = tf.placeholder('float', [None, 4]) # [w, a, s, d] (1/0)
sont l'espace réservé utilisé.
Je fabrique une voiture autonome à GTA San Andreas. Ce que je veux faire, c'est concaténer frame
et controls_at_each_frame
En une seule couche qui sera ensuite envoyée à une couche entièrement connectée. Lorsque je lance, j'obtiens une erreur TypeError: concat() got multiple values for argument 'axis'
à
conv2 = tf.concat(conv2, controls_at_each_frame, axis=1)
Pourriez-vous expliquer pourquoi cela se produit?
Essayer
conv2 = tf.concat((conv2, controls_at_each_frame), axis=1)
.
Notez que je mets les deux images que vous souhaitez concaténer entre parenthèses, comme spécifié ici .