Skip to content

Commit 6db19f5

Browse files
committed
adding exception
1 parent 76da91a commit 6db19f5

File tree

1 file changed

+3
-13
lines changed

1 file changed

+3
-13
lines changed

src/Microsoft.ML.Mkl.Components/VectorWhitening.cs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -649,22 +649,12 @@ private void SaveAsOnnxCore(OnnxContext ctx, int iinfo, string srcVariableName,
649649
Host.Assert(parameters.Kind == WhiteningKind.PrincipalComponentAnalysis || parameters.Kind == WhiteningKind.ZeroPhaseComponentAnalysis);
650650

651651
int rank = (parameters.Kind == WhiteningKind.PrincipalComponentAnalysis && parameters.Rank > 0) ? parameters.Rank : dimension;
652-
long[] modelDimension = { rank, dimension };
652+
Host.CheckParam(rank <= dimension, nameof(rank), "Rank must be at most the dimension of untransformed data.");
653653

654-
if (rank != dimension)
655-
{
656-
float[] principalComponents = new float[rank * dimension];
657-
for (int i = 0; i < parameters.Rank; i++)
658-
{
659-
if (i >= dimension)
660-
break;
661-
Array.Copy(model, i * dimension, principalComponents, i * dimension, dimension);
662-
}
663-
model = principalComponents;
664-
}
654+
long[] modelDimension = { rank, dimension };
665655

666656
var opType = "Gemm";
667-
var modelName = ctx.AddInitializer(model, modelDimension, "model");
657+
var modelName = ctx.AddInitializer(model.Take(rank * dimension), modelDimension, "model");
668658
var zeroValueName = ctx.AddInitializer((float)0);
669659

670660
var node = ctx.CreateNode(opType, new[] { modelName, srcVariableName, zeroValueName }, new[] { dstVariableName }, ctx.GetNodeName(opType), "");

0 commit comments

Comments
 (0)