if cond(depth, kernel_size, stride):
n = (input_size - kernel_size) // stride + 1
if cond(depth, kernel_size, stride):
n = (input_size - kernel_size) // stride + 1
q = conv_chain(n, output_size, depth - 1, cond)
r += [ [ (kernel_size, stride) ] + u for u in q ]
return r
q = conv_chain(n, output_size, depth - 1, cond)
r += [ [ (kernel_size, stride) ] + u for u in q ]
return r