code: def test_callable_loss():
      log.info("TEST Callable Loss")
  
      def my_loss(output, target):
          assym_penalty = 1.25
          beta = 1
          e = target - output
          me = torch.abs(e)
          z = torch.where(
              me < beta, 0.5 * (me**2) / beta, me - 0.5 * beta
          )
          z = torch.where(e < 0, z, assym_penalty * z)
          return z
  
      df = pd.read_csv(YOS_FILE, nrows=NROWS)
      # auto-lr with range test
      m = NeuralProphet(
          epochs=EPOCHS,
          batch_size=BATCH_SIZE,
          seasonality_mode="multiplicative",
          loss_func=my_loss,
      )
      m.fit(df, freq="5min")
      future = m.make_future_dataframe(
          df, periods=12 * 24, n_historic_predictions=12 * 24
      )
      m.predict(future)
  
imports: import logging
  import math
  import os
  import pathlib
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  import torch
  from neuralprophet import NeuralProphet, df_utils, set_random_seed
  from neuralprophet.data.process import _handle_missing_data, _validate_column_name
label_desc: Use image node_id 23 for calling a global function with example usage: test_callable_loss() and returns: z