From 4a02c08a515edd9b76298ec95c22340f5676087e Mon Sep 17 00:00:00 2001 From: huochenghai Date: Tue, 21 Nov 2023 18:06:39 +0800 Subject: [PATCH 1/5] add CheckedShape for DistributedType --- src/Nncase.Core/IR/Expr.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Nncase.Core/IR/Expr.cs b/src/Nncase.Core/IR/Expr.cs index 3ae35627d8..f7345c8fd8 100644 --- a/src/Nncase.Core/IR/Expr.cs +++ b/src/Nncase.Core/IR/Expr.cs @@ -94,6 +94,8 @@ public Shape CheckedShape { case TensorType type: return type.Shape; + case DistributedType type: + return type.TensorType.Shape; default: if (DumpScope.Current.IsEnabled(DumpFlags.Compile)) { From 380e04e9e481b509a2f49f78bf83864be418bb77 Mon Sep 17 00:00:00 2001 From: guodongliang Date: Tue, 21 Nov 2023 18:09:14 +0800 Subject: [PATCH 2/5] mod by 1 is not nop binary --- src/Nncase.Passes/Rules/Neutral/FoldBinary.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Nncase.Passes/Rules/Neutral/FoldBinary.cs b/src/Nncase.Passes/Rules/Neutral/FoldBinary.cs index 2e03918bec..44abaa3d2d 100644 --- a/src/Nncase.Passes/Rules/Neutral/FoldBinary.cs +++ b/src/Nncase.Passes/Rules/Neutral/FoldBinary.cs @@ -34,7 +34,6 @@ public sealed partial class FoldNopBinary : IRewriteRule (BinaryOp.Add, 0f) => lhs, (BinaryOp.Sub, 0f) => lhs, (BinaryOp.Mul, 1f) => lhs, - (BinaryOp.Mod, 1f) => lhs, (BinaryOp.Pow, 1f) => lhs, (BinaryOp.Div, 1f) => lhs, _ => null, From b36905871bc54d1ce12fedeb377cc94fda0a4404 Mon Sep 17 00:00:00 2001 From: guodongliang Date: Tue, 21 Nov 2023 18:18:55 +0800 Subject: [PATCH 3/5] fix bug about export json in kld --- src/Nncase.Quantization/Quantization/Quantizer.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Nncase.Quantization/Quantization/Quantizer.cs b/src/Nncase.Quantization/Quantization/Quantizer.cs index 961ae8b716..c9b5fa9daa 100644 --- a/src/Nncase.Quantization/Quantization/Quantizer.cs +++ b/src/Nncase.Quantization/Quantization/Quantizer.cs @@ -167,10 +167,10 @@ public async Task RunAsync(RunPassContext options) var histograms = await GetHistogramsAsync(_quantizeOptions.CalibrationDataset, ranges, srcBinSize, dstBinSize); // 1.2. Select best ranges - var optRanges = GetOptRanges(histograms, ranges, srcBinSize, dstBinSize, _quantizeOptions.CalibrationMethod); + ranges = GetOptRanges(histograms, ranges, srcBinSize, dstBinSize, _quantizeOptions.CalibrationMethod); // 1.3. Assign ranges - AssignRanges(optRanges); + AssignRanges(ranges); } else { // 2. Assign ranges From 85b5f46667f3f5cc3487bb6ff36b72e1360a94ba Mon Sep 17 00:00:00 2001 From: guodongliang Date: Wed, 22 Nov 2023 16:22:47 +0800 Subject: [PATCH 4/5] change unit test mode to NoClip --- src/Nncase.Tests/Quant/UnitTestExportQuantScheme.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Nncase.Tests/Quant/UnitTestExportQuantScheme.cs b/src/Nncase.Tests/Quant/UnitTestExportQuantScheme.cs index 254d5cf265..8f2dd62685 100644 --- a/src/Nncase.Tests/Quant/UnitTestExportQuantScheme.cs +++ b/src/Nncase.Tests/Quant/UnitTestExportQuantScheme.cs @@ -92,7 +92,7 @@ private async Task TestExportQuantSchemeMainPassesAsync(Var input, var pmgr = CompileSession.CreatePassManager("Passes"); CompileOptions.QuantizeOptions.CalibrationDataset = new SolidCalibrationDatasetProvider(new Var[] { input }); - CompileOptions.QuantizeOptions.CalibrationMethod = CalibMethod.Kld; + CompileOptions.QuantizeOptions.CalibrationMethod = CalibMethod.NoClip; CompileOptions.QuantizeOptions.ExportQuantScheme = true; CompileOptions.QuantizeOptions.ExportWeightRangeByChannel = exportWeightRangeByChannel; From 522b940085c99ee09568a753b84581d3373882d0 Mon Sep 17 00:00:00 2001 From: huochenghai Date: Wed, 22 Nov 2023 16:33:26 +0800 Subject: [PATCH 5/5] fix warning --- src/Nncase.Core/Schedule/ScheduleTypes.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Nncase.Core/Schedule/ScheduleTypes.cs b/src/Nncase.Core/Schedule/ScheduleTypes.cs index 6800f79fad..79b0498fd2 100644 --- a/src/Nncase.Core/Schedule/ScheduleTypes.cs +++ b/src/Nncase.Core/Schedule/ScheduleTypes.cs @@ -164,7 +164,7 @@ public MemoryRange MemoryRange { code = PrimTypeCodes.ToTypeCode(DType); } - catch (System.Collections.Generic.KeyNotFoundException e) + catch (System.Collections.Generic.KeyNotFoundException) { if (DType.SizeInBytes == 4) { @@ -172,7 +172,7 @@ public MemoryRange MemoryRange } else { - throw e; + throw; } }