टेंसरफ्लो गूगल द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे पायथन के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन, और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। यह शोध और उत्पादन उद्देश्यों के लिए उपयोग किया जाता है।
केरस को प्रोजेक्ट ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) के लिए शोध के हिस्से के रूप में विकसित किया गया था। केरस एक डीप लर्निंग API है, जिसे पायथन में लिखा गया है। यह एक हाई-लेवल API है जिसमें एक उत्पादक इंटरफेस है जो मशीन लर्निंग समस्याओं को हल करने में मदद करता है।
यह टेंसरफ्लो फ्रेमवर्क के शीर्ष पर चलता है। इसे त्वरित तरीके से प्रयोग करने में मदद करने के लिए बनाया गया था। यह आवश्यक अमूर्त और बिल्डिंग ब्लॉक प्रदान करता है जो मशीन लर्निंग समाधानों को विकसित करने और कैप्सुलेट करने में आवश्यक हैं।
यह अत्यधिक स्केलेबल है और क्रॉस-प्लेटफॉर्म क्षमताओं के साथ आता है। इसका मतलब है कि केरस TPU या GPU के क्लस्टर पर चल सकता है। केरस मॉडल को वेब ब्राउज़र या मोबाइल फोन पर चलाने के लिए भी एक्सपोर्ट किया जा सकता है।
केरस पहले से ही टेंसरफ्लो पैकेज के भीतर मौजूद है। इसे नीचे दिए गए कोड की लाइन का उपयोग करके एक्सेस किया जा सकता है।
import tensorflow from tensorflow import keras
केरस फंक्शनल API अधिक लचीले मॉडल बनाने में मदद करता है, अनुक्रमिक API का उपयोग करके बनाए गए मॉडल की तुलना में। फंक्शनल API नॉन-लीनियर टोपोलॉजी वाले मॉडल के साथ काम कर सकता है, लेयर्स साझा कर सकता है और कई इनपुट और आउटपुट के साथ काम कर सकता है। एक डीप लर्निंग मॉडल आमतौर पर एक डायरेक्टेड एसाइक्लिक ग्राफ (DAG) होता है जिसमें कई लेयर्स होती हैं। फंक्शनल API लेयर्स के ग्राफ को बनाने में मदद करता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के शीर्ष पर बनाया गया है। पायथन का उपयोग करके लेयर इंस्टेंस के कंस्ट्रक्टर आर्गुमेंट्स वापस करने के लिए कोड स्निपेट निम्नलिखित है:
उदाहरण
class CustomDense(layers.Layer):
def __init__(self, units=32):
super(CustomDense, self).__init__()
self.units = units
def build(self, input_shape):
self.w = self.add_weight(
shape=(input_shape[-1], self.units),
initializer="random_normal",
trainable=True,
)
self.b = self.add_weight(
shape=(self.units,), initializer="random_normal", trainable=True
)
def call(self, inputs):
return tf.matmul(inputs, self.w) + self.b
def get_config(self):
return {"units": self.units}
inputs = keras.Input((4,))
outputs = CustomDense(10)(inputs)
model = keras.Model(inputs, outputs)
print("नीचे दिया गया फ़ंक्शन लेयर के इंस्टेंस के लिए कंस्ट्रक्टर आर्गुमेंट्स वापस करता है")
config = model.get_config()
new_model = keras.Model.from_config(config, custom_objects={"CustomDense": CustomDense})
कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional
आउटपुट
नीचे दिया गया फ़ंक्शन लेयर के इंस्टेंस के लिए कंस्ट्रक्टर आर्गुमेंट्स वापस करता है
व्याख्या
'CustomDense' नामक एक क्लास बनाई जाती है जिसका उपयोग मॉडल में वजन जोड़ने के लिए किया जाता है।
'get_config' नामक एक अन्य फ़ंक्शन परिभाषित किया जाता है जो लेयर के प्रत्येक इंस्टेंस के लिए कंस्ट्रक्टर आर्गुमेंट्स वापस करता है।
मॉडल के लिए इनपुट लेयर्स परिभाषित की जाती हैं।
अगला, मॉडल परिभाषित किया जाता है और फ़ंक्शन को कॉल किया जाता है।