#
# Copyright (c) 2021 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

version: 1.0

model:
  name: resnet_v2_prune
  framework: tensorflow

pruning:
  train:
    start_epoch: 0
    end_epoch: 8
    iteration: 10

    optimizer:
      SGD:
        learning_rate: 0.001
        momentum: 0.1
        nesterov: True
        weight_decay: 0.1
    criterion:
      CrossEntropyLoss:
        reduction: sum
  approach:
    weight_compression:
      initial_sparsity: 0.0
      target_sparsity: 0.25
      start_epoch: 0
      end_epoch: 8
      pruners:
        - !Pruner
            start_epoch: 3
            end_epoch: 8
            prune_type: basic_magnitude

evaluation:
  accuracy:
    metric:
      topk: 1

tuning:
  accuracy_criterion:
    relative: 0.01                             # the tuning target of accuracy loss percentage: 1%
  exit_policy:
    timeout: 0                                   # tuning timeout (seconds)
  random_seed: 9527                            # random seed
