回答

1

下面是如何使用預訓練的模型預測教程:https://mxnet.incubator.apache.org/tutorials/python/predict_image.html

步驟: 1.加載預訓練的模式,並創建一個MXNet模塊實例。 2.抓住你的數據和模塊向前跑

+0

謝謝我加載模型與.params文件和模型訓練後創建的.json文件,但仍然無法創建模塊實例。我怎麼做? – Zann

+1

您需要綁定從文件中讀取的模型參數(mod.bind和mod.set_param),並且一旦運行模型,就可以調用feed_forward/forward/predict函數(mod.forward和mod.get_outputs )。 – Guy

+0

@Guy和@kevinthesun,這個概念比較簡單,但實際上並不是那樣。例如,「bind」方法使用的'data_shapes'是什麼?你們中的一個人能舉出一個將這兩個教程捆綁在一起的例子嗎? – Interfector

0

一個可加載模型是這樣的:

sym, arg_params, aux_params = mx.model.load_checkpoint('cnn', 3) 
mod = mx.mod.Module(symbol=sym, context=mx.cpu(), label_names=None) 
mod.bind(for_training=False, data_shapes=[('data', (50,56))], 
     label_shapes=mod._label_shapes) 
mod.set_params(arg_params, aux_params, allow_missing=True) 

但不幸的是,你不能用這個做只有一個預測。您將需要一批50.

+0

你不必有一批50.在data_shapes控件的第一個參數預期批量大小的大小。如教程https://github.com中所述,您可以簡單地使用1:'mod.bind(for_training = False,data_shapes = [('data',(1,3,224,224))],label_shapes = mod._label_shapes)'' /dmlc/mxnet-notebooks/blob/master/python/tutorials/predict_imagenet.ipynb – Guy

+0

@Guy我催促你實際運行代碼。我可以告訴你,你的解決方案是行不通的。問題在於批量大小實際上嵌入在'Reshape'圖層中。 – Interfector