"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > टेंसरफ्लो के साथ ब्रिजिंग मशीन लर्निंग: पायथन से जावास्क्रिप्ट तक

टेंसरफ्लो के साथ ब्रिजिंग मशीन लर्निंग: पायथन से जावास्क्रिप्ट तक

2024-11-01 को प्रकाशित
ब्राउज़ करें:538

Bridging Machine Learning with TensorFlow: From Python to JavaScript

TensorFlow के साथ मशीन लर्निंग को जीवंत बनाना

एक जावास्क्रिप्ट डेवलपर के रूप में, मशीन लर्निंग में गोता लगाना उतना कठिन नहीं है जितना यह लग सकता है। हालाँकि Node.js पैकेज के साथ सब कुछ संभालना तकनीकी रूप से संभव है, लेकिन Python ML पारिस्थितिकी तंत्र इतना समृद्ध और अच्छी तरह से स्थापित है कि इसे नज़रअंदाज़ नहीं किया जा सकता। साथ ही, पाइथॉन के साथ काम करना एक शानदार अनुभव है। इसलिए, बैकएंड पर भारी भार उठाने के लिए पायथन का उपयोग करना समझ में आता है। एक बार जब आप अपना मॉडल तैयार कर लेते हैं, तो आप इसे फ्रंट-एंड फ्रेंडली प्रारूप में निर्यात कर सकते हैं और पूर्वानुमान चलाने के लिए क्लाइंट पर लोड कर सकते हैं।

एक मॉडल तैयार करना

इस पोस्ट में, हम एक कलाकार के ट्विटर फॉलोअर्स की संख्या के आधार पर उसकी लोकप्रियता का अनुमान लगाने के लिए एक मॉडल बनाने जा रहे हैं।

पहला कदम एक डेटासेट प्राप्त करना है। इस प्रोजेक्ट के लिए, हम एक आर्टिस्ट.सीएसवी फ़ाइल का उपयोग करेंगे जो इस तरह दिखती है:

twitter_followers,popularity,handle
111024636,94,justinbieber
107920365,91,rihanna
106599902,89,katyperry
95307659,97,taylorswift13
66325495,87,selenagomez
66325135,71,selenagomez
60943147,83,jtimberlake
54815915,82,britneyspears
53569307,85,shakira

जैसा कि आप देख सकते हैं, यहां दो प्रमुख मूल्य हैं: twitter_followers और लोकप्रियता। यह हमें एक अनुक्रम मॉडल के लिए अच्छी तरह से स्थापित करता है, जहां x ट्विटर_फॉलोअर्स होंगे और y लोकप्रियता होगी।

अनुक्रम मॉडल मॉडल बनाने के लिए सबसे आसान विकल्पों में से एक है। हालाँकि चुनाव अंततः विशिष्ट उपयोग के मामले पर निर्भर करता है, मैं इसे सरल रख रहा हूँ और अभी इस दृष्टिकोण पर कायम हूँ।

बैकएंड का निर्माण

जब आप एक मॉडल बना रहे हों, तो कुछ बुनियादी कार्य हैं जिन्हें आपको निपटाना होगा:

  • डेटा को साफ़ या सामान्य करें
  • डेटा को प्रशिक्षण (80%) और परीक्षण (20%) में विभाजित करें
  • ऑप्टिमाइज़र और लॉस फ़ंक्शन जैसी सेटिंग्स के साथ एक मॉडल चुनें
  • मॉडल को प्रशिक्षित करें (फिट)
  • मॉडल का मूल्यांकन करें
  • मॉडल सहेजें

निम्नलिखित कोड आपको इन कार्यों का एक अच्छा अवलोकन देता है, हालांकि यह पूरी तस्वीर नहीं है। आप Github पर पूरा कोड देख सकते हैं।

पायथन: टेन्सरफ्लो के साथ शुरुआत करना

def get_model(x, y):
    x_normalized = layers.Normalization(
        axis=None,
    )
    x_normalized.adapt(np.array(x))

    model = tensorflow.keras.Sequential([x_normalized, layers.Dense(units=1)])

    model.compile(
        optimizer=tensorflow.keras.optimizers.Adam(learning_rate=0.1),
        loss="mean_squared_error",
    )

    model.fit(
        x,
        y,
        epochs=2,
        verbose=0,
        validation_split=0.2,
    )

    return model

def main:
  train_features, test_features, train_labels, test_labels = split_data(dataset)

  model = get_model(
      train_features["twitter_followers"],
      train_labels,
  )

  test_loss = model.evaluate(
      test_features["twitter_followers"], test_labels, verbose=2
  )

  model.export("./saved_model")

जैसा कि आप देख सकते हैं, पायथन कोड बहुत सीधा है। एक मुख्य कार्य है जो डेटा को विभाजित करना, मॉडल प्राप्त करना, उसका मूल्यांकन करना और अंत में उसे सहेजना संभालता है।

