code: def test_custom_seasons():
      log.info("testing: Custom Seasonality")
      df = pd.read_csv(PEYTON_FILE, nrows=NROWS)
      other_seasons = False
      m = NeuralProphet(
          yearly_seasonality=other_seasons,
          weekly_seasonality=other_seasons,
          daily_seasonality=other_seasons,
          seasonality_mode="additive",
          # seasonality_mode="multiplicative",
          seasonality_reg=1,
          epochs=EPOCHS,
          batch_size=BATCH_SIZE,
          learning_rate=LR,
      )
      # conditional seasonality
      df["ds"] = pd.to_datetime(df["ds"])
      df = df_utils.add_quarter_condition(df)
      df = df_utils.add_weekday_condition(df)
      m.add_seasonality(
          name="weekly_summer",
          period=7,
          fourier_order=3,
          condition_name="summer",
      )
      m.add_seasonality(
          name="weekly_winter",
          period=7,
          fourier_order=3,
          condition_name="winter",
      )
      m.add_seasonality(
          name="weekly_fall",
          period=7,
          fourier_order=3,
          condition_name="fall",
      )
      m.add_seasonality(
          name="weekly_spring",
          period=7,
          fourier_order=3,
          condition_name="spring",
      )
      m.add_seasonality(
          name="weekend",
          period=1,
          fourier_order=3,
          condition_name="weekend",
      )
      m.add_seasonality(
          name="weekday",
          period=1,
          fourier_order=3,
          condition_name="weekday",
      )
  
      m.fit(df, freq="D")
      future = m.make_future_dataframe(
          df, n_historic_predictions=365, periods=365
      )
      future = df_utils.add_quarter_condition(future)
      future = df_utils.add_weekday_condition(future)
      forecast = m.predict(df=future)
      if PLOT:
          m.plot(forecast)
          # m.plot_components(forecast)
          m.plot_parameters()
          plt.show()
  
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 9 for calling a global function with example usage: test_custom_seasons() without return types