Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
9fb25ccc
Unverified
Commit
9fb25ccc
authored
Jul 17, 2019
by
SparkSnail
Committed by
GitHub
Jul 17, 2019
Browse files
Merge pull request #189 from microsoft/master
merge master
parents
1500458a
7c4bc33b
Changes
180
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
27 additions
and
339 deletions
+27
-339
docs/zh_CN/WebUI.md
docs/zh_CN/WebUI.md
+7
-2
docs/zh_CN/advanced.rst
docs/zh_CN/advanced.rst
+1
-1
docs/zh_CN/conf.py
docs/zh_CN/conf.py
+3
-2
docs/zh_CN/metisTuner.md
docs/zh_CN/metisTuner.md
+0
-19
docs/zh_CN/multiPhase.md
docs/zh_CN/multiPhase.md
+0
-46
docs/zh_CN/networkmorphismTuner.md
docs/zh_CN/networkmorphismTuner.md
+0
-245
docs/zh_CN/reference.rst
docs/zh_CN/reference.rst
+2
-2
examples/trials/NAS/README_zh_CN.md
examples/trials/NAS/README_zh_CN.md
+0
-8
examples/trials/README_zh_CN.md
examples/trials/README_zh_CN.md
+2
-2
examples/trials/auto-gbdt/config.yml
examples/trials/auto-gbdt/config.yml
+1
-1
examples/trials/auto-gbdt/config_metis.yml
examples/trials/auto-gbdt/config_metis.yml
+1
-1
examples/trials/auto-gbdt/config_pai.yml
examples/trials/auto-gbdt/config_pai.yml
+1
-1
examples/trials/cifar10_pytorch/utils.py
examples/trials/cifar10_pytorch/utils.py
+1
-1
examples/trials/kaggle-tgs-salt/README_zh_CN.md
examples/trials/kaggle-tgs-salt/README_zh_CN.md
+2
-2
examples/trials/kaggle-tgs-salt/predict.py
examples/trials/kaggle-tgs-salt/predict.py
+1
-1
examples/trials/mnist/config.yml
examples/trials/mnist/config.yml
+1
-1
examples/trials/mnist/config_assessor.yml
examples/trials/mnist/config_assessor.yml
+1
-1
examples/trials/mnist/config_frameworkcontroller.yml
examples/trials/mnist/config_frameworkcontroller.yml
+1
-1
examples/trials/mnist/config_kubeflow.yml
examples/trials/mnist/config_kubeflow.yml
+1
-1
examples/trials/mnist/config_pai.yml
examples/trials/mnist/config_pai.yml
+1
-1
No files found.
docs/zh_CN/WebUI.md
View file @
9fb25ccc
...
...
@@ -8,6 +8,7 @@
*
支持下载 Experiment 结果。
*
支持导出 nni-manager 和 dispatcher 的日志文件。
*
如果有任何问题,可以点击 “Feedback” 告诉我们。
*
如果 Experiment 包含了超过 1000 个 Trial,可改变刷新间隔。

...
...
@@ -58,6 +59,10 @@

*
如果要比较某些 Trial,可选择并点击 "Compare" 来查看结果。

*
可使用 "Copy as python" 按钮来拷贝 Trial 的参数。

...
...
@@ -68,6 +73,6 @@
*
Kill: 可终止正在运行的任务。
*
支持搜索某个特定的 Trial。
*
中间结果图
。
*
Intermediate Result Graph: 可看到图中默认和其它的键值
。

\ No newline at end of file

