def METHOD_NAME(self, sota_checkpoints_dir, sota_data_dir, eval_test_struct: EvalRunParamsStruct):
    # pylint: disable=too-many-branches
    if sota_data_dir is None:
        pytest.skip("Path to datasets is not set")
    if eval_test_struct.resume_file_ is None or eval_test_struct.sample_type_ == "segmentation":
        pytest.skip("Skip initialization run for the full-precision and all segmentation models")
    sample_type = eval_test_struct.sample_type_
    log_dir = pytest.metrics_dump_path / "logs"
    metric_file_name = self.get_metric_file_name(model_name=eval_test_struct.model_name_)
    metrics_dump_file_path = pytest.metrics_dump_path / metric_file_name
    if MODE == "TF2":
        cmd = (
            f"{sys.executable} examples/tensorflow/{sample_type}/{EVAL_SCRIPT_NAME_MAP[sample_type]} "
            f"-m test --config {eval_test_struct.config_name_} "
            f"--data {sota_data_dir}/{eval_test_struct.dataset_type_}/{eval_test_struct.dataset_name_}/ "
            f"--log-dir={log_dir} --metrics-dump {metrics_dump_file_path}"
        )
        if eval_test_struct.weights_:
            cmd += f" --weights {os.path.join(sota_checkpoints_dir, eval_test_struct.weights_)}"
        if DATASET_TYPE_AVAILABILITY[sample_type]:
            cmd += f" --dataset-type {eval_test_struct.dataset_type_}"
        cmd += " --seed 1"
    else:
        cmd = (
            f"{sys.executable} examples/tensorflow/{sample_type}/main.py -m test "
            f"--config {eval_test_struct.config_name_} "
            f"--data {sota_data_dir}/{eval_test_struct.dataset_name_}/ --log-dir={log_dir}"
        )
    if eval_test_struct.batch_:
        cmd += f" -b {eval_test_struct.batch_}"
    cmd = cmd + f" --metrics-dump {metrics_dump_file_path}"
    exit_code, err_str = self.run_cmd(cmd, cwd=PROJECT_ROOT)
    is_ok = exit_code == 0 and metrics_dump_file_path.exists()
    if is_ok:
        metric_value = self.read_metric(str(metrics_dump_file_path))
        diff_target = round((metric_value - eval_test_struct.expected_init_), 2)
    else:
        metric_value = None
        diff_target = None
    self.row_dict[eval_test_struct.model_name_] = self.make_table_row(
        eval_test_struct.expected_init_,
        metric_value,
        diff_target,
        err_str,
        eval_test_struct.metric_type_,
        eval_test_struct.model_name_,
    )
    retval = self.threshold_check(is_ok, diff_target)
    self.color_dict[eval_test_struct.model_name_], is_accuracy_within_thresholds = retval
    assert is_accuracy_within_thresholds