Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पाइथन में अवशिष्ट कनेक्शन के साथ काम करने के लिए कार्यात्मक एपीआई का उपयोग कैसे किया जा सकता है?

केरस Tensorflow पैकेज में मौजूद है। इसे कोड की नीचे दी गई लाइन का उपयोग करके एक्सेस किया जा सकता है।

टेंसरफ़्लो इंपोर्ट केरस से टेंसरफ़्लो इंपोर्ट करें

केरस कार्यात्मक एपीआई ऐसे मॉडल बनाने में मदद करता है जो अनुक्रमिक एपीआई का उपयोग करके बनाए गए मॉडल की तुलना में अधिक लचीले होते हैं। कार्यात्मक एपीआई उन मॉडलों के साथ काम कर सकता है जिनमें गैर-रेखीय टोपोलॉजी है, परतों को साझा कर सकते हैं और कई इनपुट और आउटपुट के साथ काम कर सकते हैं। एक गहन शिक्षण मॉडल आमतौर पर एक निर्देशित चक्रीय ग्राफ (DAG) होता है जिसमें कई परतें होती हैं। कार्यात्मक एपीआई परतों का ग्राफ बनाने में मदद करता है।

हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है। निम्नलिखित कोड स्निपेट है;

उदाहरण

प्रिंट("CIFAR10 के लिए टॉय रेसनेट मॉडल") प्रिंट ("मॉडल के लिए लेयर जनरेट") इनपुट =केरस। इनपुट (आकार =(32, 32, 3), नाम ="img") x =लेयर्स। Conv2D ( 32, 3, सक्रियण ="relu") (इनपुट) x =परतें। Conv2D (64, 3, सक्रियण ="relu") (x) ब्लॉक_1_आउटपुट =परतें। MaxPooling2D (3) (x) x =परतें। Conv2D (64) , 3, सक्रियण ="relu", पैडिंग ="समान") (ब्लॉक_1_आउटपुट) x =परतें। Conv2D (64, 3, सक्रियण ="relu", पैडिंग ="समान") (x) ब्लॉक_2_आउटपुट =परतें। जोड़ें ([ x, ब्लॉक_1_आउटपुट])x =परतें। Conv2D (64, 3, सक्रियण ="relu", पैडिंग ="समान") (ब्लॉक_2_आउटपुट) x =परतें। Conv2D (64, 3, सक्रियण ="relu", पैडिंग ="समान" ")(x)block_3_output =Layers.add([x, block_2_output])x =Layers.Conv2D(64, 3, Activate="relu")(block_3_output)x =Layers.GlobalAveragePooling2D()(x)x =लेयर्स। Dense(256, एक्टिवेशन ="relu") (x) x =लेयर्स। ड्रॉपआउट (0.5) (x) आउटपुट =लेयर्स। डेंस (10) (x) मॉडल =केरस। मॉडल (इनपुट, आउटपुट, नाम ="toy_resnet" )प्रिंट("मॉडल के बारे में अधिक जानकारी")model.summary()

कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional

आउटपुट

सीआईएफएआर10 के लिए टॉय रेसनेट मॉडलमॉडल के लिए तैयार की गई परतेंमॉडल के बारे में अधिक जानकारी:"toy_resnet"______________________________________________________________________________________________ परत (प्रकार) आउटपुट आकार परम # से जुड़ा है=========================================================================================img (इनपुटलेयर) [(कोई नहीं, 32, 32, 3)] , 30, 32) 896 आईएमजी [0] [0] __________________________ 0][0]_________________________________________________________________________ _____________________________conv2d_34 (रूपांतरण 2D) (कोई नहीं, 9, 9, 64) 36928 max_pooling2d_8[0][0]_______________________________________________________________________________________________________conv2d_35 (रूपांतरण 2D) (कोई नहीं, 9, 9, 64) 36928 (None, 9, 9, 9, 64) जोड़ें) , 9, 64) 0 conv2d_35[0][0] max_pooling2d_8[0][0]___________________________________________________________________________________________conv2d_36 (Conv2D) (कोई नहीं, 9, 9, 64) 36928 add_12[0][0]______________________________________________________________ 9, 64) 36928 conv2d_36[0][0]_______________________________________________________________________________________________________________ जोड़ें_13 (जोड़ें) (कोई नहीं, 9, 9, 64) 0 conv2d_37[0][0] add_12[0][0]___________________________________________________________________________________________conv2d_38 (Conv2D) (कोई नहीं, 7, 7, 64) 36928 add_13[0][0]_______________________________________________________________________________________________________global_average_pooling2d_1 (ग्लो (कोई नहीं, 64_) 0 conv2d_38 [0] _____________________________________________________________________________________________घना_40 (घना) (कोई नहीं, 256) 16640 वैश्विक_औसत_पूलिंग2d_1[0][0]_______________________________________________________________________________________________________ ड्रॉपआउट_2 (छोड़ने वाला) (कोई नहीं, 256) 0 सघन_40[0][0]__________________________________________ 0][0]============================================================================================कुल पैरा:223,242 प्रशिक्षण योग्य पैरा:223,242 अप्रशिक्षित पैरा:0. 

स्पष्टीकरण

  • मॉडल में कई इनपुट और आउटपुट हैं।

  • कार्यात्मक एपीआई गैर-रैखिक कनेक्टिविटी टोपोलॉजी के साथ काम करना आसान बनाता है।

  • परतों वाला यह मॉडल क्रमिक रूप से जुड़ा नहीं है, इसलिए 'अनुक्रमिक' API इसके साथ काम नहीं कर सकता है।

  • यह वह जगह है जहां अवशिष्ट कनेक्शन तस्वीर में आते हैं।

  • इसे प्रदर्शित करने के लिए CIFAR10 का उपयोग करते हुए एक नमूना ResNet मॉडल बनाया गया है।


  1. पायथन प्रोग्राम का उपयोग करके मॉडल को प्लॉट करने के लिए केरस का उपयोग कैसे किया जा सकता है?

    ग्रीक में केरस का अर्थ सींग होता है। केरस को प्रोजेक्ट ONEIROS (ओपन एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) के लिए अनुसंधान के एक भाग के रूप में विकसित किया गया था। केरस एक डीप लर्निंग एपीआई है, जिसे पायथन में लिखा गया है। यह एक उच्च-स्तरीय एपीआई है जिसमें एक उत्पादक इंटरफ़ेस है

  1. चर्चा करें कि केरस कार्यात्मक एपीआई का उपयोग पायथन का उपयोग करके परतें बनाने के लिए कैसे किया जा सकता है

    Tensorflow एक मशीन लर्निंग फ्रेमवर्क है जो Google द्वारा प्रदान किया जाता है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसका उपयोग पायथन के संयोजन में एल्गोरिदम, गहन शिक्षण अनुप्रयोगों और बहुत कुछ को लागू करने के लिए किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें अनुकूलन तकनी

  1. पायथन के साथ एपीआई परिणामों की कल्पना कैसे करें

    परिचय.. एपीआई लिखने का एक सबसे बड़ा लाभ वर्तमान/लाइव डेटा निकालना है, भले ही डेटा तेजी से बदल रहा हो, एक एपीआई हमेशा अद्यतित डेटा प्राप्त करेगा। कुछ जानकारी का अनुरोध करने के लिए एपीआई प्रोग्राम बहुत विशिष्ट यूआरएल का उपयोग करेंगे उदा। Spotify या Youtube Music में 2020 के टॉप 100 सबसे ज्यादा बजाए ज