Repository: microsoft/nni

Issue:
wrong field name in ExperimentConfig, "accessor" should be "assessor"
**Environment**:
- NNI version: 2.0
- NNI mode (local|remote|pai): local
- Client OS: Ubuntu 20.10
- Server OS (for remote mode only):
- Python version: 3.8.5
- PyTorch/TensorFlow version: pytorch 1.9.0a+a62b0de
- Is conda/virtualenv/venv used?: conda 4.9.2
- Is running in Docker?: No

**Log message**:
 - nnimanager.log: None
 - dispatcher.log: None
 - nnictl stdout and stderr:
```
WARNING: Validation with V1 schema failed. Trying to convert from V2 format...
ERROR: Conversion from v2 format failed: ValueError('ExperimentConfig: Unrecognized fields assessor')
ERROR: Config in v1 format validation failed. KeyError('trial')
```

**What issue meet, what's expected?**:
In `ExperimentConfig`, field `accessor`  should be `assessor`.

**How to reproduce it?**: 
A V2 config with 'assessor'

**Additional information**:
Fix by renaming all `accessor` in `nni.experiment.config.common.py` to `assessor`.
There are some `accessor` in doc as well.


Discussion:
Thanks @ByronCHAO for the feedback, would you like to contribute a PR to fix the issue? We are really welling to have your contributions on codes (as you already went so far, found the root cause =) ).

Resolving patch:
diff --git a/nni/assessor.py b/nni/assessor.py
--- a/nni/assessor.py
+++ b/nni/assessor.py
@@ -43,7 +43,7 @@ class Assessor(Recoverable):
     it hints NNI framework that the trial is likely to result in a poor final accuracy,
     and therefore should be killed to save resource.
 
-    If an accessor want's to be notified when a trial ends, it can also override :meth:`trial_end`.
+    If an assessor want's to be notified when a trial ends, it can also override :meth:`trial_end`.
 
     To write a new assessor, you can reference :class:`~nni.medianstop_assessor.MedianstopAssessor`'s code as an example.
 
diff --git a/nni/experiment/config/common.py b/nni/experiment/config/common.py
--- a/nni/experiment/config/common.py
+++ b/nni/experiment/config/common.py
@@ -63,7 +63,7 @@ class ExperimentConfig(ConfigBase):
     experiment_working_directory: Optional[PathLike] = None
     tuner_gpu_indices: Optional[Union[List[int], str]] = None
     tuner: Optional[_AlgorithmConfig] = None
-    accessor: Optional[_AlgorithmConfig] = None
+    assessor: Optional[_AlgorithmConfig] = None
     advisor: Optional[_AlgorithmConfig] = None
     training_service: Union[TrainingServiceConfig, List[TrainingServiceConfig]]
 
@@ -127,8 +127,8 @@ def _validate_for_exp(config: ExperimentConfig) -> None:
         raise ValueError('ExperimentConfig: annotation is not supported in this mode')
     if util.count(config.search_space, config.search_space_file) != 1:
         raise ValueError('ExperimentConfig: search_space and search_space_file must be set one')
-    if util.count(config.tuner, config.accessor, config.advisor) != 0:
-        raise ValueError('ExperimentConfig: tuner, accessor, and advisor must not be set in for this mode')
+    if util.count(config.tuner, config.assessor, config.advisor) != 0:
+        raise ValueError('ExperimentConfig: tuner, assessor, and advisor must not be set in for this mode')
     if config.tuner_gpu_indices is not None:
         raise ValueError('ExperimentConfig: tuner_gpu_indices is not supported in this mode')
 


Test patch: