नमस्कार।
इस सप्ताह मैं Flamehaven Tensor-Canon (v0.1.4) साझा कर रहा हूँ।


PyTorch में डेवलप करते समय tensor shape पर हमेशा ध्यान देना पड़ता है।
उदाहरण के लिए, अगर image input हो तो आमतौर पर उसका रूप NCHW
(बैच N, चैनल C, ऊँचाई H, चौड़ाई W) जैसा होता है।

लेकिन वास्तविक production में नीचे दी गई समस्याएँ और भी डरावनी होती हैं।

  • shape सही है, लेकिन data distribution चुपचाप बदल जाती है
  • model चलता रहता है, लेकिन performance/metrics ही धीरे-धीरे गिरने लगते हैं

इसीलिए मैंने
सिर्फ “shape check” ही नहीं, बल्कि input distribution बदली है या नहीं
इसे हल्के और तेज़ तरीके से जाँचने के लिए Tensor-Canon बनाया।


मौजूदा टूल पहले से शक्तिशाली हैं, लेकिन उनकी भूमिका अलग है

  • Einops
    string-आधारित तरीके से shape को सहज रूप से transform/manipulate करता है
    → validation से अधिक operations/transformation के लिए optimized

  • Jaxtyping
    type hint-आधारित validation (IDE-friendly)
    → लेकिन Python generic syntax अक्सर लंबी हो जाती है

  • Torchtyping
    हल्का shape validation
    → इसका दायरा shape-केंद्रित है

  • Pydantic
    सामान्य data validation का standard
    → लेकिन tensor जैसे multi-dimensional array validation के लिए कुछ भारी और झंझटपूर्ण


लेकिन Flamehaven Tensor-Canon का “input guardrail” अलग है

Tensor-Canon कोई framework नहीं,
बल्कि model input boundary पर इस्तेमाल होने वाला हल्का guardrail है।

  • Shape validation (मूल)
  • Resonance (drift detection)
    • MMD-आधारित distribution change detection
    • भारी MLOps tools के बिना उपयोग
  • Covenant DSL (string contract)
    • Typing[Float, ...] जैसे जटिल type generics की जगह
    • "batch channels 224 224" जैसे सीधे पढ़े जाने वाले spec
  • Dual Backend
    • preprocessing NumPy में और inference PyTorch में बँटी हुई
      real-world pipeline को एक ही syntax से सुरक्षित करता है
    • data loader से model input तक एकसमान contract लागू

🔹 सिर्फ 3 मिनट में Tensor-Canon आज़माएँ (PyTorch)

1️⃣ इंस्टॉल करें (30 सेकंड)

pip install flamehaven-tensor-canon  

2️⃣ Shape validation (1 मिनट)

import torch  
from tensor_canon import validate  
  
# अपेक्षित input spec (NCHW)  
spec = "batch channels 224 224"  
  
x = torch.randn(32, 3, 224, 224)  
  
# shape मेल न खाने पर ValueError उठता है  
validate(x, spec, key="image_input")  
  
print("OK: shape contract संतुष्ट")  

3️⃣ Distribution (Drift) detection (1 मिनट 30 सेकंड)

import torch  
from tensor_canon import TensorCanonPrime  
  
engine = TensorCanonPrime(drift_threshold=0.05)  
  
# training data baseline register करें  
train = torch.randn(100, 512)  
engine.register_golden("embedding", train)  
  
# production data check  
prod = torch.randn(10, 512) + 0.5  # सूक्ष्म distribution shift  
score = engine.check_resonance("embedding", prod)  
  
print("drift score:", score)  
  
if score > 0.05:  
    print("⚠️ drift detected")  

यह कब उपयोगी है

  • NumPy preprocessing → PyTorch model input pipeline
  • DataLoader input sanity check
  • जब “shape सही हो लेकिन metrics गिरने लगें”
  • भारी MLOps अपनाने से पहले न्यूनतम guardrail

🔹 डिप्लॉयमेंट / रिलीज़ नीति (संदर्भ)

  • PyPI package के रूप में सीधे install किया जा सकता है
  • GitHub releases को tag-based तरीके से manage किया जाता है
  • केवल verified tags के लिए ही CI में wheel / sdist build करके
    GitHub Release में attach किया जाता है
  • stability और reproducibility सुनिश्चित करने के लिए
    auto/frequent deployment के बजाय, केवल verified builds ही जारी रखने की नीति है

Feedback / issues / PR स्वागत है

खासकर अगर आपके पास ऐसा कोई मामला हो जहाँ “shape सही था लेकिन production में समस्या आई”,
तो मैं उस उदाहरण के आधार पर contract (DSL) pattern को साथ मिलकर और विकसित करना चाहूँगा।

और ⭐ star वाकई बहुत बड़ी ताकत देता है।
यह प्रोजेक्ट हर हफ्ते मिलने वाले हर एक star से प्रेरणा लेकर विकसित किया जा रहा है।
अगर आप इसे आज़माएँ और अच्छा लगे, तो समर्थन के रूप में एक star ज़रूर दें—इसके लिए मैं आभारी रहूँगा!

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.