faizack/kronos-small-custom

Custom Hugging Face model repo for deploying the Kronos-small time-series forecasting model as an Inference Endpoint.

This folder is structured so you can zip it or git init it and push directly to Hugging Face under your account faizack.

1. Files expected in this repo

You will need the following files in the root of the Hugging Face repo:

  • config.json – copied or downloaded from NeoQuasar/Kronos-small
  • model.safetensors – weights from NeoQuasar/Kronos-small
  • model.py – Kronos model definition (from the official GitHub repo)
  • tokenizer.py – Kronos tokenizer implementation
  • predictor.py – KronosPredictor wrapper
  • inference.py – entrypoint used by Hugging Face Inference Endpoints (already provided here)
  • requirements.txt – Python dependencies (already provided here)

This folder currently includes:

  • README.md (this file)
  • inference.py
  • requirements.txt
  • .env.example
  • .gitattributes (Git LFS for safetensors)
  • .gitignore

You still need to add:

  • config.json
  • model.safetensors
  • model.py
  • tokenizer.py
  • predictor.py

2. How to prepare and push to Hugging Face

From this folder:

cd kronos-small-custom

# (optional) initialize git
git init
git lfs install

# Log in to Hugging Face
huggingface-cli login

# Create the remote repo under your account
huggingface-cli repo create faizack/kronos-small-custom --type model

# Add HF remote
git remote add origin https://huggingface.co/faizack/kronos-small-custom

Now copy in the Kronos implementation and weights:

  1. From the official Kronos GitHub repo, copy:
    • model.py
    • tokenizer.py
    • predictor.py
  2. From NeoQuasar/Kronos-small on Hugging Face, download:
    • config.json
    • model.safetensors

Then commit and push:

git add .
git commit -m "Initial Kronos-small custom deployment"
git push -u origin main

3. Inference contract

inference.py exposes a predict(request) function that Hugging Face Inference Endpoints will call.

Expected JSON body:

{
  "inputs": {
    "df": [
      {"open": 1.0, "high": 1.1, "low": 0.9, "close": 1.05},
      {"open": 1.05, "high": 1.12, "low": 1.0, "close": 1.08}
    ],
    "x_timestamp": ["2024-01-01T00:00:00Z", "2024-01-01T01:00:00Z"],
    "y_timestamp": ["2024-01-01T02:00:00Z", "2024-01-01T03:00:00Z"],
    "pred_len": 2,
    "T": 1.0,
    "top_p": 0.9,
    "sample_count": 1
  }
}

Response structure:

{
  "predictions": [
    {
      "open": ...,
      "high": ...,
      "low": ...,
      "close": ...
    },
    {
      "open": ...,
      "high": ...,
      "low": ...,
      "close": ...
    }
  ]
}

You can adapt this contract as needed, as long as predict returns JSON-serializable data.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support