2017-01-18 3 views
1

Ich möchte eines der vorhandenen vortrainierten mxnet-Modelle available here zu einem vollständig konvolutionellen konvertieren.macht ein vortrainiertes mxnet-Netzwerk vollständig konvolutionell

Dies bedeutet, ein Bild beliebiger Größe eingeben zu können, die Schrittweite anzugeben und eine vollständige Ausgabe zu erhalten. Angenommen, das Modell wurde auf 224x224x3-Bildern trainiert. Ich möchte ein Bild mit 226x226x3 eingeben und stride = 1 angeben, um eine 3x3xnum-classes-Ausgabe zu erhalten. Ich frage nicht "theoretisch", sondern eher nach einem Beispielcode :-)

Danke!

Antwort

1

Gemäß diesem Beispiel: https://github.com/dmlc/mxnet-notebooks/blob/master/python/tutorials/predict_imagenet.ipynb

Sie können die Formdaten ändern, wenn das Modell Bindung:

mod.bind(for_training=False, data_shapes=[('data', (1,3,226,226))]) 

Dann können Sie Eingang ein 3 * 226 * 226 Bild.

Ein weiteres Beispiel: http://mxnet.io/how_to/finetune.html

Dieses Beispiel ersetzt die letzte Schicht vortrainiert Modell mit einer fc Schicht.

+0

Danke für die Antwort. In der Tat kann ich die Eingabegröße ändern. Dies wird jedoch nicht dazu führen, dass das Netzwerk an mehreren Orten erschöpfend angewendet wird. Die Ausgabe bleibt in der gleichen Größe. – zuuz

+0

Wenn Sie die Ausgabe ändern möchten, können Sie die Ausgabeschicht ändern. http://mxnet.io/how_to/finetune.html – kevinthesun

Verwandte Themen