परिनियोजन

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

सिंहावलोकन

टीएफएफ गणना के लिए तैनाती के दो प्रमुख तरीके हैं:

  • मूल बैकएंड . यदि यह computation.proto में परिभाषित TFF गणनाओं की वाक्यात्मक संरचना की व्याख्या करने में सक्षम है, तो हम बैकएंड को मूल के रूप में संदर्भित करने जा रहे हैं। एक मूल बैकएंड को सभी भाषा निर्माणों या आंतरिक चीजों का समर्थन करना जरूरी नहीं है। नेटिव बैकएंड को मानक टीएफएफ निष्पादक इंटरफेस में से एक को लागू करना होगा, जैसे कि पाइथॉन कोड द्वारा उपभोग के लिए federated_language.framework.Executor , या जीआरपीसी एंडपॉइंट के रूप में प्रदर्शित executor.proto में परिभाषित इसका भाषा-स्वतंत्र संस्करण।

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

  • गैर-देशी बैकएंड . गैर-देशी बैकएंड, मूल बैकएंड के विपरीत, टीएफएफ गणना संरचना की सीधे व्याख्या नहीं कर सकते हैं, और इसे बैकएंड द्वारा समझे जाने वाले एक अलग लक्ष्य प्रतिनिधित्व में परिवर्तित करने की आवश्यकता होती है। ऐसे बैकएंड का एक उल्लेखनीय उदाहरण Hadoop क्लस्टर या स्थिर डेटा पाइपलाइनों के लिए एक समान प्लेटफ़ॉर्म होगा। किसी गणना को ऐसे बैकएंड पर तैनात करने के लिए, इसे पहले रूपांतरित (या संकलित ) किया जाना चाहिए। सेटअप के आधार पर, यह उपयोगकर्ता के लिए पारदर्शी रूप से किया जा सकता है (यानी, एक गैर-देशी बैकएंड को मानक निष्पादक इंटरफ़ेस जैसे कि federated_language.framework.Executor में लपेटा जा सकता है जो हुड के नीचे परिवर्तन करता है), या इसे इस रूप में उजागर किया जा सकता है एक उपकरण जो उपयोगकर्ता को मैन्युअल रूप से गणना, या गणना के एक सेट को बैकएंड के विशेष वर्ग द्वारा समझे गए उचित लक्ष्य प्रतिनिधित्व में परिवर्तित करने की अनुमति देता है। विशिष्ट प्रकार के गैर-देशी बैकएंड का समर्थन करने वाला कोड tff.backends नेमस्पेस में पाया जा सकता है। इस लेखन के समय, गैर-देशी बैकएंड का एकमात्र समर्थन प्रकार सिस्टम का एक वर्ग है जो सिंगल-राउंड मैपरेडस को निष्पादित करने में सक्षम है।

मूल बैकएंड

अधिक विवरण जल्द ही आ रहे हैं।

गैर-मूल बैकएंड

मानचित्र कम करें

अधिक विवरण जल्द ही आ रहे हैं।