зеркало из https://github.com/microsoft/archai.git
1353 строки
37 KiB
YAML
1353 строки
37 KiB
YAML
!!python/object:archai.nas.model_desc.ModelDesc
|
|
_cell_descs:
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: skip_connect
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 0
|
|
cell_ch_out: 64
|
|
cell_type: &id001 !!python/object/apply:archai.nas.model_desc.CellType
|
|
- regular
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
id: 0
|
|
max_final_edges: 2
|
|
node_ch_out: 16
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 48
|
|
ch_out: 16
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 48
|
|
ch_out: 16
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: skip_connect
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 0
|
|
cell_ch_out: 64
|
|
cell_type: *id001
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 16
|
|
ch_out: 16
|
|
id: 1
|
|
max_final_edges: 2
|
|
node_ch_out: 16
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 48
|
|
ch_out: 16
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 16
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 2
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 3
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 2
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 3
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 2
|
|
cell_ch_out: 128
|
|
cell_type: &id002 !!python/object/apply:archai.nas.model_desc.CellType
|
|
- reduction
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
id: 2
|
|
max_final_edges: 2
|
|
node_ch_out: 32
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 128
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 32
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 32
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: skip_connect
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 0
|
|
cell_ch_out: 128
|
|
cell_type: *id001
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
id: 3
|
|
max_final_edges: 2
|
|
node_ch_out: 32
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 128
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_reduce
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 32
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 32
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: skip_connect
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 0
|
|
cell_ch_out: 128
|
|
cell_type: *id001
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 32
|
|
ch_out: 32
|
|
id: 4
|
|
max_final_edges: 2
|
|
node_ch_out: 32
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 128
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 32
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 32
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 2
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 3
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 2
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 2
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 3
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 2
|
|
cell_ch_out: 256
|
|
cell_type: *id002
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
id: 5
|
|
max_final_edges: 2
|
|
node_ch_out: 64
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 256
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 64
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 64
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: skip_connect
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 0
|
|
cell_ch_out: 256
|
|
cell_type: *id001
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
id: 6
|
|
max_final_edges: 2
|
|
node_ch_out: 64
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 256
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_reduce
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 128
|
|
ch_out: 64
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 64
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.CellDesc
|
|
_nodes:
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: max_pool_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: sep_conv_5x5
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.NodeDesc
|
|
edges:
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 0
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: skip_connect
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
- !!python/object:archai.nas.model_desc.EdgeDesc
|
|
input_ids:
|
|
- 1
|
|
op_desc: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: dil_conv_3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
stride: 1
|
|
trainables: null
|
|
alphas_from: 0
|
|
cell_ch_out: 256
|
|
cell_type: *id001
|
|
conv_params: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 64
|
|
ch_out: 64
|
|
id: 7
|
|
max_final_edges: 2
|
|
node_ch_out: 64
|
|
post_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: concate_channels
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 256
|
|
out_states: 4
|
|
trainables: null
|
|
s0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 64
|
|
trainables: null
|
|
s1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: prepr_normal
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 64
|
|
trainables: null
|
|
aux_tower_descs:
|
|
- null
|
|
- null
|
|
- null
|
|
- null
|
|
- null
|
|
- null
|
|
- null
|
|
- null
|
|
ds_ch: 3
|
|
logits_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: linear
|
|
params:
|
|
n_ch: 256
|
|
n_classes: 10
|
|
trainables: null
|
|
n_classes: 10
|
|
params:
|
|
gs_num_sample: 4
|
|
pool_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: pool_adaptive_avg2d
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 256
|
|
ch_out: 256
|
|
trainables: null
|
|
stem0_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: stem_conv3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 3
|
|
ch_out: 48
|
|
trainables: null
|
|
stem1_op: !!python/object:archai.nas.model_desc.OpDesc
|
|
children: null
|
|
children_ins: null
|
|
in_len: 1
|
|
name: stem_conv3x3
|
|
params:
|
|
conv: !!python/object:archai.nas.model_desc.ConvMacroParams
|
|
ch_in: 3
|
|
ch_out: 48
|
|
trainables: null
|