diff --git a/geomloss/sinkhorn_divergence.py b/geomloss/sinkhorn_divergence.py index c6deafe..9e4eb64 100644 --- a/geomloss/sinkhorn_divergence.py +++ b/geomloss/sinkhorn_divergence.py @@ -157,6 +157,9 @@ def scaling_parameters(x, y, p, blur, reach, diameter, scaling): if diameter is None: D = x.shape[-1] diameter = max_diameter(x.view(-1, D), y.view(-1, D)) + + # small diameter np.log() in epsilon_schedule() cannot be 0. + diameter = max(diameter, blur) eps = blur ** p rho = None if reach is None else reach ** p