Ich versuche, meinen Einstufungsprozess ein wenig schneller zu machen. Ich dachte daran, das erste input_dim in meinem deploy.prototxt zu erhöhen, aber das scheint nicht zu funktionieren. Es ist sogar ein bisschen langsamer, als jedes Bild einzeln zu klassifizieren.Batch-Größe funktioniert nicht für Caffe mit deploy.prototxt
deploy.prototxt
input: "data"
input_dim: 128
input_dim: 1
input_dim: 120
input_dim: 160
... net description ...
Python Netto-Initialisierung
net=caffe.Net('deploy.prototxt', 'model.caffemodel', caffe.TEST)
net.blobs['data'].reshape(128, 1, 120, 160)
transformer = caffe.io.Transformer({'data':net.blobs['data'].data.shape})
#transformer settings
Python Klassifizierung
images=[None]*128
for i in range(len(images)):
images[i]=caffe.io.load_image('image_path', False)
for j in range(len(images)):
net.blobs['data'].data[j,:,:,:] = transformer.preprocess('data',images[j])
out = net.forward()['prob']
Ich übersprang einige Details, aber die wichtigen Sachen gegeben werden sollte. Ich habe verschiedene Batch-Größen wie 32, 64, ..., 1024 ausprobiert, aber alle fast gleich. Meine Frage ist also, ob jemand eine Idee hat, was ich falsch mache oder was geändert werden muss? Danke für Hilfe!
EDIT:
Einige Timing-Ergebnisse, die avg-Zeiten sind nur die Gesamtzeiten geteilt durch die verarbeiteten Bilder (1044).
Chargengröße: 1
2016-05-04 10: 51: 20.721 - Detektor - INFO - Daten Form: (1, 1, 120, 160)
2016.05.04 10: 51: 35.149 - Haupt - INFO - GPU Timings:
2016.05.04 10: 51: 35.149 - Haupt - INFO - verarbeiteten Bilder: 1044
2016.05.04 10: 51: 35.149 - Haupt - INFO - Gesamtzeit: 14.43s
2016-05-04 10 : 51: 35.149 - Haupt - INFO - avg Zeit: 13.82ms
2016.05.04 10: 51: 35.149 - Haupt - INFO - Ladezeit: 8.31s
2016.05.04 10 : 51: 35.149 - Haupt - INFO - avg-Ladezeit: 7.96ms
2016.05.04 10: 51: 35.149 - Haupt - INFO - klassifizieren Zeit: 5.99s
2016-05- 04 10: 51: 35.149 - Haupt - INFO - avg-einstufen Zeit: 5.74ms
Chargengröße: 32
2016-05-04 10: 52: 30.773 - Detektor - INFO - Daten Form: (32, 1, 120, 160)
2016-05-04 10: 52: 45.135 - Haupt - INFO - GPU Timings:
2016.05.04 10: 52: 45.135 - Haupt - INFO - verarbeiteten Bilder: 1044
2016.05.04 10: 52: 45.135 - Haupt - INFO - Gesamtzeit: 14.36s
2016-05-04 10: 52: 45,136 - Haupt - INFO - durchschnittliche Zeit: 13.76m s
2016-05-04 10: 52: 45,136 - Haupt - INFO - Ladezeit: 7.13S
2016.05.04 10: 52: 45.136 - Haupt - INFO - avg-Ladezeit: 6.83ms
2016.05.04 10: 52: 45.136 - Haupt - INFO - klassifizieren Zeit : 7.13s
2016.05.04 10: 52: 45.136 - Haupt - INFO - avg-klassifizieren Zeit: 6.83ms
Chargengröße: 128
2016-05- 04 10: 53: 17,478 - Detektor - INFO - Datenform: (128, 1, 12 0, 160)
2016-05-04 10: 53: 31.299 - Haupt - INFO - GPU Timings:
2016.05.04 10: 53: 31.299 - Haupt - INFO - verarbeiteten Bilder: 1044
2016.05.04 10: 53: 31.299 - Haupt - INFO - Gesamtzeit: 13.82s
2016.05.04 10: 53: 31.299 - Haupt - INFO - avg Zeit: 13.24ms
2016.05.04 10: 53: 31.299 - Haupt - INFO - Ladezeit: 7.06s
2016.05.04 10: 53: 31.299 - Haupt - INFO - avg-Ladezeit: 6.77ms
2016.05.04 10: 53: 31.299 - Haupt - INFO - klassifizieren Zeit: 6.66s
2016-05-04 10:53: 31.299 - Haupt - INFO - avg-klassifizieren Zeit: 6.38ms
Chargengröße: 1024
2016-05-04 10: 54: 11.546 - Detektor - INFO - Daten Form: (1024, 1, 120, 160)
2016-05-04 10: 54: 25,316 - Haupt - INFO - GPU Timings:
2016.05.04 10: 54: 25.316 - Haupt - INFO - verarbeiteten Bilder: 1044
2016.05.04 10: 54: 25.316 - Haupt - INFO - Gesamtzeit: 13.77s
2016.05.04 10: 54: 25.316 - Haupt - INFO - avg Zeit: 13.19ms
2016.05.04 10: 54: 25.316 - Haupt - INFO - Ladezeit: 7,04s
2016-05-04 10: 54: 25,316 - Haupt - INFO - durchschnittliche Ladezeit: 6,75ms
2016.05.04 10: 54: 25.316 - Haupt - INFO - klassifizieren Zeit: 6.63s
2016.05.04 10: 54: 25.316 - Haupt - INFO - avg-klassifizieren Zeit: 6.35ms
sind Sie GPU oder CPU verwenden? – Shai
Ich benutze GPU: nvidia GTX980 Ti – Feuerteufel
was meinst du mit "alle fast gleich"? Die Laufzeit von 'net.forward()' ist unabhängig von 'batch_size' gleich, oder die Laufzeit * geteilt durch 'batch_size' ist" fast gleich "? kannst du hier ein paar zahlen? – Shai