From 359ab6cb7616f3920674f416cd2e49447ec23668 Mon Sep 17 00:00:00 2001 From: vivienfanghuagood <89012307+vivienfanghuagood@users.noreply.github.com> Date: Tue, 7 Jan 2025 11:26:03 +0800 Subject: [PATCH] fix latex_ocr inference (#14498) * add * update * add * add --- ppocr/modeling/backbones/rec_resnetv2.py | 37 +++++++++++------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/ppocr/modeling/backbones/rec_resnetv2.py b/ppocr/modeling/backbones/rec_resnetv2.py index 748020353e..366e862112 100644 --- a/ppocr/modeling/backbones/rec_resnetv2.py +++ b/ppocr/modeling/backbones/rec_resnetv2.py @@ -88,6 +88,19 @@ def __init__( self.export = is_export self.eps = eps + self.running_mean = paddle.zeros([self._out_channels], dtype="float32") + self.running_variance = paddle.ones([self._out_channels], dtype="float32") + orin_shape = self.weight.shape + new_weight = F.batch_norm( + self.weight.reshape([1, self._out_channels, -1]), + self.running_mean, + self.running_variance, + momentum=0.0, + epsilon=self.eps, + use_global_stats=False, + ).reshape(orin_shape) + self.weight.set_value(new_weight.numpy()) + def forward(self, x): if not self.training: self.export = True @@ -96,30 +109,14 @@ def forward(self, x): x = pad_same_export(x, self._kernel_size, self._stride, self._dilation) else: x = pad_same(x, self._kernel_size, self._stride, self._dilation) - running_mean = paddle.to_tensor([0] * self._out_channels, dtype="float32") - running_variance = paddle.to_tensor([1] * self._out_channels, dtype="float32") if self.export: - weight = paddle.reshape( - F.batch_norm( - self.weight.reshape([1, self._out_channels, -1]).cast( - paddle.float32 - ), - running_mean, - running_variance, - momentum=0.0, - epsilon=self.eps, - use_global_stats=False, - ), - self.weight.shape, - ) + weight = self.weight else: weight = paddle.reshape( F.batch_norm( - self.weight.reshape([1, self._out_channels, -1]).cast( - paddle.float32 - ), - running_mean, - running_variance, + self.weight.reshape([1, self._out_channels, -1]), + self.running_mean, + self.running_variance, training=True, momentum=0.0, epsilon=self.eps,