code: def test_asym_weight_loss(self):
      y = torch.rand(100, 10, 2)
      yhat_high = y + 1
      yhat_low = y - 1
  
      # when underestimation_penalty is set to > 1, this loss panelize underestimate more.
      loss = AsymWeightLoss(underestimation_penalty=2)
      assert loss(yhat_high, y) < loss(yhat_low, y)
  
      # when underestimation_penalty is set to < 1, this loss panelize overestimate more.
      loss = AsymWeightLoss(underestimation_penalty=0.5)
      assert loss(yhat_high, y) > loss(yhat_low, y)
  
file_path: BigDL/python/chronos/test/bigdl/chronos/pytorch/loss/test_asym_weight.py
imports: from bigdl.chronos.utils import LazyImport
  from unittest import TestCase
  import pytest
  from ...None import op_torch
label_desc: Use image node_id 3 for calling the TestChronosPytorchLoss obj's underlying member method code with example usage: obj.test_asym_weight_loss() without return types