gpt4 book ai didi

python - 我们能够修剪预训练模型吗?示例 : MobileNetV2

转载 作者:行者123 更新时间:2023-12-05 06:16:40 25 4
gpt4 key购买 nike

我正在尝试修剪预训练模型:MobileNetV2,但我遇到了这个错误。尝试在网上搜索,无法理解。我在 Google Colab 上运行。

这些是我的进口商品。

import tensorflow as tf
import tensorflow_model_optimization as tfmot
import tensorflow_datasets as tfds
from tensorflow import keras

import os
import numpy as np
import matplotlib.pyplot as plt
import tempfile
import zipfile

这是我的代码。

model_1 = keras.Sequential([
basemodel,
keras.layers.GlobalAveragePooling2D(),
keras.layers.Dense(1)
])

model_1.compile(optimizer='adam',
loss=keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])

model_1.fit(train_batches,
epochs=5,
validation_data=valid_batches)

prune_low_magnitude = tfmot.sparsity.keras.prune_low_magnitude

pruning_params = {
'pruning_schedule': tfmot.sparsity.keras.PolynomialDecay(initial_sparsity=0.50,
final_sparsity=0.80,
begin_step=0,
end_step=end_step)
}


model_2 = prune_low_magnitude(model_1, **pruning_params)

model_2.compile(optmizer='adam',
loss=keres.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])

这是我得到的错误。

---> 12 model_2 = prune_low_magnitude(model, **pruning_params)

ValueError: Please initialize `Prune` with a supported layer. Layers should either be a `PrunableLayer` instance, or should be supported by the PruneRegistry. You passed: <class 'tensorflow.python.keras.engine.training.Model'>

最佳答案

我相信您正在关注 Keras 示例中的修剪 并跳入使用修剪微调预训练模型 部分,而没有设置您的可修剪层。您必须重新实例化模型并设置您希望设置为 prunable 的层。请按照本指南了解有关如何设置可修剪层的更多信息。

https://www.tensorflow.org/model_optimization/guide/pruning/comprehensive_guide.md

关于python - 我们能够修剪预训练模型吗?示例 : MobileNetV2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62002462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com