\ No newline at end of file
docs/zh_CN/advanced.rst
View file @
9fb25ccc
高级功能
高级功能
=====================
.. toctree::
...
...
docs/zh_CN/conf.py
View file @
9fb25ccc
...
...
@@ -96,7 +96,7 @@ html_theme_options = {
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#
html_static_path = ['
_
static']
html_static_path
=
[
'
../
static'
]
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
...
...
@@ -191,4 +191,5 @@ def setup(app):
'enable_eval_rst'
:
True
,
'enable_auto_toc_tree'
:
False
,
},
True
)
app
.
add_transform
(
AutoStructify
)
\ No newline at end of file
app
.
add_transform
(
AutoStructify
)
app
.
add_stylesheet
(
'css/custom.css'
)
docs/zh_CN/metisTuner.md
deleted
100644 → 0
View file @
1500458a
# Metis Tuner
## Metis Tuner
大多数调参工具仅仅预测最优配置,而
[
Metis
](
https://www.microsoft.com/en-us/research/publication/metis-robustly-tuning-tail-latencies-cloud-systems/
)
的优势在于有两个输出:(a) 最优配置的当前预测结果, 以及 (b) 下一次 Trial 的建议。 不再需要随机猜测!
大多数工具假设训练集没有噪声数据,但 Metis 会知道是否需要对某个超参重新采样。
大多数工具都有着重于在已有结果上继续发展的问题,而 Metis 的搜索策略可以在探索,发展和重新采样(可选)中进行平衡。
Metis 属于基于序列的贝叶斯优化 (SMBO) 的类别,它也基于贝叶斯优化框架。 为了对超参-性能空间建模,Metis 同时使用了高斯过程(Gaussian Process)和高斯混合模型(GMM)。 由于每次 Trial 都可能有很高的时间成本,Metis 大量使用了已有模型来进行推理计算。 在每次迭代中,Metis 执行两个任务:
在高斯过程空间中找到全局最优点。 这一点表示了最佳配置。
它会标识出下一个超参的候选项。 这是通过对隐含信息的探索、挖掘和重采样来实现的。
注意,搜索空间仅支持
`choice`
,
`quniform`
,
`uniform`
和
`randint`
。
更多详情,参考论文:https://www.microsoft.com/en-us/research/publication/metis-robustly-tuning-tail-latencies-cloud-systems/
\ No newline at end of file
docs/zh_CN/multiPhase.md
deleted
100644 → 0
View file @
1500458a
## 多阶段 Experiment
通常,每个 Trial 任务只需要从 Tuner 获取一个配置(超参等),然后使用这个配置执行并报告结果,然后退出。 但有时,一个 Trial 任务可能需要从 Tuner 请求多次配置。 这是一个非常有用的功能。 例如:
1.
在一些训练平台上,需要数十秒来启动一个任务。 如果一个配置只需要一分钟就能完成,那么每个 Trial 任务中只运行一个配置就会非常低效。 这种情况下,可以在同一个 Trial 任务中,完成一个配置后,再请求并完成另一个配置。 极端情况下,一个 Trial 任务可以运行无数个配置。 如果设置了并发(例如设为 6),那么就会有 6 个
**长时间**
运行的任务来不断尝试不同的配置。
2.
有些类型的模型需要进行多阶段的训练,而下一个阶段的配置依赖于前一个阶段的结果。 例如,为了找到模型最好的量化结果,训练过程通常为:自动量化算法(例如 NNI 中的 TunerJ)选择一个位宽(如 16 位), Trial 任务获得此配置,并训练数个 epoch,并返回结果(例如精度)。 算法收到结果后,决定是将 16 位改为 8 位,还是 32 位。 此过程会重复多次。
上述情况都可以通过多阶段执行的功能来支持。 为了支持这些情况,一个 Trial 任务需要能从 Tuner 请求多个配置。 Tuner 需要知道两次配置请求是否来自同一个 Trial 任务。 同时,多阶段中的 Trial 任务需要多次返回最终结果。
注意,
`nni.get_next_parameter()`
和
`nni.report_final_result()`
需要被依次调用:
**先调用前者,然后调用后者,并按此顺序重复调用**
。 如果
`nni.get_next_parameter()`
被连续多次调用,然后再调用
`nni.report_final_result()`
,这会造成最终结果只会与 get_next_parameter 所返回的最后一个配置相关联。 因此,前面的 get_next_parameter 调用都没有关联的结果,这可能会造成一些多阶段算法出问题。
## 创建多阶段的 Experiment
### 编写使用多阶段的 Trial 代码:
**1. 更新 Trial 代码**
Trial 代码中使用多阶段非常容易,样例如下:
```python
# ...
for i in range(5):
# 从 Tuner 中获得参数
tuner_param = nni.get_next_parameter()
# 使用参数
# ...
# 为上面获取的参数返回最终结果
nni.report_final_result()
# ...
# ...
```
**2. 修改 Experiment 配置**
要启用多阶段,需要在 Experiment 的 YAML 配置文件中增加
`multiPhase: true`
。 如果不添加此参数,
`nni.get_next_parameter()`
会一直返回同样的配置。 对于所有内置的 Tuner 和 Advisor,不需要修改任何代码,就直接支持多阶段请求配置。
### 编写使用多阶段的 Tuner:
强烈建议首先阅读
[
自定义 Tuner
](
https://nni.readthedocs.io/en/latest/Customize_Tuner.html
)
,再开始编写多阶段 Tuner。 与普通 Tuner 不同的是,必须继承于
`MultiPhaseTuner`
(在 nni.multi_phase_tuner 中)。
`Tuner`
与
`MultiPhaseTuner`
之间最大的不同是,MultiPhaseTuner 多了一些信息,即
`trial_job_id`
。 有了这个信息, Tuner 能够知道哪个 Trial 在请求配置信息, 返回的结果是哪个 Trial 的。 通过此信息,Tuner 能够灵活的为不同的 Trial 及其阶段实现功能。 例如,可在 generate_parameters 方法中使用 trial_job_id 来为特定的 Trial 任务生成超参。
当然,要使用自定义的多阶段 Tuner ,也需要
**在 Experiment 的 YAML 配置文件中增加`multiPhase: true`**
。
[
ENAS Tuner
](
https://github.com/countif/enas_nni/blob/master/nni/examples/tuners/enas/nni_controller_ptb.py
)
是多阶段 Tuner 的样例。
\ No newline at end of file
docs/zh_CN/networkmorphismTuner.md
deleted
100644 → 0
View file @
1500458a
# Network Morphism Tuner
## 1. 介绍
[
Autokeras
](
https://arxiv.org/abs/1806.10282
)
是使用 Network Morphism 算法的流行的自动机器学习工具。 Autokeras 的基本理念是使用贝叶斯回归来预测神经网络架构的指标。 每次都会从父网络生成几个子网络。 然后使用朴素贝叶斯回归,从网络的历史训练结果来预测它的指标值。 接下来,会选择预测结果最好的子网络加入训练队列中。 在
[
此代码
](
https://github.com/jhfjhfj1/autokeras
)
的启发下,我们在 NNI 中实现了 Network Morphism 算法。
要了解 Network Morphism Trial 的用法,参考
[
Readme_zh_CN.md
](
https://github.com/Microsoft/nni/blob/master/examples/trials/network_morphism/README_zh_CN.md
)
,了解更多细节。
## 2. 用法
要使用 Network Morphism,需要如下配置
`config.yml`
文件:
```
yaml
tuner
:
#选择: NetworkMorphism
builtinTunerName
:
NetworkMorphism
classArgs
:
#可选项: maximize, minimize
optimize_mode
:
maximize
#当前仅支持 cv 领域
task
:
cv
#修改来支持实际图像宽度
input_width
:
32
#修改来支持实际图像通道
input_channel
:
3
#修改来支持实际的分类数量
n_output_node
:
10
```
在训练过程中,会生成一个 JSON 文件来表示网络图。 可调用 "json
\_
to
\_
graph()" 函数来将 JSON 文件转化为 Pytoch 或 Keras 模型。
```
python
import
nni
from
nni.networkmorphism_tuner.graph
import
json_to_graph
def
build_graph_from_json
(
ir_model_json
):
"""从 JSON 生成 Pytorch 模型
"""
graph
=
json_to_graph
(
ir_model_json
)
model
=
graph
.
produce_torch_model
()
return
model
# 从网络形态 Tuner 中获得下一组参数
RCV_CONFIG
=
nni
.
get_next_parameter
()
# 调用函数来生成 Pytorch 或 Keras 模型
net
=
build_graph_from_json
(
RCV_CONFIG
)
# 训练过程
# ....
# 将最终精度返回给 NNI
nni
.
report_final_result
(
best_acc
)
```
如果需要保存并
**读取最佳模型**
,推荐采用以下方法。
```
python
# 1. 使用 NNI API
## 从 Web 界面获取最佳模型的 ID
## 或查看 `nni/experiments/experiment_id/log/model_path/best_model.txt' 文件
## 从 JSON 文件中读取,并使用 NNI API 来加载
with
open
(
"best-model.json"
)
as
json_file
:
json_of_model
=
json_file
.
read
()
model
=
build_graph_from_json
(
json_of_model
)
# 2. 使用框架的 API (与具体框架相关)
## 2.1 Keras API
## 在 Trial 代码中使用 Keras API 保存
## 最好保存 NNI 的 ID
model_id
=
nni
.
get_sequence_id
()
## 将模型序列化为 JSON
model_json
=
model
.
to_json
()
with
open
(
"model-{}.json"
.
format
(
model_id
),
"w"
)
as
json_file
:
json_file
.
write
(
model_json
)
## 将权重序列化至 HDF5
model
.
save_weights
(
"model-{}.h5"
.
format
(
model_id
))
## 重用模型时,使用 Keras API 读取
## 读取 JSON 文件,并创建模型
model_id
=
""
# 需要重用的模型 ID
with
open
(
'model-{}.json'
.
format
(
model_id
),
'r'
)
as
json_file
:
loaded_model_json
=
json_file
.
read
()
loaded_model
=
model_from_json
(
loaded_model_json
)
## 将权重加载到新模型中
loaded_model
.
load_weights
(
"model-{}.h5"
.
format
(
model_id
))
## 2.2 PyTorch API
## 在 Trial 代码中使用 PyTorch API 保存
model_id
=
nni
.
get_sequence_id
()
torch
.
save
(
model
,
"model-{}.pt"
.
format
(
model_id
))
## 重用模型时,使用 PyTorch API 读取
model_id
=
""
# 需要重用的模型 ID
loaded_model
=
torch
.
load
(
"model-{}.pt"
.
format
(
model_id
))
```
## 3. 文件结构
Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文件:
-
`networkmorphism_tuner.py`
是使用 network morphism 算法的 Tuner。
-
`bayesian.py`
是用来基于已经搜索道德模型来预测未知模型指标的贝叶斯算法。
-
`graph.py`
是元图数据结构。 类 Graph 表示了模型的神经网络图。
-
Graph 从模型中抽取神经网络。
-
图中的每个节点都是层之间的中间张量。
-
在图中,边表示层。
-
注意,多条边可能会表示同一层。
-
`graph_transformer.py`
包含了一些图转换,包括变宽,变深,或在图中增加跳跃连接。
-
`layers.py`
包括模型中用到的所有层。
-
`layer_transformer.py`
包含了一些层转换,包括变宽,变深,或在层中增加跳跃连接。
-
`nn.py`
包含生成初始化网的类。
-
`metric.py`
包括了一些指标类,如 Accuracy 和 MSE。
-
`utils.py`
是使用 Keras 在数据集
`cifar10`
上搜索神经网络的样例。
## 4. 网络表示的 JSON 样例
这是定义的中间表示 JSON 样例,在架构搜索过程中会从 Tuner 传到 Trial。 可调用 "json
\_
to
\_
graph()" 函数来将 JSON 文件转化为 Pytoch 或 Keras 模型。 样例如下。
```
json
{
"input_shape"
:
[
32
,
32
,
3
],
"weighted"
:
false
,
"operation_history"
:
[],
"layer_id_to_input_node_ids"
:
{
"0"
:
[
0
],
"1"
:
[
1
],
"2"
:
[
2
],
"3"
:
[
3
],
"4"
:
[
4
],
"5"
:
[
5
],
"6"
:
[
6
],
"7"
:
[
7
],
"8"
:
[
8
],
"9"
:
[
9
],
"10"
:
[
10
],
"11"
:
[
11
],
"12"
:
[
12
],
"13"
:
[
13
],
"14"
:
[
14
],
"15"
:
[
15
],
"16"
:
[
16
]
},
"layer_id_to_output_node_ids"
:
{
"0"
:
[
1
],
"1"
:
[
2
],
"2"
:
[
3
],
"3"
:
[
4
],
"4"
:
[
5
],
"5"
:
[
6
],
"6"
:
[
7
],
"7"
:
[
8
],
"8"
:
[
9
],
"9"
:
[
10
],
"10"
:
[
11
],
"11"
:
[
12
],
"12"
:
[
13
],
"13"
:
[
14
],
"14"
:
[
15
],
"15"
:
[
16
],
"16"
:
[
17
]
},
"adj_list"
:
{
"0"
:
[[
1
,
0
]],
"1"
:
[[
2
,
1
]],
"2"
:
[[
3
,
2
]],
"3"
:
[[
4
,
3
]],
"4"
:
[[
5
,
4
]],
"5"
:
[[
6
,
5
]],
"6"
:
[[
7
,
6
]],
"7"
:
[[
8
,
7
]],
"8"
:
[[
9
,
8
]],
"9"
:
[[
10
,
9
]],
"10"
:
[[
11
,
10
]],
"11"
:
[[
12
,
11
]],
"12"
:
[[
13
,
12
]],
"13"
:
[[
14
,
13
]],
"14"
:
[[
15
,
14
]],
"15"
:
[[
16
,
15
]],
"16"
:
[[
17
,
16
]],
"17"
:
[]
},
"reverse_adj_list"
:
{
"0"
:
[],
"1"
:
[[
0
,
0
]],
"2"
:
[[
1
,
1
]],
"3"
:
[[
2
,
2
]],
"4"
:
[[
3
,
3
]],
"5"
:
[[
4
,
4
]],
"6"
:
[[
5
,
5
]],
"7"
:
[[
6
,
6
]],
"8"
:
[[
7
,
7
]],
"9"
:
[[
8
,
8
]],
"10"
:
[[
9
,
9
]],
"11"
:
[[
10
,
10
]],
"12"
:
[[
11
,
11
]],
"13"
:
[[
12
,
12
]],
"14"
:
[[
13
,
13
]],
"15"
:
[[
14
,
14
]],
"16"
:
[[
15
,
15
]],
"17"
:
[[
16
,
16
]]
},
"node_list"
:
[
[
0
,
[
32
,
32
,
3
]],
[
1
,
[
32
,
32
,
3
]],
[
2
,
[
32
,
32
,
64
]],
[
3
,
[
32
,
32
,
64
]],
[
4
,
[
16
,
16
,
64
]],
[
5
,
[
16
,
16
,
64
]],
[
6
,
[
16
,
16
,
64
]],
[
7
,
[
16
,
16
,
64
]],
[
8
,
[
8
,
8
,
64
]],
[
9
,
[
8
,
8
,
64
]],
[
10
,
[
8
,
8
,
64
]],
[
11
,
[
8
,
8
,
64
]],
[
12
,
[
4
,
4
,
64
]],
[
13
,
[
64
]],
[
14
,
[
64
]],
[
15
,
[
64
]],
[
16
,
[
64
]],
[
17
,
[
10
]]
],
"layer_list"
:
[
[
0
,
[
"StubReLU"
,
0
,
1
]],
[
1
,
[
"StubConv2d"
,
1
,
2
,
3
,
64
,
3
]],
[
2
,
[
"StubBatchNormalization2d"
,
2
,
3
,
64
]],
[
3
,
[
"StubPooling2d"
,
3
,
4
,
2
,
2
,
0
]],
[
4
,
[
"StubReLU"
,
4
,
5
]],
[
5
,
[
"StubConv2d"
,
5
,
6
,
64
,
64
,
3
]],
[
6
,
[
"StubBatchNormalization2d"
,
6
,
7
,
64
]],
[
7
,
[
"StubPooling2d"
,
7
,
8
,
2
,
2
,
0
]],
[
8
,
[
"StubReLU"
,
8
,
9
]],
[
9
,
[
"StubConv2d"
,
9
,
10
,
64
,
64
,
3
]],
[
10
,
[
"StubBatchNormalization2d"
,
10
,
11
,
64
]],
[
11
,
[
"StubPooling2d"
,
11
,
12
,
2
,
2
,
0
]],
[
12
,
[
"StubGlobalPooling2d"
,
12
,
13
]],
[
13
,
[
"StubDropout2d"
,
13
,
14
,
0.25
]],
[
14
,
[
"StubDense"
,
14
,
15
,
64
,
64
]],
[
15
,
[
"StubReLU"
,
15
,
16
]],
[
16
,
[
"StubDense"
,
16
,
17
,
64
,
10
]]
]
}
```
每个模型的定义都是一个 JSON 对象 (也可以认为模型是一个
[
有向无环图
](
https://en.wikipedia.org/wiki/Directed_acyclic_graph
)
):
-
`input_shape`
是整数的列表,不包括批量维度。
-
`weighted`
表示是否权重和偏移值应该包含在此神经网络图中。
-
`operation_history`
是保存了所有网络形态操作的列表。
-
`layer_id_to_input_node_ids`
是字典实例,将层的标识映射到输入节点标识。
-
`layer_id_to_output_node_ids`
是字典实例,将层的标识映射到输出节点标识。
-
`adj_list`
是二维列表。 是图的邻接列表。 第一维是张量标识。 在每条边的列表中,元素是两元组(张量标识,层标识)。
-
`reverse_adj_list`
是与 adj_list 格式一样的反向邻接列表。
-
`node_list`
是一个整数列表。 列表的索引是标识。
-
`layer_list`
是层的列表。 列表的索引是标识。
-
对于
`StubConv (StubConv1d, StubConv2d, StubConv3d)`
,后面的数字表示节点的输入 id(或 id 列表),节点输出 id,input_channel,filters,kernel_size,stride 和 padding。
-
对于
`StubDense`
,后面的数字表示节点的输入 id (或 id 列表),节点输出 id,input_units 和 units。
-
对于
`StubBatchNormalization (StubBatchNormalization1d, StubBatchNormalization2d, StubBatchNormalization3d)`
,后面的数字表示节点输入 id(或 id 列表),节点输出 id,和特征数量。
-
对于
`StubDropout(StubDropout1d, StubDropout2d, StubDropout3d)`
,后面的数字表示节点的输入 id (或 id 列表),节点的输出 id 和 dropout 率。
-
对于
`StubPooling (StubPooling1d, StubPooling2d, StubPooling3d)`
后面的数字表示节点的输入 id(或 id 列表),节点输出 id,kernel_size, stride 和 padding。
-
对于其它层,后面的数字表示节点的输入 id(或 id 列表)以及节点的输出 id。
## 5. TODO
下一步,会将 API 从固定的网络生成方法改为更多的网络操作生成方法。 此外,还会使用 ONNX 格式来替代 JSON 作为中间表示结果。
\ No newline at end of file
docs/zh_CN/reference.rst
View file @
9fb25ccc
...
...
@@ -3,10 +3,10 @@
.. toctree::
:maxdepth: 3
命令行<Nnictl>
Python API<sdk_reference>
Annotation<AnnotationSpec>
配置<ExperimentConfig>
搜索空间<SearchSpaceSpec>
实现训练平台<HowToImplementTrainingService>
\ No newline at end of file
实现训练平台<HowToImplementTrainingService>
examples/trials/NAS/README_zh_CN.md
deleted
100644 → 0
View file @
1500458a
**在 NNI 中运行神经网络架构搜索**
===
参考
[
NNI-NAS-Example
](
https://github.com/Crysple/NNI-NAS-Example
)
,来使用贡献者提供的 NAS 接口。
谢谢可爱的贡献者!
欢迎越来越多的人加入我们!
\ No newline at end of file
examples/trials/README_zh_CN.md
View file @
9fb25ccc
...
...
@@ -137,7 +137,7 @@ def train(args, params):
_
,
acc
=
model
.
evaluate
(
x_test
,
y_test
,
verbose
=
0
)
...
...
```
**4) 发送最终结果**
...
...
@@ -160,7 +160,7 @@ def train(args, params):
_
,
acc
=
model
.
evaluate
(
x_test
,
y_test
,
verbose
=
0
)
nni
.
report_final_result
(
acc
)
...
...
```
这是完整的样例:
...
...
examples/trials/auto-gbdt/config.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
#SMAC (SMAC should be installed through nnictl)
builtinTunerName
:
TPE
classArgs
:
...
...
examples/trials/auto-gbdt/config_metis.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space_metis.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
#SMAC (SMAC should be installed through nnictl)
builtinTunerName
:
MetisTuner
classArgs
:
...
...
examples/trials/auto-gbdt/config_pai.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
#SMAC (SMAC should be installed through nnictl)
builtinTunerName
:
TPE
classArgs
:
...
...
examples/trials/cifar10_pytorch/utils.py
View file @
9fb25ccc
...
...
@@ -6,8 +6,8 @@
import
os
import
sys
import
time
import
math
import
torch
import
torch.nn
as
nn
import
torch.nn.init
as
init
...
...
examples/trials/kaggle-tgs-salt/README_zh_CN.md
View file @
9fb25ccc
...
...
@@ -17,7 +17,7 @@
将目录 0-3 训练 100 个 epoch,对于每个目录,训练三个模型:
python3 train.py --ifolds 0 --epochs 100 --model_name UNetResNetV4
python3 train.py --ifolds 0 --epochs 100 --model_name UNetResNetV4
python3 train.py --ifolds 0 --epochs 100 --model_name UNetResNetV5 --layers 50
python3 train.py --ifolds 0 --epochs 100 --model_name UNetResNetV6
...
...
@@ -26,7 +26,7 @@
使用余弦退火学习率调度器运行 300 次 epoch 来微调阶段 1 的模型:
python3 train.py --ifolds 0 --epochs 300 --lrs cosine --lr 0.001 --min_lr 0.0001 --model_name UNetResNetV4
python3 train.py --ifolds 0 --epochs 300 --lrs cosine --lr 0.001 --min_lr 0.0001 --model_name UNetResNetV4
阶段 3:
...
...
examples/trials/kaggle-tgs-salt/predict.py
View file @
9fb25ccc
...
...
@@ -133,7 +133,7 @@ def generate_preds(outputs, target_size, pad_mode, threshold=0.5):
if
pad_mode
==
'resize'
:
cropped
=
resize_image
(
output
,
target_size
=
target_size
)
else
:
cropped
=
crop_image
_softmax
(
output
,
target_size
=
target_size
)
cropped
=
crop_image
(
output
,
target_size
=
target_size
)
pred
=
binarize
(
cropped
,
threshold
)
preds
.
append
(
pred
)
...
...
examples/trials/mnist/config.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
#SMAC (SMAC should be installed through nnictl)
builtinTunerName
:
TPE
classArgs
:
...
...
examples/trials/mnist/config_assessor.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
#SMAC (SMAC should be installed through nnictl)
builtinTunerName
:
TPE
classArgs
:
...
...
examples/trials/mnist/config_frameworkcontroller.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
builtinTunerName
:
TPE
classArgs
:
#choice: maximize, minimize
...
...
examples/trials/mnist/config_kubeflow.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
builtinTunerName
:
TPE
classArgs
:
#choice: maximize, minimize
...
...
examples/trials/mnist/config_pai.yml
View file @
9fb25ccc
...
...
@@ -9,7 +9,7 @@ searchSpacePath: search_space.json
#choice: true, false
useAnnotation
:
false
tuner
:
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
#choice: TPE, Random, Anneal, Evolution, BatchTuner, MetisTuner
, GPTuner
#SMAC (SMAC should be installed through nnictl)
builtinTunerName
:
TPE
classArgs
:
...
...
Prev
1
2
3
4
5
6
7
8
9
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment