Skip to content

Python 3.12: SyntaxWarning: invalid escape sequence #1304

Open
@lstolcman

Description

@lstolcman

What happened + What you expected to happen

Bug:

Due to the changes in python 3.12, incorrect escape sequence generates a syntax warnings.

https://docs.python.org/3/whatsnew/3.12.html

A backslash-character pair that is not a valid escape sequence now generates a SyntaxWarning, instead of DeprecationWarning.

There are such escape sequences in code comments.

Expected behavior:

No syntax warnings when using python 3.12

Logs:

../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:96
--
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:96: SyntaxWarning: invalid escape sequence '\m'
"""Mean Absolute Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:137
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:137: SyntaxWarning: invalid escape sequence '\m'
"""Mean Squared Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:178
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:178: SyntaxWarning: invalid escape sequence '\m'
"""Root Mean Squared Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:223
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:223: SyntaxWarning: invalid escape sequence '\m'
"""Mean Absolute Percentage Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:270
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:270: SyntaxWarning: invalid escape sequence '\m'
"""Symmetric Mean Absolute Percentage Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:319
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:319: SyntaxWarning: invalid escape sequence '\m'
"""Mean Absolute Scaled Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:375
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:375: SyntaxWarning: invalid escape sequence '\m'
"""Relative Mean Squared Error
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:429
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:429: SyntaxWarning: invalid escape sequence '\m'
"""Quantile Loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:505
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:505: SyntaxWarning: invalid escape sequence '\m'
"""Multi-Quantile loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:644
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:644: SyntaxWarning: invalid escape sequence '\m'
"""Implicit Quantile Loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:940
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:940: SyntaxWarning: invalid escape sequence '\s'
"""Tweedie Distribution
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2020
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2020: SyntaxWarning: invalid escape sequence '\m'
"""
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2049
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2049: SyntaxWarning: invalid escape sequence '\m'
"""Poisson Mixture Mesh
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2249
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2249: SyntaxWarning: invalid escape sequence '\m'
"""Gaussian Mixture Mesh
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2456
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2456: SyntaxWarning: invalid escape sequence '\m'
"""Negative Binomial Mixture Mesh
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2670
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2670: SyntaxWarning: invalid escape sequence '\h'
""" Huber Loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2722
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2722: SyntaxWarning: invalid escape sequence '\;'
""" Tukey Loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2810
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2810: SyntaxWarning: invalid escape sequence '\m'
"""Huberized Quantile Loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2873
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2873: SyntaxWarning: invalid escape sequence '\d'
"""Huberized Multi-Quantile loss
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2987
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:2987: SyntaxWarning: invalid escape sequence '\m'
"""Accuracy
../opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:3034
/opt/venv/lib/python3.12/site-packages/neuralforecast/losses/pytorch.py:3034: SyntaxWarning: invalid escape sequence '\m'
"""Scaled Continues Ranked Probability Score
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:59
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:59: SyntaxWarning: invalid escape sequence '\m'
"""MinMax Scaler
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:109
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:109: SyntaxWarning: invalid escape sequence '\m'
"""MinMax1 Scaler
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:161
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:161: SyntaxWarning: invalid escape sequence '\m'
"""Standard Scaler
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:199
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:199: SyntaxWarning: invalid escape sequence '\m'
"""Robust Median Scaler
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:249
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:249: SyntaxWarning: invalid escape sequence '\m'
"""Invariant Median Scaler
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:331
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_scalers.py:331: SyntaxWarning: invalid escape sequence '\m'
"""Temporal Normalization
../opt/venv/lib/python3.12/site-packages/neuralforecast/common/_modules.py:84
/opt/venv/lib/python3.12/site-packages/neuralforecast/common/_modules.py:84: SyntaxWarning: invalid escape sequence '\m'
"""Causal Convolution 1d
../opt/venv/lib/python3.12/site-packages/neuralforecast/models/hint.py:14
/opt/venv/lib/python3.12/site-packages/neuralforecast/models/hint.py:14: SyntaxWarning: invalid escape sequence '\m'
"""BottomUp Reconciliation Matrix.
../opt/venv/lib/python3.12/site-packages/neuralforecast/models/hint.py:38
/opt/venv/lib/python3.12/site-packages/neuralforecast/models/hint.py:38: SyntaxWarning: invalid escape sequence '\m'
"""MinTraceOLS Reconciliation Matrix.
../opt/venv/lib/python3.12/site-packages/neuralforecast/models/hint.py:70
/opt/venv/lib/python3.12/site-packages/neuralforecast/models/hint.py:70: SyntaxWarning: invalid escape sequence '\m'
"""MinTraceOLS Reconciliation Matrix.

Versions / Dependencies

neuralforecast 3.0.0, latest

environment:
WSL ubuntu 24.04
python 3.12

Reproduction script

minimal example from readme shows the warning

from neuralforecast import NeuralForecast
from neuralforecast.models import NBEATS
from neuralforecast.utils import AirPassengersDF

nf = NeuralForecast(
    models = [NBEATS(input_size=24, h=12, max_steps=100)],
    freq = 'ME'
)

nf.fit(df=AirPassengersDF)
nf.predict()

Issue Severity

Low: It annoys or frustrates me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions