Skip to content

Comments

Chronos 2#660

Open
abaranov25 wants to merge 14 commits intosintel-dev:masterfrom
abaranov25:chronos-2
Open

Chronos 2#660
abaranov25 wants to merge 14 commits intosintel-dev:masterfrom
abaranov25:chronos-2

Conversation

@abaranov25
Copy link
Collaborator

@abaranov25 abaranov25 commented Feb 10, 2026

Resolve #662
Adding Chronos-2 as a new pipeline on Orion

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


AllenBaranov seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Collaborator

@sarahmish sarahmish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@abaranov25 seems like Chronos2 pipeline did not work well on S-1 example, do you have an idea why? I'm curious if you use S-1-test would you get different results?

},
"mlstars.custom.timeseries_preprocessing.rolling_window_sequences#1": {
"target_column": 0,
"window_size": 256
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious why 256? Orion pipelines that are forecast based are usually set to 250. For timesfm, it was set to 256 because it needs to be a multiple of 32 according to their docs.

"init_params": {
"mlstars.custom.timeseries_preprocessing.time_segments_aggregate#1": {
"time_column": "timestamp",
"interval": 600,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We typically set the example to interval=21600 since our example code uses NASA signals (MSL and SMAP)

Comment on lines 16 to 22
# if sys.version_info < (3, 11):
# msg = (
# '`timesfm` requires Python >= 3.11 and your '
# f'python version is {sys.version}.\n'
# 'Make sure you are using Python 3.11 or later.\n'
# )
# raise RuntimeError(msg)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If chronos works on python 3.9+ remove this comment completely

# raise RuntimeError(msg)

try:
from chronos import Chronos2Pipeline
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add chronos to setup.py under the pretrained_requires section, then remove the try-catch since it will always be installed using pip install orion[pretrained]

Comment on lines 131 to 136
if __name__ == "__main__":
chronos2 = Chronos2()
X = np.random.rand(100, 256, 10)
y = chronos2.predict(X)
print(y.shape)
print(y) No newline at end of file
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete

sarahmish
sarahmish previously approved these changes Feb 19, 2026
Copy link
Collaborator

@sarahmish sarahmish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@abaranov25 It would be nice to run the notebook locally then commit it so that the output is rendered into the notebook , then users can look at the github and immediately see the results of Chronos 2

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line needs to be updated

@sarahmish sarahmish dismissed their stale review February 19, 2026 11:48

approved by mistake

@sarahmish sarahmish self-requested a review February 22, 2026 00:11
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a specific reason why we are not using the timestamps we have from the data? Every input to orion has two columns: timestamp, values. You can use the first index of timestamp to set start_time.

If Chronos has been trained on major events, then timestamps can be valuable to know them, e.g. thanksgiving.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, makes sense

"mlstars.custom.timeseries_preprocessing.time_segments_aggregate#1": {
"time_column": "timestamp",
"interval": 21600
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be adjusted for all datasets

Suggested change
}
},
"orion.primitives.chronos2.Chronos2#1": {
"time_interval": 21600
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line needs to be updated "The UniTS contains 6 primitives." -> "The Chronos2 pipeline contains 6 primitives."

"mlstars.custom.timeseries_preprocessing.rolling_window_sequences#1": {
"target_column": 0,
"window_size": 250
},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
},
},
"orion.primitives.chronos2.Chronos2#1": {
"time_interval": 21600
},

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Amazon Chronos-2 Pipeline

3 participants