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

PySR सिंबॉलिक रिग्रेशन के लिए एक ओपन-सोर्स टूल है — यह एक मशीन लर्निंग कार्य है जो किसी दिए गए उद्देश्य को अनुकूलित करने वाले व्याख्यात्मक सिंबॉलिक व्यंजकों को खोजता है। Julia लाइब्रेरी SymbolicRegression.jl के साथ निर्मित, यह PySR की क्षमताओं को संचालित करने वाले सर्च इंजन के रूप में कार्य करता है। pip या conda-forge के माध्यम से इंस्टॉलेशन सरल है। Julia डिपेंडेंसीज़ पहले इम्पोर्ट पर स्वचालित रूप से इंस्टॉल हो जाती हैं। PySR बिना रूट एक्सेस वाले क्लस्टर वातावरण के लिए Docker और Apptainer के माध्यम से कंटेनरीकृत डिप्लॉयमेंट का भी समर्थन करता है। मुख्य इंटरफ़ेस `PySRRegressor` के माध्यम से scikit-learn सम्मेलनों का पालन करता है। उपयोगकर्ता खोज पैरामीटर निर्दिष्ट करते हैं, जिनमें अधिकतम व्यंजक आकार, पुनरावृत्तियों की संख्या, बाइनरी और यूनरी ऑपरेटर, कस्टम लॉस फंक्शन (Julia सिंटैक्स में लिखे गए), और मॉडल चयन रणनीतियाँ शामिल हैं। सर्च इंजन कॉन्फ़िगर की गई पुनरावृत्तियों में लाखों म्यूटेशन और समीकरण मूल्यांकन करता है। प्रमुख विशेषताएँ शामिल हैं: - Julia सिंटैक्स में परिभाषित कस्टम ऑपरेटर (उदा., `inv(x) = 1/x`) - कस्टम एलिमेंटवाइज लॉस फंक्शन - डिनॉइजिंग मोड (`denoise=True`) - फीचर चयन (`select_k_features=N`) - बाधित खोजों को फिर से शुरू करने के लिए वार्म स्टार्ट समर्थन - कई प्रारूपों में समीकरण निर्यात: कॉल करने योग्य लैम्ब्डा, SymPy, JAX (विभेद्य), और PyTorch (विभेद्य) - व्यंजक जटिलता को नियंत्रित करने के लिए नेस्टेड ऑपरेटर बाधाएँ - Slurm क्लस्टर मैनेजर के माध्यम से मल्टी-नोड क्लस्टर समर्थन - सहेजे गए मॉडल स्टेट्स के लिए Hall of fame CSV और PKL सीरियलाइज़ेशन PySR न्यूरल नेटवर्क के सिंबॉलिक डिस्टिलेशन का भी समर्थन करता है — प्रशिक्षित न्यूरल नेट्स को विश्लेषणात्मक समीकरणों में परिवर्तित करना, जो डीप लर्निंग मॉडल को समझने का एक व्याख्यात्मक तरीका प्रदान करता है। यह दृष्टिकोण arXiv पर उपलब्ध संबंधित शोध पत्रों में वर्णित है।