Update.
authorFrancois Fleuret <francois@fleuret.org>
Sun, 6 Jun 2021 13:55:07 +0000 (15:55 +0200)
committerFrancois Fleuret <francois@fleuret.org>
Sun, 6 Jun 2021 13:55:07 +0000 (15:55 +0200)
conv_chain.py

index 184e06b..2d5af8e 100755 (executable)
@@ -14,10 +14,10 @@ def conv_chain(input_size, output_size, depth, cond):
     else:
         r = [ ]
         for kernel_size in range(1, input_size + 1):
-            for stride in range(1, input_size + 1):
+            for stride in range(1, input_size):
                 if cond(depth, kernel_size, stride):
                     n = (input_size - kernel_size) // stride + 1
-                    if (n - 1) * stride + kernel_size == input_size:
+                    if n >= output_size and (n - 1) * stride + kernel_size == input_size:
                         q = conv_chain(n, output_size, depth - 1, cond)
                         r += [ [ (kernel_size, stride) ] + u for u in q ]
         return r