From acb2efe50866a2b4ebc9d280b71059e0fb5a86ae Mon Sep 17 00:00:00 2001 From: CJ Yang Date: Mon, 22 Jul 2019 14:03:58 -0400 Subject: [PATCH] allow dynamic axis for operator space_to_depth. --- Source/CNTKv2LibraryDll/Function.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/CNTKv2LibraryDll/Function.cpp b/Source/CNTKv2LibraryDll/Function.cpp index 6f490bf77df5..c6610018c531 100644 --- a/Source/CNTKv2LibraryDll/Function.cpp +++ b/Source/CNTKv2LibraryDll/Function.cpp @@ -2039,7 +2039,7 @@ namespace CNTK NDShape inputShape = input.Shape(); if (inputShape.Rank() != 3) LogicError("SpaceToDepth: Input operand (shape: %S) must be a 3-dimensional tensor, e.g. a 2D image with channels.", inputShape.AsString().c_str()); - if ((inputShape[0] % blockSize != 0) || (inputShape[1] % blockSize != 0)) + if ((inputShape[0] % blockSize != 0 && inputShape[0] != NDShape::FreeDimension) || (inputShape[1] % blockSize != 0 && inputShape[1] != NDShape::FreeDimension)) LogicError("SpaceToDepth: All spatial dimensions in the operand (%zu x %zu) must be divisible by blocksize (%zu).", inputShape[0], inputShape[1], blockSize); }