जावास्क्रिप्ट (Node.js) पर मशीन लर्निंग: लाइब्रेरीज़ और उपकरण
हालाँकि Python मशीन लर्निंग के लिए प्रमुख भाषा बना हुआ है, JavaScript (विशेष रूप से Node.js प्लेटफॉर्म) इस क्षेत्र में तेजी से लोकप्रियता हासिल कर रहा है। यह ब्राउज़र में सीधे मॉडल चलाने की क्षमता, स्टैक के एकीकरण (full-stack JS) और न्यूरल नेटवर्क, लीनियर अलजेब्रा और सांख्यिकी के साथ काम करने के लिए शक्तिशाली लाइब्रेरीज़ के उद्भव के कारण है। इस लेख में, हम Node.js के लिए प्रमुख मशीन लर्निंग लाइब्रेरीज़, उनकी क्षमताओं और उपयोग के उदाहरणों पर विचार करेंगे।
1. TensorFlow.js — JS में मशीन लर्निंग का फ्लैगशिप
TensorFlow.js — Google के लोकप्रिय फ्रेमवर्क का पोर्ट है, जिसे JavaScript के लिए अनुकूलित किया गया है। यह शुरू से मॉडल को प्रशिक्षित करने, पूर्व-प्रशिक्षित मॉडल चलाने और Node.js और ब्राउज़र दोनों में इन्फ्रेंस करने की अनुमति देता है। लाइब्रेरी WebGL (ब्राउज़र में) या CUDA (Node.js-एडॉन के माध्यम से) के माध्यम से GPU-त्वरण का समर्थन करती है।
स्थापना:
npm install @tensorflow/tfjs @tensorflow/tfjs-nodeउदाहरण: लीनियर रिग्रेशन
const tf = require('@tensorflow/tfjs-node');
// प्रशिक्षण डेटाconst xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);const ys = tf.tensor2d([2, 4, 6, 8], [4, 1]);
// मॉडल बनानाconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// कम्पाइल करनाmodel.compile({optimizer: 'sgd', loss: 'meanSquaredError'});
// प्रशिक्षणmodel.fit(xs, ys, {epochs: 200}).then(() => { // भविष्यवाणी model.predict(tf.tensor2d([5], [1, 1])).print();});प्रमुख क्षमताएँ:
- न्यूरल नेटवर्क का पूर्ण समर्थन (कन्वोल्यूशनल, रिकरंट, ट्रांसफॉर्मर)
- Keras (Python) और TensorFlow Hub से मॉडल लोड करना
- गणना ग्राफ़ के साथ काम करना और ऑटोमैटिक डिफरेंशिएशन
- विज़ुअलाइज़ेशन के लिए अंतर्निहित उपकरण (tfjs-vis)
2. Brain.js — सरलता और सुविधा
Brain.js — JavaScript पर न्यूरल नेटवर्क बनाने के लिए सबसे सरल लाइब्रेरीज़ में से एक है। यह शुरुआती और छोटे प्रोजेक्ट्स के लिए आदर्श है। यह फीडफॉरवर्ड और रिकरंट नेटवर्क (LSTM, GRU) के साथ-साथ टाइम सीरीज़ के साथ काम करने का समर्थन करता है।
स्थापना:
npm install brain.jsउदाहरण: XOR वर्गीकरण
const brain = require('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]}]);
const output = net.run([1, 0]); // ~0.98console.log(output);विशेषताएँ:
- न्यूनतम प्रवेश सीमा — कोड की केवल कुछ पंक्तियाँ
- डेटा सामान्यीकरण के लिए अंतर्निहित समर्थन
- JSON में प्रशिक्षित मॉडल को सहेजने और लोड करने की क्षमता
- रिकरंट नेटवर्क के लिए समर्थन (LSTMTimeStep, GRUTimeStep)
3. Synaptic — मॉड्यूलर आर्किटेक्चर
Synaptic — एक ओपन-सोर्स लाइब्रेरी है जो न्यूरल नेटवर्क बनाने के लिए एक लचीली आर्किटेक्चर प्रदान करती है। यह बाहरी लाइब्रेरीज़ (शुद्ध JS के अलावा) पर निर्भर नहीं है और मल्टीलेयर परसेप्ट्रॉन, लॉन्ग शॉर्ट-टर्म मेमोरी (LSTM) नेटवर्क और यहाँ तक कि कैप्सूल नेटवर्क सहित मनमानी नेटवर्क टोपोलॉजी बनाने की अनुमति देती है।
स्थापना:
npm install synapticउदाहरण: परसेप्ट्रॉन बनाना
const synaptic = require('synaptic');
const { Layer, Network, Trainer } = synaptic;
const inputLayer = new Layer(2);const hiddenLayer = new Layer(3);const outputLayer = new Layer(1);
inputLayer.project(hiddenLayer);hiddenLayer.project(outputLayer);
const myNetwork = new Network({ input: inputLayer, hidden: [hiddenLayer], output: outputLayer});
const t