是否可以使用VGG-16的预训练模型特性并传递到Keras中其他模型的GlobalAveragePooling2D()层?
用于存储VGG-16网络的脱机功能的示例代码:
model = applications.VGG16(include_top=False, weights='imagenet')
bottleneck_features_train = model.predict(input)
顶级型号的样例代码:
model = Sequential()
model.add(GlobalAveragePooling2D()) # Here I want to use pr
我正在使用以下函数来扁平化网络:
#############################################################################
# Flattening the NET
#############################################################################
def flattenNetwork(net):
flatNet = []
shapes = []
for param in net.parameters():
#if i
根据的研究,有两种剪枝策略,一次修剪和迭代剪枝.这两种方法在第2页中都有解释。一次剪枝的初始化很容易找到,因为我们训练网络进行j迭代,然后使用所获得的掩码将权值重置为初始化。我不明白的是迭代剪枝。在第2页,它说:
我们的重点是迭代剪枝,它反复训练,修剪,并在n轮上重置网络;
resets the network over n rounds是什么意思?这是否意味着,在每一轮剪枝时,我们使用当前剪枝级别获得的掩码将网络权重重置为初始化?或者说,我们在不重置初始化的情况下迭代地训练和修剪网络,然后经过n级的剪枝,我们将使用最后的掩码重新设置到初始化。