metrics
– Common Metrics¶

neuralnet_pytorch.metrics.
huber_loss
(x, y, reduce='mean')[source]¶ An alias for
torch.nn.functional.smooth_l1_loss()
.

neuralnet_pytorch.metrics.
first_derivative_loss
(x, y, p=2)[source]¶ Calculates lp loss between the first derivatives of the inputs.
Parameters:  x – a
torch.Tensor
.  y – a
torch.Tensor
of the same shape as x.  p – order of the norm.
Returns: the scalar loss between the first derivatives of the inputs.
 x – a

neuralnet_pytorch.metrics.
lp_loss
(x, y, p=2, reduction='mean')[source]¶ Calculates pnorm of (x  y).
Parameters:  x – a
torch.Tensor
.  y – a
torch.Tensor
of the same shape as x.  p – order of the norm.
 reduction –
'mean'
or'sum'
.
Returns: the pnorm of (x  y).
 x – a

neuralnet_pytorch.metrics.
ssim
(img1, img2, max_val=1.0, filter_size=11, filter_sigma=1.5, k1=0.01, k2=0.03, cs_map=False)[source]¶ Returns the Structural Similarity Map between img1 and img2. This function attempts to match the functionality of ssim_index_new.m by Zhou Wang: http://www.cns.nyu.edu/~lcv/ssim/msssim.zip
Parameters:  img1 – a 4D
torch.Tensor
.  img2 – a 4D
torch.Tensor
of the same shape as img1.  max_val – the dynamic range of the images (i.e., the difference between the maximum the and minimum allowed values).
 filter_size – size of blur kernel to use (will be reduced for small images).
 filter_sigma – standard deviation for Gaussian blur kernel (will be reduced for small images).
 k1 – constant used to maintain stability in the SSIM calculation (0.01 in the original paper).
 k2 – constant used to maintain stability in the SSIM calculation (0.03 in the original paper).
Returns: pair containing the mean SSIM and contrast sensitivity between img1 and img2.
Raise: RuntimeError: If input images don’t have the same shape or don’t have four dimensions: [batch_size, height, width, depth].
 img1 – a 4D

neuralnet_pytorch.metrics.
psnr
(x, y)[source]¶ Peaksignaltonoise ratio for [0,1] images.
Parameters:  x – a
torch.Tensor
.  y – a
torch.Tensor
of the same shape as x.
 x – a

neuralnet_pytorch.metrics.
chamfer_loss
(xyz1, xyz2, reduce='mean', c_code=False)[source]¶ Calculates the Chamfer distance between two batches of point clouds. The Pytorch code is adapted from DenseLidarNet. The CUDA code is adapted from AtlasNet.
Parameters:  xyz1 – a point cloud of shape
(b, n1, k)
or(n1, k)
.  xyz2 – a point cloud of shape (b, n2, k) or (n2, k).
 reduce –
'mean'
or'sum'
. Default:'mean'
.  c_code – whether to use CUDA implementation. This version is much more memoryfriendly and slightly faster.
Returns: the Chamfer distance between the inputs.
 xyz1 – a point cloud of shape

neuralnet_pytorch.metrics.
emd_loss
(xyz1, xyz2, reduce='mean', sinkhorn=False)[source]¶ Calculates the Earth Mover Distance (or Wasserstein metric) between two sets of points.
Parameters:  xyz1 – a point cloud of shape
(b, n1, k)
or(n1, k)
.  xyz2 – a point cloud of shape (b, n2, k) or (n2, k).
 reduce –
'mean'
or'sum'
. Default:'mean'
.  sinkhorn – whether to use the Sinkhorn approximation of the Wasserstein distance.
False
will fall back to a CUDA implementation, which is only available if the CUDAextended neuralnetpytorch is installed. Default:True
.
Returns: the EMD between the inputs.
 xyz1 – a point cloud of shape

neuralnet_pytorch.metrics.
tv_reg
(y)[source]¶ Total variation regularization.
Parameters: y – a tensor of at least 2D. The last 2 dimensions will be regularized. Returns: the total variation loss.

neuralnet_pytorch.metrics.
spectral_norm
(module, name='weight', n_power_iterations=1, eps=1e12, dim=None)[source]¶ Applies
torch.nn.utils.spectral_norm()
recursively to module and all of its submodules.Parameters:  module – containing module.
 name – name of weight parameter.
Default:
'weight'
.  n_power_iterations – number of power iterations to calculate spectral norm.
 eps – epsilon for numerical stability in calculating norms.
 dim – dimension corresponding to number of outputs,
the default is
0
, except for modules that are instances of ConvTranspose{1,2,3}d, when it is1
.
Returns: the original module with the spectral norm hook.