इस प्रोजेक्ट के बारे में

Burn एक टेंसर लाइब्रेरी और डीप लर्निंग फ्रेमवर्क है जो Rust में लिखा गया है, जिसका उद्देश्य संख्यात्मक कंप्यूटिंग, प्रशिक्षण और अनुमान है। इसका घोषित लक्ष्य Python प्रशिक्षण स्टैक और अलग डिप्लॉयमेंट इंजन के बीच सामान्य विभाजन से बचना है: एक ही मॉडल कोड को प्रशिक्षित किया जा सकता है और फिर उत्पादन में चलाया जा सकता है, जिसे परियोजना ऑन-डिवाइस पर्सनलाइज़ेशन और फ़ेडरेटेड लर्निंग के लिए उपयोगी बताती है। डिज़ाइन और एर्गोनॉमिक्स - PyTorch जैसा API जिसमें डायनामिक शेप और ग्राफ हैं, जबकि टेंसर ऑपरेशन की स्ट्रीम को JIT-कंपाइल करता है और स्वचालित kernel fusion करता है। - इंक्रीमेंटल कंपाइलेशन पर ज़ोर दिया गया है: README का दावा है कि मॉडल कोड में बदलाव रिलीज़ मोड में भी 5 सेकंड से कम समय में रीकंपाइल हो जाते हैं। - मॉडल कोड बदले बिना बैकएंड बदले जा सकते हैं; एक एप्लिकेशन में कई बैकएंड सह-अस्तित्व में रह सकते हैं और डिवाइस को रनटाइम पर `Device` के माध्यम से चुना जाता है। बैकएंड - GPU: CUDA, ROCm, Metal, Vulkan, WebGPU, और LibTorch (0.22.0 से डेप्रिकेटेड)। कवरेज वेंडर के अनुसार भिन्न है: Nvidia (CUDA, Vulkan, WebGPU, LibTorch), AMD (ROCm, Vulkan, WebGPU, LibTorch), Apple (Metal, WebGPU, LibTorch), Intel और Qualcomm (Vulkan, WebGPU), Wasm (WebGPU)। - CPU: CubeCL CPU बैकएंड, Flex, और LibTorch x86 और Arm के लिए; Flex Wasm और no_std को भी कवर करता है। - बैकएंड डेकोरेटर: Autodiff किसी भी बैकएंड में बैकप्रोपेगेशन जोड़ता है; Fusion जहाँ समर्थित हो वहाँ kernel fusion जोड़ता है और फर्स्ट-पार्टी एक्सेलरेटेड बैकएंड पर डिफ़ॉल्ट रूप से सक्षम है; Remote (बीटा) वितरित कंप्यूटेशन के लिए Iroh या WebSocket पर क्लाइंट/सर्वर निष्पादन का समर्थन करता है। प्रशिक्षण और अनुमान - Ratatui पर निर्मित एक टर्मिनल प्रशिक्षण डैशबोर्ड वास्तविक समय में प्रशिक्षण और सत्यापन मेट्रिक्स दिखाता है, जिसमें एरो कीज़ से नेविगेशन और प्रशिक्षण लूप से बिना क्रैश हुए बाहर निकलने की क्षमता है। - ONNX मॉडल burn-onnx के माध्यम से इम्पोर्ट किए जा सकते हैं और Burn API का उपयोग करके नेटिव Rust कोड में परिवर्तित किए जा सकते हैं, ताकि वे किसी भी Burn बैकएंड पर चलें; README नोट करता है कि यह क्रेट सक्रिय विकास में है और ऑपरेटर सेट सीमित है। - PyTorch और Safetensors फॉर्मेट से वेट Burn-परिभाषित मॉडल में लोड किए जा सकते हैं। - अनुमान ब्राउज़र में WebAssembly के माध्यम से Flex (CPU) या WGPU (WebGPU) का उपयोग करके चलाया जा सकता है, जिसमें MNIST और इमेज-क्लासिफिकेशन डेमो शामिल हैं। - कोर घटक बेयर-मेटल एम्बेडेड वातावरण के लिए no_std का समर्थन करते हैं; वर्तमान में केवल Flex बैकएंड no_std में काम करता है। इकोसिस्टम - CubeCL: एक्सेलरेटेड बैकएंड के पीछे GPU कंप्यूट लैंग्वेज और कंपाइलर, जिसे स्टैंडअलोन उपयोग किया जा सकता है। - burn-onnx: ONNX इम्पोर्ट; burn-store: वेट सेव/लोड और PyTorch/Safetensors इम्पोर्ट। - burn-vision, burn-rl, burn-dataset विज़न, रीइन्फोर्समेंट लर्निंग और डेटासेट के लिए। - प्री-ट्रेंड मॉडल और उदाहरणों के साथ models रिपॉज़िटरी; समय के साथ बैकएंड की बेंचमार्किंग के लिए burn-bench। - एक सामुदायिक क्रेट सूची डेटा लोडिंग (polars, arrow-rs, image, hf-hub), टोकनाइज़ेशन और NLP (tokenizers, rust-bert), संख्यात्मक लाइब्रेरी (ndarray, nalgebra), क्लासिकल ML (linfa, smartcore), अनुमान रनटाइम (candle, mistral.rs, ort, tract, wonnx), LLM/RAG टूलिंग (rig, langchain-rust), एम्बेडिंग और वेक्टर सर्च (fastembed, qdrant, lancedb), कंप्यूटर विज़न (kornia-rs), सिमुलेशन (rapier) और विज़ुअलाइज़ेशन (rerun, plotters) को कवर करती है। शुरुआत करना - Burn Book प्राथमिक दस्तावेज़ीकरण है, जिसमें टेंसर, मॉड्यूल, ऑप्टिमाइज़र और कस्टम GPU कर्नेल शामिल हैं। - उदाहरणों में बुनियादी MNIST वर्कफ़्लो, कस्टम प्रशिक्षण लूप, कस्टम WGPU कर्नेल, CSV और इमेज डेटासेट, रिग्रेशन, कस्टम रेंडरर, ब्राउज़र अनुमान डेमो, PyTorch वेट इम्पोर्ट, टेक्स्ट क्लासिफिकेशन और टेक्स्ट जनरेशन, और MNIST पर WGAN शामिल हैं। - लाइसेंसिंग MIT/Apache-2.0 है।