Unverified Commit d3e190c7 authored by QuanluZhang's avatar QuanluZhang Committed by GitHub
Browse files

fix bug and add doc (#5088)

parent d6a49755
...@@ -22,7 +22,8 @@ NNI automates feature engineering, neural architecture search, hyperparameter tu ...@@ -22,7 +22,8 @@ NNI automates feature engineering, neural architecture search, hyperparameter tu
* **New release**: [v2.8 is available](https://github.com/microsoft/nni/releases/tag/v2.8) - _released on June-22-2022_ * **New release**: [v2.8 is available](https://github.com/microsoft/nni/releases/tag/v2.8) - _released on June-22-2022_
* **New demo available**: [Youtube entry](https://www.youtube.com/channel/UCKcafm6861B2mnYhPbZHavw) | [Bilibili 入口](https://space.bilibili.com/1649051673) - _last updated on June-22-2022_ * **New demo available**: [Youtube entry](https://www.youtube.com/channel/UCKcafm6861B2mnYhPbZHavw) | [Bilibili 入口](https://space.bilibili.com/1649051673) - _last updated on June-22-2022_
* **New webinar**: [Introducing Retiarii: A deep learning exploratory-training framework on NNI](https://note.microsoft.com/MSR-Webinar-Retiarii-Registration-Live.html) - _scheduled on June-24-2021_ * **New research paper**: [SparTA: Deep-Learning Model Sparsity via Tensor-with-Sparsity-Attribute](https://www.usenix.org/system/files/osdi22-zheng-ningxin.pdf) - _published in OSDI 2022_
* **New research paper**: [Privacy-preserving Online AutoML for Domain-Specific Face Detection](https://openaccess.thecvf.com/content/CVPR2022/papers/Yan_Privacy-Preserving_Online_AutoML_for_Domain-Specific_Face_Detection_CVPR_2022_paper.pdf) - _published in CVPR 2022_
* **Newly upgraded documentation**: [Doc upgraded](https://nni.readthedocs.io/en/stable) * **Newly upgraded documentation**: [Doc upgraded](https://nni.readthedocs.io/en/stable)
......
...@@ -7,6 +7,19 @@ System Research ...@@ -7,6 +7,19 @@ System Research
--------------- ---------------
* `SparTA: Deep-Learning Model Sparsity via Tensor-with-Sparsity-Attribute <https://www.usenix.org/system/files/osdi22-zheng-ningxin.pdf>`__
.. code-block:: bibtex
@inproceedings{zheng2022sparta,
title={$\{$SparTA$\}$:$\{$Deep-Learning$\}$ Model Sparsity via $\{$Tensor-with-Sparsity-Attribute$\}$},
author={Zheng, Ningxin and Lin, Bin and Zhang, Quanlu and Ma, Lingxiao and Yang, Yuqing and Yang, Fan and Wang, Yang and Yang, Mao and Zhou, Lidong},
booktitle={16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22)},
pages={213--232},
year={2022}
}
* `Retiarii: A Deep Learning Exploratory-Training Framework <https://www.usenix.org/system/files/osdi20-zhang_quanlu.pdf>`__ * `Retiarii: A Deep Learning Exploratory-Training Framework <https://www.usenix.org/system/files/osdi20-zhang_quanlu.pdf>`__
.. code-block:: bibtex .. code-block:: bibtex
...@@ -52,6 +65,19 @@ New Algorithms ...@@ -52,6 +65,19 @@ New Algorithms
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
* `Privacy-preserving Online AutoML for Domain-Specific Face Detection <https://openaccess.thecvf.com/content/CVPR2022/papers/Yan_Privacy-Preserving_Online_AutoML_for_Domain-Specific_Face_Detection_CVPR_2022_paper.pdf>`__
.. code-block:: bibtex
@inproceedings{yan2022privacy,
title={Privacy-preserving Online AutoML for Domain-Specific Face Detection},
author={Yan, Chenqian and Zhang, Yuge and Zhang, Quanlu and Yang, Yaming and Jiang, Xinyang and Yang, Yuqing and Wang, Baoyuan},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={4134--4144},
year={2022}
}
* `TextNAS: A Neural Architecture Search Space Tailored for Text Representation <https://arxiv.org/pdf/1912.10729.pdf>`__ * `TextNAS: A Neural Architecture Search Space Tailored for Text Representation <https://arxiv.org/pdf/1912.10729.pdf>`__
.. code-block:: bibtex .. code-block:: bibtex
......
...@@ -237,3 +237,6 @@ class RetiariiAdvisor(MsgDispatcherBase): ...@@ -237,3 +237,6 @@ class RetiariiAdvisor(MsgDispatcherBase):
def handle_import_data(self, data): def handle_import_data(self, data):
# FIXME: ignore imported data for now, as strategy has not supported resume # FIXME: ignore imported data for now, as strategy has not supported resume
pass pass
def handle_add_customized_trial(self, data):
pass
...@@ -98,18 +98,25 @@ def test_multitrial_experiment_resume_view(pytestconfig): ...@@ -98,18 +98,25 @@ def test_multitrial_experiment_resume_view(pytestconfig):
print('python api resume...') print('python api resume...')
exp = RetiariiExperiment.resume(exp_id) exp = RetiariiExperiment.resume(exp_id)
ensure_success(exp) ensure_success(exp)
# sleep here because there would be several seconds for the experiment status to change
# to ERROR from INITIALIZED/RUNNING if the resume gets error.
time.sleep(6)
assert exp.get_status() == 'DONE', f'The experiment status should not be {exp.get_status()}'
# TODO: currently `export_top_models` does not work as strategy's states are not resumed # TODO: currently `export_top_models` does not work as strategy's states are not resumed
# assert isinstance(exp.export_top_models()[0], dict) # assert isinstance(exp.export_top_models()[0], dict)
exp.stop() exp.stop()
# view the above experiment in non blocking mode then stop it # view the above experiment in non blocking mode then stop it
print('python api view...') print('python api view...')
exp = RetiariiExperiment.view(exp_id, non_blocking=True) exp = RetiariiExperiment.view(exp_id, non_blocking=True)
assert exp.get_status() == 'VIEWED', f'The experiment status should not be {exp.get_status()}'
exp.stop() exp.stop()
# the following is nnictl resume and view # the following is nnictl resume and view
print('nnictl resume...') print('nnictl resume...')
new_env = os.environ.copy() new_env = os.environ.copy()
new_env['PYTHONPATH'] = str(pytestconfig.rootpath) new_env['PYTHONPATH'] = str(pytestconfig.rootpath)
# NOTE: experiment status (e.g., ERROR) is not checked, because it runs in blocking mode and
# the rest server exits right after the command is done
proc = subprocess.run(f'nnictl resume {exp_id}', shell=True, env=new_env) proc = subprocess.run(f'nnictl resume {exp_id}', shell=True, env=new_env)
assert proc.returncode == 0, 'resume nas experiment failed with code %d' % proc.returncode assert proc.returncode == 0, 'resume nas experiment failed with code %d' % proc.returncode
print('nnictl view...') print('nnictl view...')
......
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