在CNTK中增加预训练Resnet模型的图像输入分辨率

时间:2017-01-13 18:31:40

标签: cntk

我正在使用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.*)

1 个答案:

答案 0 :(得分:0)

一种选择是使适配器功能具有更高的res功能并将其输出插入预训练模型的输入。在python中它应该是直截了当的。我不知道如何将其扩展到.mel。