From 5878966045654f45d913eda71501b2e95a8b8b29 Mon Sep 17 00:00:00 2001 From: franckma31 <49721198+franckma31@users.noreply.github.com> Date: Tue, 13 Dec 2022 22:50:48 +0100 Subject: [PATCH 1/2] add comments on reference papers --- deel/lip/regularizers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/deel/lip/regularizers.py b/deel/lip/regularizers.py index 07a192dd..95907688 100644 --- a/deel/lip/regularizers.py +++ b/deel/lip/regularizers.py @@ -38,6 +38,10 @@ def __init__(self, dim, kernel_shape=None, stride=1, conv_transpose=False) -> No """ Base class for Lorth regularization. Not meant to be used standalone. + Ref. Achour & al., Existence, Stability And Scalability Of Orthogonal + Convolutional Neural Networks (2022). + https://hal.archives-ouvertes.fr/hal-03315801 + Args: dim (int): the rank of the convolution, e.g. "2" for 2D convolution. kernel_shape: the shape of the kernel. @@ -80,6 +84,7 @@ def _alphaNormSpectral(self): return alpha def _check_if_orthconv_exists(self): + """check the existence of Orthogonal convolution (for circular padding)""" R, C, M = self._get_kernel_shape() msg = "Impossible {} configuration for orthogonal convolution." if C * self.stride**self.dim >= M: # RO case @@ -128,6 +133,9 @@ def __init__(self, kernel_shape=None, stride=1, conv_transpose=False) -> None: Lorth computation for 2D convolutions. Although this class allows to compute the regularization term, it cannot be used as it is in a layer. + Ref. Wang & al., Orthogonal Convolutional Neural Networks (2020). + http://arxiv.org/abs/1911.12207 + Args: kernel_shape: the shape of the kernel. stride (int): stride used in the associated convolution From c87fe44ac44eda3ebc472b77a40ddbae891439d0 Mon Sep 17 00:00:00 2001 From: Franck Mamalet Date: Mon, 2 Jan 2023 15:10:11 +0100 Subject: [PATCH 2/2] change link to jmlr paper --- deel/lip/regularizers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deel/lip/regularizers.py b/deel/lip/regularizers.py index 95907688..a72dc079 100644 --- a/deel/lip/regularizers.py +++ b/deel/lip/regularizers.py @@ -40,7 +40,7 @@ def __init__(self, dim, kernel_shape=None, stride=1, conv_transpose=False) -> No Ref. Achour & al., Existence, Stability And Scalability Of Orthogonal Convolutional Neural Networks (2022). - https://hal.archives-ouvertes.fr/hal-03315801 + https://www.jmlr.org/papers/v23/22-0026.html Args: dim (int): the rank of the convolution, e.g. "2" for 2D convolution.