matchzoo.utils.parse

Module Contents

matchzoo.utils.parse.activation
matchzoo.utils.parse.loss
matchzoo.utils.parse.optimizer
matchzoo.utils.parse._parse(identifier:typing.Union[str, typing.Type[nn.Module], nn.Module], dictionary:nn.ModuleDict, target:str) → nn.Module

Parse loss and activation.

Parameters:
  • identifier – activation identifier, one of - String: name of a activation - Torch Modele subclass - Torch Module instance (it will be returned unchanged).
  • dictionary – nn.ModuleDict instance. Map string identifier to nn.Module instance.
Returns:

A nn.Module instance

matchzoo.utils.parse.parse_activation(identifier:typing.Union[str, typing.Type[nn.Module], nn.Module]) → nn.Module

Retrieves a torch Module instance.

Parameters:identifier – activation identifier, one of - String: name of a activation - Torch Modele subclass - Torch Module instance (it will be returned unchanged).
Returns:A nn.Module instance
Examples::
>>> from torch import nn
>>> from matchzoo.utils import parse_activation
Use str as activation:
>>> activation = parse_activation('relu')
>>> type(activation)
<class 'torch.nn.modules.activation.ReLU'>
Use torch.nn.Module subclasses as activation:
>>> type(parse_activation(nn.ReLU))
<class 'torch.nn.modules.activation.ReLU'>
Use torch.nn.Module instances as activation:
>>> type(parse_activation(nn.ReLU()))
<class 'torch.nn.modules.activation.ReLU'>
matchzoo.utils.parse.parse_loss(identifier:typing.Union[str, typing.Type[nn.Module], nn.Module], task:typing.Optional[str]=None) → nn.Module

Retrieves a torch Module instance.

Parameters:
  • identifier – loss identifier, one of - String: name of a loss - Torch Module subclass - Torch Module instance (it will be returned unchanged).
  • task – Task type for determining specific loss.
Returns:

A nn.Module instance

Examples::
>>> from torch import nn
>>> from matchzoo.utils import parse_loss
Use str as loss:
>>> loss = parse_loss('mse')
>>> type(loss)
<class 'torch.nn.modules.loss.MSELoss'>
Use torch.nn.Module subclasses as loss:
>>> type(parse_loss(nn.MSELoss))
<class 'torch.nn.modules.loss.MSELoss'>
Use torch.nn.Module instances as loss:
>>> type(parse_loss(nn.MSELoss()))
<class 'torch.nn.modules.loss.MSELoss'>
matchzoo.utils.parse._parse_metric(metric:typing.Union[str, typing.Type[BaseMetric], BaseMetric], Metrix:typing.Type[BaseMetric]) → BaseMetric

Parse metric.

Parameters:
Returns:

A BaseMetric instance

matchzoo.utils.parse.parse_metric(metric:typing.Union[str, typing.Type[BaseMetric], BaseMetric], task:str) → BaseMetric

Parse input metric in any form into a BaseMetric instance.

Parameters:
  • metric – Input metric in any form.
  • task – Task type for determining specific metric.
Returns:

A BaseMetric instance

Examples::
>>> from matchzoo import metrics
>>> from matchzoo.utils import parse_metric
Use str as MatchZoo metrics:
>>> mz_metric = parse_metric('map', 'ranking')
>>> type(mz_metric)
<class 'matchzoo.metrics.mean_average_precision.MeanAveragePrecision'>
Use matchzoo.engine.BaseMetric subclasses as MatchZoo metrics:
>>> type(parse_metric(metrics.AveragePrecision, 'ranking'))
<class 'matchzoo.metrics.average_precision.AveragePrecision'>
Use matchzoo.engine.BaseMetric instances as MatchZoo metrics:
>>> type(parse_metric(metrics.AveragePrecision(), 'ranking'))
<class 'matchzoo.metrics.average_precision.AveragePrecision'>
matchzoo.utils.parse.parse_optimizer(identifier:typing.Union[str, typing.Type[optim.Optimizer]]) → optim.Optimizer

Parse input metric in any form into a Optimizer class.

Parameters:optimizer – Input optimizer in any form.
Returns:A Optimizer class
Examples::
>>> from torch import optim
>>> from matchzoo.utils import parse_optimizer
Use str as optimizer:
>>> parse_optimizer('adam')
<class 'torch.optim.adam.Adam'>
Use torch.optim.Optimizer subclasses as optimizer:
>>> parse_optimizer(optim.Adam)
<class 'torch.optim.adam.Adam'>