#tensorflow #tf.keras
Вопрос:
У меня возникла следующая ошибка при попытке отключить сеть Efficientnet B1:
Could not find `Conv2D 3x3` layer with stride 2x2, `input filters == 3` and `VALID` padding and preceding `ZeroPadding2D` with `padding == 1` in all input branches of the model
Я вызываю tfmot.разреженность.keras.prune_low_magnitude со следующими аргументами:
pruning_params = {
'pruning_schedule' : tfmot.sparsity.keras.PolynomialDecay(
initial_sparsity=0.25,
final_sparsity=0.75,
begin_step=0,
end_step=end_step),
'pruning_policy' : tfmot.sparsity.keras.PruneForLatencyOnXNNPack()
}
Как описано здесь: https://www.tensorflow.org/model_optimization/guide/pruning/pruning_for_on_device_inference
В моей эффективной сети нет слоя ZeroPadding2D, поэтому я не понимаю, почему tfmot.sparsity.keras.prune_low_magnitude выдает эту ошибку.
У меня есть несколько conv2d с шагом 2×2:
conv2d layer
name: stem_conv
filters: 32
kernel_size: (3, 3)
strides: (2, 2)
padding: same
conv2d layer
name: block2a_dwconv
filters: None
kernel_size: (3, 3)
strides: (2, 2)
padding: same
conv2d layer
name: block3a_dwconv
filters: None
kernel_size: (5, 5)
strides: (2, 2)
padding: same
conv2d layer
name: block4a_dwconv
filters: None
kernel_size: (3, 3)
strides: (2, 2)
padding: same
conv2d layer
name: block6a_dwconv
filters: None
kernel_size: (5, 5)
strides: (2, 2)
padding: same
Но нигде нет связанного ZeroPadding2D
слоя, тем более перед любым из них.
Изменение типа заполнения на «допустимый» не решает проблему.
Я действительно не знаю, как это решить, и любая помощь приветствуется. Заранее спасибо.
Комментарии:
1. К вашему сведению, есть какая-то проблема, и она еще не устранена. #656