संक्षेप में, मॉडल बनाने के लिए ये आवश्यक चरण हैं। लेकिन आइए वास्तविक बनें: एक ऐसा मॉडल बनाना जो वास्तव में काम करता हो, एक कला और विज्ञान दोनों है। यहां मेरा लक्ष्य सिर्फ यह दिखाना है कि पायथन के साथ शुरुआत करना कितना आसान हो सकता है। हालाँकि, अच्छा प्रदर्शन करने वाले मॉडल को बनाने में बहुत कुछ लगता है - जैसे एक ठोस डेटासेट होना, अपने डेटा को साफ करना और सामान्य बनाना, सही मॉडल और सेटिंग्स चुनना, और इसे प्रशिक्षित करने के लिए कंप्यूटिंग शक्ति होना। इन सभी कार्यों के लिए समय और प्रयास के गंभीर निवेश की आवश्यकता होती है!

फ्रंटएंड पर मॉडल का उपभोग करना

अब जब हमने अपने मॉडल को प्रशिक्षित और सहेज लिया है, तो इसे फ्रंटएंड में लाने का समय आ गया है। यह चरण वह है जहां हम मॉडल को वेब-अनुकूल प्रारूप में लोड करेंगे, ताकि हम सीधे ब्राउज़र में भविष्यवाणियां चला सकें। चाहे आप TensorFlow.js या किसी अन्य लाइब्रेरी का उपयोग कर रहे हों, मशीन लर्निंग को अपने वेब ऐप में एकीकृत करने से संभावनाओं की दुनिया खुल जाती है। आइए जानें कि यह कैसे करना है!

TensorFlow एक npm पैकेज प्रदान करता है जिसे Tensorflowjs_converter कहा जाता है जो सहेजे गए मॉडल को JSON और बाइनरी में बदलने में मदद करता है।

tensorflowjs_converter --input_format=tf_saved_model model/saved_model out/public
  • tf_saven_model: यह मॉडल को सहेजने के लिए उपयोग किया जाने वाला प्रारूप है।
  • मॉडल/सेव्ड_मॉडल: यह वह निर्देशिका है जहां पायथन कोड निष्पादित होने पर मॉडल सहेजा गया था।
  • आउट/पब्लिक: यह आउटपुट डायरेक्टरी है जहां फ्रंटएंड-फ्रेंडली फ़ाइलें सहेजी जाती हैं। फ़ोल्डर संरचना इस तरह दिखेगी:
ls -la out/public

group1-shard1of1.bin
model.json

यह सेटअप आपके वेब एप्लिकेशन के लिए आवश्यक फ़ाइलों तक पहुंच आसान बनाता है।

जावास्क्रिप्ट: TensorFlowJS का उपयोग करना

आप Github पर पूरा कोड देख सकते हैं।

const model = await tensorflow.loadGraphModel("model.json");

const getPopularity = (followers) => {
  const followers = 1_000;
  const normalized = followers;
  const x = tensorflow.tensor(normalized).reshape([-1, 1]);

  const result = model.predict(x);
  const values = result.arraySync();

  const y = values[0][0].toFixed(2) * 100;
  const popularity = y;

  return popularity;
};

जैसा कि पहले उल्लेख किया गया है, इस मॉडल का लक्ष्य ट्विटर फॉलोअर्स की संख्या के आधार पर "लोकप्रियता का अनुमान लगाना" है। हालांकि यह एक साधारण उदाहरण की तरह लग सकता है, यह प्रभावी ढंग से दर्शाता है कि बैकएंड पर एक मॉडल कैसे तैयार किया जाए और फ्रंटएंड पर इसका उपभोग कैसे किया जाए।

देखें कि getPopularity इनपुट को कैसे संसाधित करता है, लेकिन मुख्य लाइन मॉडल.प्रीडिक्ट(x) है, जो इनपुट x के आधार पर मान (y) की भविष्यवाणी करने के लिए मॉडल का उपयोग करता है।

डेमो पेज पर जाएं और कुछ ट्विटर हैंडल आज़माएं। यह देखने का एक मजेदार तरीका है कि मॉडल अनुयायियों की संख्या के आधार पर लोकप्रियता की भविष्यवाणी कैसे करता है।

निष्कर्ष

TensorFlow एक अद्भुत लाइब्रेरी है जो बैकएंड और फ्रंटएंड दोनों विकास के लिए उपकरण प्रदान करती है। कोई भी जावास्क्रिप्ट डेवलपर पायथन या इसी तरह की भाषा का उपयोग करके एक मॉडल बनाने में गोता लगा सकता है, फिर भविष्यवाणियों को चलाने के लिए उस मॉडल को आसानी से फ्रंटएंड में आयात कर सकता है।

हालाँकि मशीन लर्निंग एक विशाल क्षेत्र है जिसके लिए बहुत अधिक ज्ञान की आवश्यकता होती है, TensorFlow जैसे उपकरण सॉफ़्टवेयर और मशीन लर्निंग डेवलपर्स के बीच अंतर को पाटने में मदद करते हैं। यह उन लोगों के लिए यात्रा को बहुत आसान बना देता है जो एमएल को अपनी परियोजनाओं में शामिल करना चाहते हैं!

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/garciadiazjaime/bridging-machine-learning-with-tensorflow-from-python-to-javascript-25hp?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com पर संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3