Views
No views yet
1import sys
2import os
3sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "src")))
4
5from model.llm.OpenTSLM import OpenTSLM
6from time_series_datasets.TSQADataset import TSQADataset
7from time_series_datasets.util import extend_time_series_to_match_patch_size_and_aggregate
8from torch.utils.data import DataLoader
9from model_config import PATCH_SIZE
10
11REPO_ID = "OpenTSLM/llama-3.2-1b-tsqa-sp"
12
13# Use CPU or CUDA for inference. MPS does NOT work for pretrained HF checkpoints.
14model = OpenTSLM.load_pretrained(REPO_ID, device="cuda" if torch.cuda.is_available() else "cpu")
15test_dataset = TSQADataset("test", EOS_TOKEN=model.get_eos_token())
16
17test_loader = DataLoader(
18 test_dataset,
19 shuffle=False,
20 batch_size=1,
21 collate_fn=lambda batch: extend_time_series_to_match_patch_size_and_aggregate(
22 batch, patch_size=PATCH_SIZE
23 ),
24)
25
26for i, batch in enumerate(test_loader):
27 predictions = model.generate(batch, max_new_tokens=200)
28 for sample, pred in zip(batch, predictions):
29 print("Question:", sample.get("pre_prompt", "N/A"))
30 print("Answer:", sample.get("answer", "N/A"))
31 print("Output:", pred)
32 if i >= 4:
33 break1@misc{langer2025opentslm,
2 title = {OpenTSLM: Time-Series Language Models for Reasoning over Multivariate Medical Text- and Time-Series Data},
3 author = {Langer, Patrick and Kaar, Thomas and Rosenblattl, Max and Xu, Maxwell A and Chow, Winnie and Maritsch, Martin and Verma, Aradhana and Han, Brian and Kim, Daniel Seung and Chubb, Henry and Ceresnak, Scott and Zahedivash, Aydin and Tarlochan, Alexander and Sandhu, Singh and Rodriguez, Fatima and Mcduff, Daniel and Fleisch, Elgar and Aalami, Oliver and Barata, Filipe and Schmiedmayer, Paul},
4 year = {2025},
5 note = {Preprint},
6 doi = {doi.org/10.13140/RG.2.2.14827.60963}
7}