-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[v2.0] Refactor code hierarchy (part 2) #2987
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool
I think we should have an |
Can you provide more details about what functionality should be placed in |
For example, flops counter in compression, average meter in NAS, json2parameter, parameter2json in HPO. |
cd docs/en_US/ | ||
sphinx-build -M html . _build -W | ||
displayName: 'Sphinx Documentation Build check' | ||
#- script: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why annotate these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because some docs failed to build due to package path change. I don't want docs to block developing so they will be fixed later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
better to add a FIXME
or TODO
to mark these lines in case they are forgot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have already started fixing pipeline. https://github.com/microsoft/nni/blob/tmp-v2.0/pipelines/fast-test.yml
@SparkSnail |
@liuzhe-lz for non-weight sharing nas algorithms, they are implemented the same way as hyper-parameter tuning algorithms. we should put them under "hpo" or "nas"? |
As long as users think they are NAS algorithms, I suggest to put them under |
let's keep it for now, and finalize before v2.0 is released |
agree, |
Second part of code hierarchy refactor: Python package hierarchy and installation scripts. (last part: #2962 )
To install NNI from this branch:
Moved Directories
nni.XXX_{tuner,assessor,advisor}
nni.algorithms.hpo.XXX_{tuner,assessor,advisor}
nni.nas.{pytorch,tensorflow}.XXX
nni.algorithms.nas.{pytorch,tensorflow}.XXX
nni.compression.{torch,tensorflow}.{pruning,quantization}
nni.algorithms.compression.{pytorch,tensorflow}.{pruning,quantization}
nni.feature_engineering.XXX_selector
nni.algorithms.feature_engineering.XXX_selector
nni.{msg_dispatcher,protocol,platform,...}
nni.runtime.{msg_dispatcher,protocol,platform,...}
nni.package_utils
nni.tools.package_utils
nni_{annotation,cmd,gpu_tool,trial_tool}
nni.tools.{annotation,cmd,gpu_tool,trial_tool}
nnicli
nni.experiment
Discussion
nni.compression.torch.utils
). I don't want to make everything perfect in PR, as long as they do not block future developing.from nni.tuner import Tuner
. So alternatively I moved all internal stuff toruntime
.PyTorch is called(Mao chosetorch
in model compression andpytorch
in NAS. I don't know which one is better.pytorch
)Summary
What part 2 includes:
What part 2 breaks:
import nni.xxx
codeWhat part 2 not includes: