2017-01-13 12 views
0

CNTKのモデル編集言語を使用して、訓練済みのResnetモデルを読み込み、新しい最後のレイヤーを追加し、新しいデータセットでモデルを改良します。CNTKの予め訓練されたResnetモデルの画像入力解像度の更新

さらに高解像度の画像を入力として受け入れるようにネットワークアーキテクチャを変更したいと思います(ネットが最後のfcレイヤーなしで完全に畳み込みされるので可能です)。誰かが関連するリンクのやり方を知っていますか?

ありがとうございます!

ps。これは私の現在の.melファイル(AlexNet用)どのように見えるかです:

#load pre-trained model 
model1 = LoadModel("$OrigModel$") #, format=cntk) 
SetDefaultModel(model1) 

#parameters from original ndl file 
cMap4 = 512 
fcWScale = 1.13 
fcBValue = 0 
labelDimNew=10 

#add new final layer 
newL = DnnLayer(cMap4, $labelDimNew$, pool5, fcWScale, fcBValue) 
labelsNew = Input($labelDimNew$, tag="label") 
SetInput(ce, 0, labelsNew) 
SetInput(ce, 1, newL.z) 
SetInput(err, 0, labelsNew) 
SetInput(err, 1, newL.z) 
SetProperty(newL.z, "output", "true") 

#remove old final layer (note: make sure these deletes happen in reverse order) 
DeleteNode(OutputNodes.z) 
DeleteNode(OutputNodes.t) 
DeleteNode(OutputNodes.b) 
DeleteNode(OutputNodes.W) 
DeleteNode(labels) 

#rename nodes to have same name as before. this might not be necessary. 
Rename(labelsNew, labels) 
Rename(newL.*, OutputNodes.*) 

答えて

0

1つのオプションは、高解像度の機能を取るアダプタ機能を持っており、あなたの前に訓練の入力にその出力を差し込むことであろうモデル。 Pythonでは簡単です。私はそれを.melに拡張する方法についてはわかりません。

+0

ありがとうSayan。はい、Pythonではこれが簡単になります。私は、.melでこれを行う方法を理解できない場合、私のCNTKモデルトレーニングスクリプトを完全に変換しなければならないかもしれません。 – patrickBue123

関連する問題