在新的CNN上加载VGGish音频集权重

时间:2019-04-25 14:51:25

标签: python-3.x

我正在尝试使用预先训练的模型来安装新的CNN,以使google Audioset与VGGish的融合开始。

这是为了我的论文,我试图理解一些东西

input_layer = Input(shape=(480, 64, 1))

cnn = Conv2D(64, (3, 3), padding='same', activation='relu', trainable=False)(input_layer)
cnn = MaxPooling2D((2, 2), strides=(2, 2), name='cnn_1')(cnn)

cnn = Conv2D(128, (3, 3), padding='same', activation='relu', trainable=False)(cnn)
cnn = MaxPooling2D((2, 2), strides=(2, 2), name='cnn_2')(cnn)

cnn = Conv2D(256, (3, 3), padding='same', activation='relu', trainable=False)(cnn)
cnn = Conv2D(256, (3, 3), padding='same', activation='relu', trainable=False)(cnn)
cnn = MaxPooling2D((2, 2), strides=(2, 2), name='cnn_3')(cnn)

cnn = Conv2D(512, (3, 3), padding='same', activation='relu', trainable=False)(cnn)
cnn = Conv2D(512, (3, 3), padding='same', activation='relu', trainable=False)(cnn)
cnn = MaxPooling2D((2, 2), strides=(2, 2), name='last_cnn')(cnn)

sound_model = Model(inputs=input_layer, outputs=cnn)
sound_model.load_weights('vggish_audioset_weights_without_fc2.h5')
x = sound_model.get_layer(name='last_cnn').output

所以我想问你: VGGish权重通过使用输入96x64对数mel图像来计算。 我的数据集是由5秒钟的声音组成的,因此对数分辨率为480x64。我要问你: 它仍然有可能工作吗?我的意思是即使我通过480x64 log mel,权重仍在起作用?所以发生了什么事?每个96x64的权重都相同吗?
我问这是因为,当我通过VGGish标准的输入时,CNN使我进入了输出128x5嵌入。 那怎么可能呢?

0 个答案:

没有答案