dlk.core.layers.decoders package

Submodules

dlk.core.layers.decoders.identity module

class dlk.core.layers.decoders.identity.IdentityDecoder(config: dlk.core.layers.decoders.identity.IdentityDecoderConfig)[source]

Bases: dlk.core.base_module.SimpleModule

Do nothing

forward(inputs)[source]

return inputs

Parameters

inputs – anything

Returns

inputs

training: bool
class dlk.core.layers.decoders.identity.IdentityDecoderConfig(config)[source]

Bases: dlk.core.base_module.BaseModuleConfig

Config for IdentityDecoder

Config Example:
>>> {
>>>     "config": {
>>>     },
>>>     "_name": "identity",
>>> }

dlk.core.layers.decoders.linear module

class dlk.core.layers.decoders.linear.Linear(config: dlk.core.layers.decoders.linear.LinearConfig)[source]

Bases: dlk.core.base_module.SimpleModule

wrap for torch.nn.Linear

forward(inputs: Dict[str, torch.Tensor]) Dict[str, torch.Tensor][source]

All step do this

Parameters

inputs – one mini-batch inputs

Returns

one mini-batch outputs

init_weight(method: Callable)[source]

init the weight of submodules by ‘method’

Parameters

method – init method

Returns

None

training: bool
class dlk.core.layers.decoders.linear.LinearConfig(config: Dict)[source]

Bases: dlk.core.base_module.BaseModuleConfig

Config for Linear

Config Example:
>>> {
>>>     "module": {
>>>         "_base": "linear",
>>>     },
>>>     "config": {
>>>         "input_size": "*@*",
>>>         "output_size": "*@*",
>>>         "pool": null,
>>>         "dropout": 0.0,
>>>         "output_map": {},
>>>         "input_map": {}, // required_key: provide_key
>>>     },
>>>     "_link":{
>>>         "config.input_size": ["module.config.input_size"],
>>>         "config.output_size": ["module.config.output_size"],
>>>         "config.pool": ["module.config.pool"],
>>>         "config.dropout": ["module.config.dropout"],
>>>     },
>>>     "_name": "linear",
>>> }

dlk.core.layers.decoders.linear_crf module

class dlk.core.layers.decoders.linear_crf.LinearCRF(config: dlk.core.layers.decoders.linear_crf.LinearCRFConfig)[source]

Bases: dlk.core.base_module.BaseModule

use torch.nn.Linear get the emission probability and fit to CRF

forward(inputs: Dict[str, torch.Tensor]) Dict[str, torch.Tensor][source]

do predict, only get the predict labels

Parameters

inputs – one mini-batch inputs

Returns

one mini-batch outputs

init_weight(method: Callable)[source]

init the weight of submodules by ‘method’

Parameters

method – init method

Returns

None

predict_step(inputs: Dict[str, torch.Tensor]) Dict[str, torch.Tensor][source]

do predict, only get the predict labels

Parameters

inputs – one mini-batch inputs

Returns

one mini-batch outputs

training: bool
training_step(inputs: Dict[str, torch.Tensor]) Dict[str, torch.Tensor][source]

do training step, get the crf loss

Parameters

inputs – one mini-batch inputs

Returns

one mini-batch outputs

validation_step(inputs: Dict[str, torch.Tensor]) Dict[str, torch.Tensor][source]

do validation step, get the crf loss and the predict labels

Parameters

inputs – one mini-batch inputs

Returns

one mini-batch outputs

class dlk.core.layers.decoders.linear_crf.LinearCRFConfig(config: Dict)[source]

Bases: dlk.core.base_module.BaseModuleConfig

Config for LinearCRF

Config Example:
>>> {
>>>     "module@linear": {
>>>         "_base": "linear",
>>>     },
>>>     "module@crf": {
>>>         "_base": "crf",
>>>     },
>>>     "config": {
>>>         "input_size": "*@*",  // the linear input_size
>>>         "output_size": "*@*", // the linear output_size
>>>         "reduction": "mean", // crf reduction method
>>>         "output_map": {}, //provide_key: output_key
>>>         "input_map": {} // required_key: provide_key
>>>     },
>>>     "_link":{
>>>         "config.input_size": ["module@linear.config.input_size"],
>>>         "config.output_size": ["module@linear.config.output_size", "module@crf.config.output_size"],
>>>         "config.reduction": ["module@crf.config.reduction"],
>>>     }
>>>     "_name": "linear_crf",
>>> }

Module contents

decoders

dlk.core.layers.decoders.import_decoders(decoders_dir, namespace)[source]