"src/git@developer.sourcefind.cn:gaoqiong/migraphx.git" did not exist on "97cc1dfc682bfbcb36263d649c950d28859daf23"
Unverified Commit e21a6984 authored by liuzhe-lz's avatar liuzhe-lz Committed by GitHub
Browse files

[v2.0] Refactor code hierarchy (part 2) (#2987)

parent f98ee672
/nni_node/node /nni_node/
/nni_node/node.exe /toolchain/
/toolchain
# unit test generated files
/test/model_path/
/test/temp.json
/test/ut/sdk/*.pth
# Logs # Logs
......
SHELL := /bin/bash
_INFO := $(shell echo -e '\033[1;36m')
_END := $(shell echo -e '\033[0m')
## Detect OS
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S), Linux)
OS_SPEC := linux
else ifeq ($(UNAME_S), Darwin)
OS_SPEC := darwin
else
$(error platform $(UNAME_S) not supported)
endif
_PWD := $(PWD)
YARN ?= PATH=$(_PWD)/nni_node:$${PATH} $(PWD)/toolchain/yarn/bin/yarn
.PHONY: build
build: nni_node/node create-symlinks
#$(_INFO) Building NNI Manager $(_END)
cd ts/nni_manager && $(YARN) && $(YARN) build
cp -rf ts/nni_manager/config ts/nni_manager/dist/
#$(_INFO) Building WebUI $(_END)
cd ts/webui && $(YARN) && $(YARN) build
#$(_INFO) Building NAS UI $(_END)
cd ts/nasui && $(YARN) && $(YARN) build
nni_node/node:
mkdir -p toolchain
wget https://nodejs.org/dist/v10.22.1/node-v10.22.1-$(OS_SPEC)-x64.tar.xz -O toolchain/node.tar.xz
wget https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz -O toolchain/yarn.tar.gz
mkdir -p toolchain/node toolchain/yarn
tar -xf toolchain/node.tar.xz -C toolchain/node --strip-components 1
tar -xf toolchain/yarn.tar.gz -C toolchain/yarn --strip-components 1
cp toolchain/node/bin/node nni_node/
.PHONY: create-symlinks
create-symlinks:
ln -sfT ../ts/nni_manager/dist/common nni_node/common
ln -sfT ../ts/nni_manager/dist/config nni_node/config
ln -sfT ../ts/nni_manager/dist/core nni_node/core
ln -sfT ../ts/nni_manager/dist/rest_server nni_node/rest_server
ln -sfT ../ts/nni_manager/dist/training_service nni_node/training_service
ln -sfT ../ts/nni_manager/dist/main.js nni_node/main.js
ln -sfT ../ts/nni_manager/package.json nni_node/package.json
ln -sfT ../ts/nni_manager/node_modules nni_node/node_modules
ln -sfT ../ts/webui/build nni_node/static
mkdir -p nni_node/nasui
ln -sfT ../../ts/nasui/build nni_node/nasui/build
ln -sfT ../../ts/nasui/server.js nni_node/nasui/server.js
.PHONY: clean
clean:
-rm nni_node/node
-rm -rf toolchain
-rm -rf nni_node/common
-rm -rf nni_node/config
-rm -rf nni_node/core
-rm -rf nni_node/rest_server
-rm -rf nni_node/training_service
-rm -rf nni_node/main.js
-rm -rf nni_node/package.json
-rm -rf nni_node/node_modules
-rm -rf nni_node/nasui
-rm -rf nni_node/static
...@@ -14,8 +14,7 @@ jobs: ...@@ -14,8 +14,7 @@ jobs:
echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}" echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}"
displayName: 'Install python tools' displayName: 'Install python tools'
- script: | - script: |
make python3 setup.py develop
python3 -m pip install -U -e .
displayName: 'Install nni toolkit via source code' displayName: 'Install nni toolkit via source code'
- script: | - script: |
set -e set -e
...@@ -46,10 +45,10 @@ jobs: ...@@ -46,10 +45,10 @@ jobs:
cd test cd test
python3 nni_test/nnitest/run_tests.py --config config/pr_tests.yml python3 nni_test/nnitest/run_tests.py --config config/pr_tests.yml
displayName: 'Simple test' displayName: 'Simple test'
- script: | #- script: |
cd docs/en_US/ # cd docs/en_US/
sphinx-build -M html . _build -W # sphinx-build -M html . _build -W
displayName: 'Sphinx Documentation Build check' # displayName: 'Sphinx Documentation Build check'
- job: 'ubuntu_1804_python36_legacy_torch_tf' - job: 'ubuntu_1804_python36_legacy_torch_tf'
pool: pool:
...@@ -65,8 +64,7 @@ jobs: ...@@ -65,8 +64,7 @@ jobs:
echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}" echo "##vso[task.setvariable variable=PATH]${HOME}/.local/bin:${PATH}"
displayName: 'Install python tools' displayName: 'Install python tools'
- script: | - script: |
make python3 setup.py develop
python3 -m pip install -U -e .
displayName: 'Install nni toolkit via source code' displayName: 'Install nni toolkit via source code'
- script: | - script: |
set -e set -e
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
NNI client is a python API of `nnictl`, which implements the most commonly used commands. Users can use this API to control their experiments, collect experiment results and conduct advanced analyses based on experiment results in python code directly instead of using command line. Here is an example: NNI client is a python API of `nnictl`, which implements the most commonly used commands. Users can use this API to control their experiments, collect experiment results and conduct advanced analyses based on experiment results in python code directly instead of using command line. Here is an example:
``` ```
from nni.nnicli import Experiment from nni.experiment import Experiment
# create an experiment instance # create an experiment instance
exp = Experiment() exp = Experiment()
...@@ -28,14 +28,14 @@ exp.stop_experiment() ...@@ -28,14 +28,14 @@ exp.stop_experiment()
## References ## References
```eval_rst ```eval_rst
.. autoclass:: nni.nnicli.Experiment .. autoclass:: nni.experiment.Experiment
:members: :members:
.. autoclass:: nni.nnicli.TrialJob .. autoclass:: nni.experiment.TrialJob
:members: :members:
.. autoclass:: nni.nnicli.TrialHyperParameters .. autoclass:: nni.experiment.TrialHyperParameters
:members: :members:
.. autoclass:: nni.nnicli.TrialMetricData .. autoclass:: nni.experiment.TrialMetricData
:members: :members:
.. autoclass:: nni.nnicli.TrialResult .. autoclass:: nni.experiment.TrialResult
:members: :members:
``` ```
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
__version__ = '999.0.0-developing' __version__ = '999.0.0-developing'
from .env_vars import dispatcher_env_vars from .runtime.env_vars import dispatcher_env_vars
from .utils import ClassArgsValidator from .utils import ClassArgsValidator
if dispatcher_env_vars.SDK_PROCESS != 'dispatcher': if dispatcher_env_vars.SDK_PROCESS != 'dispatcher':
from .trial import * from .trial import *
from .smartparam import * from .smartparam import *
from .nas_utils import training_update from .common.nas_utils import training_update
class NoMoreTrialError(Exception): class NoMoreTrialError(Exception):
def __init__(self, ErrorInfo): def __init__(self, ErrorInfo):
......
...@@ -7,9 +7,9 @@ import logging ...@@ -7,9 +7,9 @@ import logging
import json import json
import base64 import base64
from .common import enable_multi_thread, enable_multi_phase from .runtime.common import enable_multi_thread, enable_multi_phase
from .msg_dispatcher import MsgDispatcher from .runtime.msg_dispatcher import MsgDispatcher
from .package_utils import create_builtin_class_instance, create_customized_class_instance from .tools.package_utils import create_builtin_class_instance, create_customized_class_instance
logger = logging.getLogger('nni.main') logger = logging.getLogger('nni.main')
logger.debug('START') logger.debug('START')
......
...@@ -5,7 +5,7 @@ import logging ...@@ -5,7 +5,7 @@ import logging
import torch import torch
from schema import And, Optional from schema import And, Optional
from ..utils.config_validation import CompressorSchema from nni.compression.pytorch.utils.config_validation import CompressorSchema
from .constants import MASKER_DICT from .constants import MASKER_DICT
from .one_shot import OneshotPruner from .one_shot import OneshotPruner
......
...@@ -13,8 +13,8 @@ import logging ...@@ -13,8 +13,8 @@ import logging
import torch import torch
from schema import And, Optional from schema import And, Optional
from .constants import MASKER_DICT from .constants import MASKER_DICT
from ..utils.config_validation import CompressorSchema from nni.compression.pytorch.utils.config_validation import CompressorSchema
from ..compressor import Pruner from nni.compression.pytorch.compressor import Pruner
__all__ = ['AGPPruner'] __all__ = ['AGPPruner']
......
...@@ -9,7 +9,7 @@ import numpy as np ...@@ -9,7 +9,7 @@ import numpy as np
import torch import torch
from torch.utils.tensorboard import SummaryWriter from torch.utils.tensorboard import SummaryWriter
from nni.compression.torch.compressor import Pruner from nni.compression.pytorch.compressor import Pruner
from .channel_pruning_env import ChannelPruningEnv from .channel_pruning_env import ChannelPruningEnv
from .lib.agent import DDPG from .lib.agent import DDPG
from .lib.utils import get_output_folder from .lib.utils import get_output_folder
......
...@@ -10,7 +10,7 @@ import numpy as np ...@@ -10,7 +10,7 @@ import numpy as np
import torch import torch
import torch.nn as nn import torch.nn as nn
from nni.compression.torch.compressor import PrunerModuleWrapper from nni.compression.pytorch.compressor import PrunerModuleWrapper
from .. import AMCWeightMasker from .. import AMCWeightMasker
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
......
...@@ -8,10 +8,10 @@ import torch ...@@ -8,10 +8,10 @@ import torch
from schema import And, Optional from schema import And, Optional
from nni.utils import OptimizeMode from nni.utils import OptimizeMode
from nni.compression.torch import ModelSpeedup from nni.compression.pytorch import ModelSpeedup
from ..compressor import Pruner from nni.compression.pytorch.compressor import Pruner
from ..utils.config_validation import CompressorSchema from nni.compression.pytorch.utils.config_validation import CompressorSchema
from .simulated_annealing_pruner import SimulatedAnnealingPruner from .simulated_annealing_pruner import SimulatedAnnealingPruner
from .admm_pruner import ADMMPruner from .admm_pruner import ADMMPruner
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Licensed under the MIT license. # Licensed under the MIT license.
from ..pruning import LevelPrunerMasker, SlimPrunerMasker, L1FilterPrunerMasker, \ from . import LevelPrunerMasker, SlimPrunerMasker, L1FilterPrunerMasker, \
L2FilterPrunerMasker, FPGMPrunerMasker, TaylorFOWeightFilterPrunerMasker, \ L2FilterPrunerMasker, FPGMPrunerMasker, TaylorFOWeightFilterPrunerMasker, \
ActivationAPoZRankFilterPrunerMasker, ActivationMeanRankFilterPrunerMasker ActivationAPoZRankFilterPrunerMasker, ActivationMeanRankFilterPrunerMasker
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment