MCPcopy Create free account
hub / github.com/DragonisCV/RAM / forward

Method forward

ram/utils/diffjpeg.py:467–491  ·  view source on GitHub ↗

Args: x (Tensor): Input image, bchw, rgb, [0, 1] quality(float): Quality factor for jpeg compression scheme.

(self, x, quality)

Source from the content-addressed store, hash-verified

465 self.decompress = DeCompressJpeg(rounding=rounding)
466
467 def forward(self, x, quality):
468 """
469 Args:
470 x (Tensor): Input image, bchw, rgb, [0, 1]
471 quality(float): Quality factor for jpeg compression scheme.
472 """
473 factor = quality
474 if isinstance(factor, (int, float)):
475 factor = quality_to_factor(factor)
476 else:
477 for i in range(factor.size(0)):
478 factor[i] = quality_to_factor(factor[i])
479 h, w = x.size()[-2:]
480 h_pad, w_pad = 0, 0
481 # why should use 16
482 if h % 16 != 0:
483 h_pad = 16 - h % 16
484 if w % 16 != 0:
485 w_pad = 16 - w % 16
486 x = F.pad(x, (0, w_pad, 0, h_pad), mode='constant', value=0)
487
488 y, cb, cr = self.compress(x, factor=factor)
489 recovered = self.decompress(y, cb, cr, (h + h_pad), (w + w_pad), factor=factor)
490 recovered = recovered[:, :, 0:h, 0:w]
491 return recovered
492
493
494if __name__ == '__main__':

Callers

nothing calls this directly

Calls 1

quality_to_factorFunction · 0.85

Tested by

no test coverage detected