केरस को प्रोजेक्ट ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) के लिए अनुसंधान के एक भाग के रूप में विकसित किया गया था। केरस एक डीप लर्निंग एपीआई है, जिसे पायथन में लिखा गया है। यह एक उच्च-स्तरीय एपीआई है जिसमें एक उत्पादक इंटरफ़ेस है जो मशीन सीखने की समस्याओं को हल करने में मदद करता है। यह Tensorflow ढांचे के शीर्ष पर चलता है। इसे त्वरित तरीके से प्रयोग में मदद करने के लिए बनाया गया था। यह आवश्यक सार तत्व और बिल्डिंग ब्लॉक्स प्रदान करता है जो मशीन लर्निंग सॉल्यूशंस को विकसित करने और इनकैप्सुलेट करने के लिए आवश्यक हैं।
यह अत्यधिक स्केलेबल है, और क्रॉस-प्लेटफ़ॉर्म क्षमताओं के साथ आता है। इसका मतलब है कि केरस को टीपीयू या जीपीयू के क्लस्टर पर चलाया जा सकता है। केरस मॉडल को वेब ब्राउज़र या मोबाइल फोन में भी चलाने के लिए निर्यात किया जा सकता है।
केरस पहले से ही Tensorflow पैकेज में मौजूद है। इसे कोड की नीचे दी गई लाइन का उपयोग करके एक्सेस किया जा सकता है।
import tensorflow from tensorflow import keras
केरस कार्यात्मक एपीआई ऐसे मॉडल बनाने में मदद करता है जो अनुक्रमिक एपीआई का उपयोग करके बनाए गए मॉडल की तुलना में अधिक लचीले होते हैं। कार्यात्मक एपीआई उन मॉडलों के साथ काम कर सकता है जिनमें गैर-रेखीय टोपोलॉजी है, परतों को साझा कर सकते हैं और कई इनपुट और आउटपुट के साथ काम कर सकते हैं। एक गहन शिक्षण मॉडल आमतौर पर एक निर्देशित चक्रीय ग्राफ (DAG) होता है जिसमें कई परतें होती हैं। कार्यात्मक एपीआई परतों का ग्राफ बनाने में मदद करता है।
हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है। निम्नलिखित कोड स्निपेट है जिसमें केरा का उपयोग परतों के ग्राफ में नोड्स को निकालने और पुन:उपयोग करने के लिए किया जाता है -
उदाहरण
print("VGG19 model with pre-trained weights") vgg19 = tf.keras.applications.VGG19() features_list = [layer.output for layer in vgg19.layers] feat_extraction_model = keras.Model(inputs=vgg19.input, outputs=features_list) img = np.random.random((1, 224, 224, 3)).astype("float32") print("Create feature-extraction model") extracted_features = feat_extraction_model(img)
कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional
आउटपुट
VGG19 model with pre-trained weights Downloading data from https://storage.googleapis.com/tensorflow/kerasapplications/vgg19/vgg19_weights_tf_dim_ordering_tf_kernels.h5 574717952/574710816 [==============================] - 6s 0us/step Create feature-extraction model
स्पष्टीकरण
-
चूंकि परतों का ग्राफ एक स्थिर डेटा संरचना है, इसलिए इसे एक्सेस किया जा सकता है।
-
यही कारण है कि कार्यात्मक मॉडल को छवियों के रूप में प्लॉट किया जा सकता है।
-
मध्यवर्ती परतों (नोड्स) की सक्रियता को भी एक्सेस और पुन:उपयोग किया जा सकता है।
-
यह सुविधा निष्कर्षण उद्देश्यों के लिए बहुत उपयोगी है।
-
हम VGG19 मॉडल का उपयोग करेंगे, जिसमें इमेजनेट की मदद से पूर्व-प्रशिक्षित भार हैं।
-
इन मध्यवर्ती सक्रियणों को ग्राफ़ डेटा संरचना को क्वेरी करके प्राप्त किया जा सकता है।
-
इन सुविधाओं का उपयोग एक नया फीचर-निष्कर्षण मॉडल बनाने के लिए किया जा सकता है जो मध्यवर्ती परत सक्रियण के मान लौटाता है।