TypeScript पर मशीन लर्निंग: लाइब्रेरीज़ और टूल्स का अवलोकन
TypeScript केवल JavaScript के लिए सख्त टाइपिंग नहीं है। अपने पारिस्थितिकी तंत्र और JS के साथ संगतता के कारण, यह सीधे ब्राउज़र या सर्वर (Node.js) पर मशीन लर्निंग (ML) के लिए एक शक्तिशाली प्लेटफॉर्म बन जाता है। इस लेख में, हम चार प्रमुख लाइब्रेरीज़ पर चर्चा करेंगे जो TypeScript पर ML मॉडल विकसित करने, प्रशिक्षित करने और चलाने की अनुमति देती हैं।
1. TensorFlow.js — TypeScript में ML का प्रमुख
TensorFlow.js लोकप्रिय TensorFlow फ्रेमवर्क का JavaScript/TypeScript पोर्ट है। यह ब्राउज़र और Node.js दोनों को सपोर्ट करता है। मुख्य लाभ सर्वर पर डेटा भेजे बिना क्लाइंट साइड पर प्रशिक्षण और इन्फ्रेंस (आउटपुट) निष्पादित करने की क्षमता है।
स्थापना
npm install @tensorflow/tfjsnpm install @tensorflow/tfjs-node // CPU त्वरण के साथ Node.js के लिएnpm install @tensorflow/tfjs-node-gpu // GPU के लिएउदाहरण: TypeScript पर लीनियर रिग्रेशन
import * as tf from '@tensorflow/tfjs';
// एक सरल मॉडल बनाएं: y = 2x - 1const model = tf.sequential();model.add(tf.layers.dense({ units: 1, inputShape: [1] }));
// संकलनmodel.compile({ optimizer: 'sgd', loss: 'meanSquaredError' });
// प्रशिक्षण डेटाconst xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]);const ys = tf.tensor2d([-1, 1, 3, 5, 7], [5, 1]);
// प्रशिक्षणmodel.fit(xs, ys, { epochs: 250 }).then(() => { // x=5 के लिए भविष्यवाणी const output = model.predict(tf.tensor2d([5], [1, 1])) as tf.Tensor; output.print(); // ≈ 9 (2*5 - 1)});TensorFlow.js पूर्व-प्रशिक्षित मॉडल (जैसे, छवि वर्गीकरण के लिए MobileNet) लोड करने और गणना ग्राफ के साथ काम करने का भी समर्थन करता है।
2. ML5.js — क्रिएटिव प्रोजेक्ट्स के लिए ML
ML5.js TensorFlow.js के ऊपर बनाया गया है और उपयोग में आसानी पर केंद्रित है। यह कलाकारों, डिजाइनरों और ML में शुरुआती लोगों के लिए आदर्श है। लाइब्रेरी वर्गीकरण, टेक्स्ट जनरेशन, जेस्चर रिकॉग्निशन आदि कार्यों के लिए उच्च-स्तरीय API प्रदान करती है।
स्थापना
npm install ml5उदाहरण: छवि वर्गीकरण (MobileNet)
import * as ml5 from 'ml5';
// पूर्व-प्रशिक्षित MobileNet मॉडल लोड करेंconst classifier = ml5.imageClassifier('MobileNet');
// URL से छवि को वर्गीकृत करेंconst img = new Image();img.crossOrigin = 'anonymous';img.src = 'https://example.com/cat.jpg';
img.onload = () => { classifier.classify(img, (err: Error | null, results: any[]) => { if (err) { console.error(err); return; } console.log('परिणाम:', results); // [{ label: 'tabby cat', confidence: 0.98 }, ...] });};ML5.js स्वचालित रूप से मॉडल वेट लोड करता है और एक सरल कॉलबैक प्रदान करता है। यह त्वरित प्रोटोटाइप और इंटरैक्टिव इंस्टॉलेशन के लिए उपयुक्त है।
3. Brain.js — बिना जटिलता के न्यूरल नेटवर्क
Brain.js न्यूनतम कोड के साथ न्यूरल नेटवर्क बनाने के लिए एक लाइब्रेरी है। यह फीडफॉरवर्ड नेटवर्क, LSTM और RNN को सपोर्ट करता है। यह ब्राउज़र और Node.js दोनों में काम करता है।
स्थापना
npm install brain.jsउदाहरण: XOR फंक्शन (लॉजिकल एक्सक्लूसिव OR)
import * as brain from 'brain.js';
const net = new brain.NeuralNetwork();
net.train([ { input: [0, 0], output: [0] }, { input: [0, 1], output: [1] }, { input: [1, 0], output: [1] }, { input: [1, 1], output: [0] }], { iterations: 10000, errorThresh: 0.005});
const output = net.run([1, 0]); // ≈ 0.98 (1 के करीब)console.log(`परिणाम: ${output}`);Brain.js स्वचालित रूप से डेटा को सामान्य करता है और प्रशिक्षित मॉडल को JSON में सहेजने/लोड करने का समर्थन करता है।
4. Synaptic — आर्किटेक्चरल लचीलापन
Synaptic जटिल न्यूरल नेटवर्क आर्किटेक्चर बनाने के लिए एक लाइब्रेरी है: परसेप्ट्रॉन, मल्टी-लेयर नेटवर्क