TensorFlow keras को और क्या प्रदान करता है?


16

मुझे पता है कि केरस TensorFlow के लिए एक उच्च-स्तरीय इंटरफ़ेस के रूप में कार्य करता है।

लेकिन मुझे ऐसा लगता है कि केर अपने आप में कई कार्य कर सकते हैं (डेटा इनपुट, मॉडल निर्माण, प्रशिक्षण, मूल्यांकन)।

इसके अलावा, TensorFlow की कुछ कार्यक्षमता को सीधे keras में पोर्ट किया जा सकता है (जैसे कि keras में tf मीट्रिक या हानि फ़ंक्शन का उपयोग करना संभव है)।

मेरा सवाल है, क्या TensorFlow प्रदान करता है जो किरस में पुन: पेश नहीं किया जा सकता है?

जवाबों:


15

डीप लर्निंग चौखटे अमूर्त के 2 स्तरों पर काम करते हैं:

  • निचला स्तर : यह वह जगह है जहाँ टेन्सोरफ़्लो, एमएक्सनेट, थीनो, और पायटोर जैसे फ्रेमवर्क बैठते हैं। यह वह स्तर है जहां गणितीय संचालन जैसे कि सामान्य मैट्रिक्स-मैट्रिक्स गुणन और तंत्रिका नेटवर्क आदिम जैसे संक्रियात्मक संचालन कार्यान्वित किए जाते हैं।
  • उच्च स्तर : यह वह जगह है जहां केरेस जैसे ढांचे बैठते हैं। इस स्तर पर, निचले स्तर की प्राथमिकताओं का उपयोग तंत्रिका नेटवर्क अमूर्तता को लागू करने के लिए किया जाता है जैसे परत और मॉडल। आम तौर पर, इस स्तर पर अन्य सहायक एपीआई जैसे मॉडल की बचत और मॉडल प्रशिक्षण भी लागू होते हैं।

आप केरस और टेंसोरफ्लो की तुलना नहीं कर सकते क्योंकि वे अमूर्त के विभिन्न स्तरों पर बैठते हैं। मैं भी केरस के उपयोग के अपने अनुभव को साझा करने के लिए इस अवसर को लेना चाहता हूं:

  • मैं इस बात से सहमत नहीं हूं कि केसर केवल बेसिक डीप लर्निंग के काम के लिए उपयोगी है। Keras एक खूबसूरती से लिखा एपीआई है। एपीआई की कार्यात्मक प्रकृति आपको पूरी तरह से मदद करती है और अधिक विदेशी अनुप्रयोगों के लिए आपके रास्ते से बाहर हो जाती है। केरस निचले स्तर के ढांचे तक पहुंच को अवरुद्ध नहीं करता है।
  • केरस का परिणाम बहुत अधिक पठनीय और संक्षिप्त कोड है।
  • केरेस मॉडल सीरियलाइज़ेशन / डिसेरिएलाइज़ेशन एपीआई, कॉलबैक, और पायथन जनरेटर का उपयोग करके डेटा स्ट्रीमिंग बहुत परिपक्व है।
  • केरस को टेंसोरफ्लो के लिए आधिकारिक उच्च स्तरीय अमूर्त घोषित किया गया है।

9

यदि आप केरस में अपने बैकएंड के रूप में TensorFlow का उपयोग करते हैं, तो वे कम या ज्यादा समान कार्यक्षमता साझा करते हैं। आपके माध्यम से keras.backendएक पहुंच TensorFlow कार्य करता है, जबकि tf.kerasआपके पास TENSorFlow के माध्यम से keras की संपूर्ण API तक पहुंच है।

चूंकि यह मामला है, मेरा सुझाव है कि आप केरस के साथ रहें और यदि आपको लगता है कि कुछ गायब है (उदाहरण के लिए एक मीट्रिक या हानि फ़ंक्शन) तो आप इसे TensorFlow के माध्यम से आयात कर सकते हैं।


5

केरेस जैसा कि आप कहते हैं कि सभी कार्यक्षमता शामिल हैं, लेकिन बॉक्स से बाहर यह केवल सीपीयू पर चलता है। TensorFlow या CNTK (जो मैं व्यक्तिगत रूप से पसंद करता हूं) जैसे बैकएंड में प्लगिंग करके आप GPU की शक्ति को अनलॉक करते हैं जो कुछ ML वर्कलोड, विशेष रूप से DL वर्कलोड को तेजी से बढ़ा सकता है। यदि आपके पास असतत GPU नहीं है तो लाभ न्यूनतम हैं।

अभ्यास में अधिकांश समय आप सिर्फ अपने बैकएंड को सेट कर सकते हैं और इसके बारे में भूल सकते हैं, और केरस के भीतर पूरी तरह से काम कर सकते हैं, यहां तक ​​कि दूसरे के लिए अपने बैकेंड को स्वैप कर सकते हैं और प्रदर्शन की तुलना कर सकते हैं। इसलिए जब तक आप सीधे निचले स्तर पर कोड नहीं करना चाहते तब तक TF की बारीकियों को सीखने की कोई आवश्यकता नहीं है।


5

यह देखते हुए कि TensorFlow सामान्य रूप से Keras की तुलना में अधिक निम्न-स्तरीय लाइब्रेरी है, आप देखेंगे कि यह अतिरिक्त लचीलापन और बेहतर प्रदर्शन प्रदान करता है (यद्यपि अपेक्षाकृत मामूली, यह इस बात पर निर्भर करता है कि आप अपना कोड कैसे लिखते हैं)। मैं कहूंगा, यदि आप नए प्रकार के तंत्रिका नेटवर्क के अनुसंधान या विकास में हैं, तो TensorFlow का ज्ञान बहुत उपयोगी होगा। उस के बाहर, आपको केरस के साथ ठीक होना चाहिए, हालांकि यह समझना कि अगर आप इसे बैकएंड के रूप में उपयोग कर रहे हैं, तो TensorFlow कैसे काम करता है।

हालाँकि, कुछ समय पहले मैंने पढ़ा था कि केरेस और टेन्सरफ्लो अधिक एकीकृत हो जाएंगे जो आपके लिए जीवन को बहुत आसान बना देगा।

जाहिर है कि यह केवल मेरा निजी विचार है, इसलिए मैं आपको कुछ अतिरिक्त लेखों की ओर संकेत करना चाहूंगा ताकि आप अपनी खुद की कुछ रीडिंग कर सकें। काग्ले पर यह चर्चा तर्क का एक बड़ा अवलोकन देती है कि कब और किसका उपयोग करना है। इस विषय पर मध्यम पोस्ट


5

हर शुरुआत करने वाले के पास यह क्वेरी होती है। यह हमेशा लगता है कि केरेस कोड की कम लाइनों में डेटा इनपुट, मॉडल निर्माण, प्रशिक्षण, मूल्यांकन जैसी बुनियादी कार्यक्षमता को हल करता है।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.