সাহায্য Kaggle উপর TensorFlow সঙ্গে গ্রেট বেরিয়ার রিফ রক্ষা চ্যালেঞ্জ যোগদান

সংযুক্ত কোর

এই দস্তাবেজটি যে জন্য একটি ভিত্তি হিসেবে কাজ করে TFF কোর স্তর প্রবর্তন ফেডারেটেড শিক্ষণ , এবং সম্ভব ভবিষ্যৎ অ শেখার ফেডারেট আলগোরিদিম।

ফেডারেটেড কোরের একটি মৃদু পরিচয়ের জন্য, অনুগ্রহ করে নিম্নলিখিত টিউটোরিয়ালগুলি পড়ুন, কারণ তারা উদাহরণের মাধ্যমে কয়েকটি মৌলিক ধারণার সাথে পরিচয় করিয়ে দেয় এবং ধাপে ধাপে একটি সাধারণ ফেডারেটেড গড় অ্যালগরিদম তৈরি করে।

আমরা সঙ্গে নিজেকে পরিচিত করার জন্য উৎসাহিত করবে ফেডারেটেড শিক্ষণ এবং এর যুক্ত টিউটোরিয়াল ইমেজ শ্রেণীবিন্যাস এবং টেক্সট প্রজন্ম , যেমন ফেডারেট শেখার জন্য ফেডারেটেড কোর API- এর ব্যবহার (এফসি API এর) পছন্দ আমরা তৈরি করেছি কিছু গুরুত্বপূর্ণ প্রসঙ্গ প্রদান এই স্তর ডিজাইন করা.

ওভারভিউ

লক্ষ্য, উদ্দেশ্যমূলক ব্যবহার এবং সুযোগ

ফেডারেটেড কোর (এফসি) বিতরণকৃত গণনা বাস্তবায়নের জন্য একটি প্রোগ্রামিং পরিবেশ হিসাবে ভালভাবে বোঝা যায়, অর্থাৎ, একাধিক কম্পিউটার (মোবাইল ফোন, ট্যাবলেট, এমবেডেড ডিভাইস, ডেস্কটপ কম্পিউটার, সেন্সর, ডাটাবেস সার্ভার ইত্যাদি) জড়িত কম্পিউটেশন যা প্রত্যেকে অ-সম্পাদনা করতে পারে। স্থানীয়ভাবে তুচ্ছ প্রক্রিয়াকরণ, এবং তাদের কাজ সমন্বয় করতে নেটওয়ার্ক জুড়ে যোগাযোগ.

মেয়াদ বিতরণ খুব জেনেরিক, এবং TFF সেখানে আউট বিতরণ আলগোরিদিম সব সম্ভব ধরনের লক্ষ্য করে না, তাই আমরা আলগোরিদিম যা এই কাঠামোর মধ্যে প্রকাশ করা যেতে পারে ধরনের বর্ণনা করতে কম জেনেরিক শব্দ ফেডারেট গণনার ব্যবহার করতে পছন্দ করে।

যদিও একটি সম্পূর্ণরূপে আনুষ্ঠানিক পদ্ধতিতে মেয়াদ ফেডারেট গণনার সংজ্ঞা বাহিরে এই ডকুমেন্টের সুযোগ হয়, আলগোরিদিম আপনি একটি মধ্যে pseudocode মধ্যে প্রকাশ দেখতে হতে পারে নানা ধরনের চিন্তা গবেষণা প্রকাশনার একটি নতুন বিতরণ শেখার আলগোরিদিম বর্ণনা করা হয়েছে।

এফসি লক্ষ্য, একটি nusthell এ, বিমূর্ততা একটি অনুরূপ pseudocode হয় মত স্তর, প্রোগ্রাম যুক্তি যে pseudocode হয় না এ একভাবে কম্প্যাক্ট উপস্থাপনা, বরং, যে লক্ষ্য পরিবেশের বিভিন্ন এক্সিকিউটেবল এর সক্ষম করা।

FC যে ধরণের অ্যালগরিদমগুলি প্রকাশ করার জন্য ডিজাইন করা হয়েছে তার মূল সংজ্ঞায়িত বৈশিষ্ট্য হল যে সিস্টেম অংশগ্রহণকারীদের ক্রিয়াগুলি সম্মিলিতভাবে বর্ণনা করা হয়। সুতরাং, আমরা প্রতিটি যন্ত্রের স্থানীয়ভাবে তথ্য রূপান্তর সম্পর্কে কথা বলতে ঝোঁক, এবং ডিভাইস একটি কেন্দ্রীভূত সমন্বয়কারী সম্প্রচার কাজ সমন্বয়ের, সংগ্রহ, বা তাদের ফলাফল সঞ্চিত।

TFF সহজ ক্লায়েন্ট-সার্ভার আর্কিটেকচারের অতিক্রম পাবে পরিকল্পিত হয়েছে, যৌথ প্রক্রিয়াকরণ ধারণা মৌলিক। এটি ফেডারেটেড লার্নিং-এ TFF-এর উৎপত্তির কারণে, একটি প্রযুক্তি যা মূলত সম্ভাব্য সংবেদনশীল ডেটার গণনাকে সমর্থন করার জন্য ডিজাইন করা হয়েছে যা ক্লায়েন্ট ডিভাইসগুলির নিয়ন্ত্রণে থাকে এবং এটি গোপনীয়তার কারণে একটি কেন্দ্রীভূত অবস্থানে ডাউনলোড নাও হতে পারে। যদিও এই ধরনের সিস্টেমের প্রতিটি ক্লায়েন্ট সিস্টেমের ফলাফল কম্পিউটিং করার জন্য ডেটা এবং প্রক্রিয়াকরণ শক্তির অবদান রাখে (যা আমরা সাধারণত সমস্ত অংশগ্রহণকারীদের কাছে মূল্যবান বলে আশা করি), আমরা প্রতিটি ক্লায়েন্টের গোপনীয়তা এবং পরিচয় গোপন রাখার চেষ্টা করি।

এইভাবে, যখন বিতরণকৃত কম্পিউটিং-এর জন্য বেশিরভাগ কাঠামো পৃথক অংশগ্রহণকারীদের দৃষ্টিকোণ থেকে প্রক্রিয়াকরণকে প্রকাশ করার জন্য ডিজাইন করা হয়েছে - অর্থাৎ, পৃথক পয়েন্ট-টু-পয়েন্ট বার্তা বিনিময়ের স্তরে, এবং আগত এবং বহির্গামী বার্তাগুলির সাথে অংশগ্রহণকারীর স্থানীয় রাজ্য পরিবর্তনের পরস্পর নির্ভরতা। , TFF এর ফেডারেটেড কোর (, এর একভাবে যেমন বিশ্বব্যাপী সিস্টেম-ব্যাপী দৃষ্টিকোণ থেকে সিস্টেম স্বভাব ব্যাখ্যা করার জন্য ডিজাইন করা MapReduce )।

ফলে, যখন সাধারণ উদ্দেশ্যে বিতরণ অবকাঠামো যেমন প্রেরণ যেমন অপারেশন প্রস্তাব এবং ব্লক নির্মাণের যেমন পেতে পারে, এফসি যেমন ব্লক নির্মাণের উপলব্ধ tff.federated_sum , tff.federated_reduce , অথবা tff.federated_broadcast যে encapsulate সহজ বিতরণ প্রোটোকল।

ভাষা

পাইথন ইন্টারফেস

TFF ফেডারেট কম্পিউটেশন প্রতিনিধিত্ব করতে একটি অভ্যন্তরীণ ভাষা ব্যবহার করে, যার সিনট্যাক্স serializable উপস্থাপনা দ্বারা সংজ্ঞায়িত করা হয় computation.proto । যদিও FC API ব্যবহারকারীদের সাধারণত এই ভাষার সাথে সরাসরি ইন্টারঅ্যাক্ট করতে হবে না। বরং, আমরা একটি পাইথন এপিআই (প্রদান tff নামস্থান) যে গোপন একটি উপায় কম্পিউটেশন সংজ্ঞায়িত করতে যেমন এরাউন্ড।

বিশেষ করে, TFF যেমন পাইথন ফাংশন টেকনিক উপলব্ধ tff.federated_computation যে ট্রেস সজ্জিত ফাংশন সংস্থা, এবং TFF এর ভাষায় ফেডারেট গণনার যুক্তি ধারাবাহিকভাবে উপস্থাপনা উত্পাদন। একটি ফাংশন দিয়ে সাজানো tff.federated_computation যেমন ধারাবাহিকভাবে প্রতিনিধিত্ব বাহক হিসাবে কাজ করে, এবং অন্য গণনার দেহের একটি বিল্ডিং ব্লক যেমন এম্বেড, অথবা যখন প্রার্থনা চাহিদা তে এটি নির্বাহ করতে পারেন।

এখানে শুধু একটি উদাহরণ; আরো উদাহরণ খুঁজে পাওয়া যেতে পারে কাস্টম আলগোরিদিম টিউটোরিয়াল।

@tff.federated_computation(tff.type_at_clients(tf.float32))
def get_average_temperature(sensor_readings):
  return tff.federated_mean(sensor_readings)

অ উৎসুক TensorFlow সাথে পরিচিত পাঠকেরা পাইথন কোড লেখা এই পদ্ধতির অনুরূপ যে পাবেন যেমন ব্যবহারসমূহ ফাংশন tf.add বা tf.reduce_sum পাইথন কোড একটি অধ্যায় একটি TensorFlow গ্রাফ সংজ্ঞায়িত হবে। যদিও কোড টেকনিক্যালি পাইথন প্রকাশ করা হয়, তার উদ্দেশ্য একটি একটি serializable উপস্থাপনা গঠন করা হয় tf.Graph নীচে, এবং এটি গ্রাফ না পাইথন কোড, যে অভ্যন্তরীণভাবে TensorFlow রানটাইম দ্বারা সঞ্চালিত হয়। অনুরূপভাবে, এক মনে করতে পারেন tff.federated_mean দ্বারা প্রতিনিধিত্ব একটি ফেডারেট গণনার মধ্যে একটি ফেডারেট অপ ঢোকাতে যেমন get_average_temperature

FC একটি ভাষা সংজ্ঞায়িত করার কারণের একটি অংশ এই সত্যের সাথে সম্পর্কিত যে, উপরে উল্লিখিত হিসাবে, ফেডারেটেড গণনাগুলি বিতরণ করা সমষ্টিগত আচরণগুলিকে নির্দিষ্ট করে এবং যেমন, তাদের যুক্তি অ-স্থানীয়। উদাহরণস্বরূপ, TFF অপারেটর, ইনপুট এবং আউটপুট সরবরাহ করে যা নেটওয়ার্কের বিভিন্ন স্থানে বিদ্যমান থাকতে পারে।

এটি একটি ভাষা এবং একটি টাইপ সিস্টেমের জন্য আহ্বান করে যা বিতরণের ধারণাটি ক্যাপচার করে।

টাইপ সিস্টেম

ফেডারেটেড কোর নিম্নলিখিত ধরণের ধরণের অফার করে। এই ধরনের বর্ণনা করার সময়, আমরা টাইপ কনস্ট্রাক্টরগুলির দিকে নির্দেশ করি এবং সেইসাথে একটি কমপ্যাক্ট নোটেশন প্রবর্তন করি, কারণ এটি একটি সহজ উপায় বা গণনা এবং অপারেটরগুলির প্রকারগুলি বর্ণনা করে।

প্রথমত, বিদ্যমান মূলধারার ভাষাগুলির সাথে ধারণাগতভাবে একই রকমের বিভাগগুলি এখানে রয়েছে:

  • টেন্সর প্রকার ( tff.TensorType )। ঠিক যেমন TensorFlow, এই আছে dtype এবং shape । মাত্র তফাত হল যে এই ধরনের বস্তু সীমাবদ্ধ নয় হয় tf.Tensor পাইথন মধ্যে দৃষ্টান্ত যে একটি TensorFlow গ্রাফে TensorFlow অপস আউটপুটের প্রতিনিধিত্ব, এছাড়াও একটি বিতরণ একজন আউটপুট, ডাটা যে হতে পারে- যেমন যেমন একক অন্তর্ভুক্ত হতে পারে একত্রীকরণ প্রোটোকল। এইভাবে, TFF টেনসর টাইপ হল পাইথন বা টেনসরফ্লোতে এই ধরনের কংক্রিট শারীরিক উপস্থাপনার একটি বিমূর্ত সংস্করণ।

    TFF এর TensorTypes তাদের (স্ট্যাটিক) TensorFlow চেয়ে আকার চিকিৎসায় কঠোর হতে পারে। উদাহরণস্বরূপ, TFF এর typesystem একইরূপে একই অন্য কোন টেন্সর থেকে হস্তান্তরযোগ্য যেমন অজানা পদে থেকে একটি টেন্সর dtype কিন্তু নির্দিষ্ট পদে থেকে কোন টেন্সর করার হস্তান্তরযোগ্য নয়। এই চিকিত্সা কিছু নির্দিষ্ট রানটাইম ব্যর্থতা প্রতিরোধ করে (যেমন, অজানা র‌্যাঙ্কের একটি টেনসরকে ভুল সংখ্যক উপাদান সহ একটি আকারে রূপান্তর করার চেষ্টা করা), TFF যে গণনাগুলিকে বৈধ হিসাবে গ্রহণ করে তাতে আরও কঠোরতার মূল্যে।

    টেন্সর ধরনের জন্য কম্প্যাক্ট স্বরলিপি হয় dtype বা dtype[shape] । উদাহরণস্বরূপ, জন্য int32 এবং int32[10] পূর্ণসংখ্যার এবং int ভেক্টর ধরনের, যথাক্রমে।

  • সিকোয়েন্স প্রকার ( tff.SequenceType )। এগুলো TensorFlow এর কংক্রিট ধারণার TFF এর বিমূর্ত হয় সমতুল্য tf.data.Dataset গুলি। অনুক্রমের উপাদানগুলি একটি ক্রমিক পদ্ধতিতে গ্রাস করা যেতে পারে এবং জটিল প্রকারগুলি অন্তর্ভুক্ত করতে পারে।

    ক্রম ধরনের কম্প্যাক্ট উপস্থাপনা T* , যেখানে T উপাদানের প্রকার। উদাহরণস্বরূপ int32* একটি পূর্ণসংখ্যা ক্রম প্রতিনিধিত্ব করে।

  • নামযুক্ত tuple প্রকার ( tff.StructType )। এই tuples এবং কাঠামো নির্দিষ্ট ধরনের উপাদানের একটি পূর্বনির্ধারিত সংখ্যা আছে, নামকরণ বা নামহীন অভিধান মত নির্মানের TFF এর উপায়। গুরুত্বপূর্ণভাবে, TFF-এর নামযুক্ত টিপল ধারণাটি পাইথনের আর্গুমেন্ট টিপলগুলির বিমূর্ত সমতুল্যকে অন্তর্ভুক্ত করে, অর্থাৎ, উপাদানগুলির সংগ্রহ যার মধ্যে কিছু, কিন্তু সবগুলি নাম দেওয়া হয় না এবং কিছু অবস্থানগত।

    নামে tuples জন্য কম্প্যাক্ট স্বরলিপি হয় <n_1=T_1, ..., n_k=T_k> , যেখানে n_k ঐচ্ছিক উপাদান নাম আছে, এবং T_k উপাদান ধরনের হয়। উদাহরণস্বরূপ, <int32,int32> নামহীন পূর্ণসংখ্যার একজোড়া জন্য একটি কম্প্যাক্ট স্বরলিপি, এবং <X=float32,Y=float32> নামে ভাসে একজোড়া জন্য একটি কম্প্যাক্ট স্বরলিপি হয় X এবং Y করে একটি প্লেনে একটি বিন্দু প্রতিনিধিত্ব করতে পারে . Tuples, পাশাপাশি মিশ্র যেমন অন্যান্য ধরনের সঙ্গে নেস্টেড যাবে যেমন, <X=float32,Y=float32>* পয়েন্ট একটি ক্রম জন্য একটি কম্প্যাক্ট স্বরলিপি হবে।

  • ফাংশন প্রকার ( tff.FunctionType )। TFF একটি কার্মিক প্রোগ্রামিং ফ্রেমওয়ার্ক, হিসাবে গণ্য ফাংশন সঙ্গে হল প্রথম শ্রেণীর মান । ফাংশনগুলির সর্বাধিক একটি যুক্তি থাকে এবং ঠিক একটি ফলাফল থাকে৷

    কাজকর্মের জন্য কম্প্যাক্ট স্বরলিপি (T -> U) , যেখানে T একটি আর্গুমেন্ট ধরণ, এবং U ফলাফলের ধরণ হয়, অথবা ( -> U) কোন যুক্তি যদি (যদিও নো যুক্তি ফাংশন একটি অধ: পতিত হয় ধারণা যা বেশিরভাগই পাইথন স্তরে বিদ্যমান)। উদাহরণ হিসেবে বলা যায় (int32* -> int32) ফাংশন একটি একক পূর্ণসংখ্যা মান একটি পূর্ণসংখ্যা ক্রম কমাতে একটি ধরনের জন্য একটি স্বরলিপি হয়।

নিম্নলিখিত প্রকারগুলি TFF কম্পিউটেশনের বিতরণকৃত সিস্টেমের দিকটিকে সম্বোধন করে। এই ধারণার TFF করতে কিছুটা অনন্য হিসাবে, আমরা আপনাকে উল্লেখ করতে উত্সাহিত কাস্টম আলগোরিদিম অতিরিক্ত ভাষ্য এবং উদাহরণ জন্য টিউটোরিয়াল।

  • প্লেসমেন্ট প্রকার। এই ধরনের এখনো প্রকাশ্য 2 লিটারেল আকারে ছাড়া অন্য API এ উদ্ভাসিত হয় না tff.SERVER এবং tff.CLIENTS আপনার কাছে এই ধরনের ধ্রুবক যেমন মনে করতে পারেন যে। এটি অভ্যন্তরীণভাবে ব্যবহার করা হয়, তবে, এবং ভবিষ্যতে রিলিজে পাবলিক API এ চালু করা হবে। এই ধরনের কম্প্যাক্ট উপস্থাপনা placement

    একজন বসানো সিস্টেম যে অংশগ্রহণকারীদের একটি নির্দিষ্ট ভূমিকা পালন একটি সমষ্টিগত প্রতিনিধিত্ব করে। প্রারম্ভিক রিলিজের ক্লায়েন্ট-সার্ভার কম্পিউটেশন, যা সেখানে অংশগ্রহণকারীদের 2 গ্রুপ দ্বারা টার্গেটিং হয়: ক্লায়েন্ট এবং একটি সার্ভার (যদি আপনি Singleton দল হিসেবে আধুনিক মনে করতে পারেন)। যাইহোক, আরও বিস্তৃত আর্কিটেকচারে, অন্যান্য ভূমিকা থাকতে পারে, যেমন একটি মাল্টি-টায়ার্ড সিস্টেমে মধ্যবর্তী অ্যাগ্রিগেটর, যারা বিভিন্ন ধরণের একত্রীকরণ সম্পাদন করতে পারে, বা সার্ভার বা সার্ভার দ্বারা ব্যবহৃত বিভিন্ন ধরণের ডেটা কম্প্রেশন/ডিকম্প্রেশন ব্যবহার করে। ক্লায়েন্টদের

    এদেশের ধারণা সংজ্ঞায়িত প্রাথমিক উদ্দেশ্য ফেডারেট ধরনের সংজ্ঞায়িত জন্য একটি ভিত্তি হিসাবে হয়।

  • ফেডারেটেড প্রকার ( tff.FederatedType )। একটি ফেডারেট ধরনের একটি মান এক যে (যেমন একটি নির্দিষ্ট বসানো দ্বারা সংজ্ঞায়িত সিস্টেম অংশগ্রহণকারীদের একটি গ্রুপ দ্বারা হোস্ট করা হয় tff.SERVER বা tff.CLIENTS )। একটি ফেডারেট টাইপ বসানো মান (সুতরাং, এটি একটি দ্বারা সংজ্ঞায়িত করা হয় নির্ভরশীল টাইপ ), সদস্য উপাদানসমূহের প্রকার (কি ধরনের বিষয়বস্তু অংশগ্রহণকারীদের প্রতিটি স্থানীয়ভাবে হোস্টিং করা হয়), এবং অতিরিক্ত বিট all_equal যে নির্দিষ্ট করে সমস্ত অংশগ্রহণকারীদের স্থানীয়ভাবে কিনা একই আইটেম হোস্টিং.

    মান যে ধরনের আইটেম (সদস্য সংগঠকদের) অন্তর্ভুক্ত সংযুক্ত টাইপ জন্য কম্প্যাক্ট স্বরলিপি T , প্রতিটি গ্রুপ (বসানো) দ্বারা হোস্ট G হয় T@G বা {T}@G সঙ্গে all_equal বিট সেট বা, সেট যথাক্রমে নয়।

    উদাহরণ স্বরূপ:

    • {int32}@CLIENTS একটি ফেডারেট মান যা সম্ভাব্য স্বতন্ত্র পূর্ণসংখ্যার, ক্লায়েন্ট ডিভাইস প্রতি এক একটি সেট নিয়ে গঠিত প্রতিনিধিত্ব করে। মনে রাখবেন যে আমরা যে নেটওয়ার্ক জুড়ে একাধিক অবস্থান মধ্যে প্রদর্শিত তথ্য একাধিক আইটেম encompassing হিসাবে একটি একক ফেডারেট মান সম্পর্কে কথা বলা হয়। যদিও এই উপমা নিখুঁত কারণ TFF অনুমতি দেয় না নয় ওয়ান ওয়ে এটা আমার মনে হয় একটি "নেটওয়ার্ক" মাত্রা সঙ্গে টেন্সর এক ধরনের হিসাবে, রেণ্ডম এক্সেস একটি ফেডারেট মান সদস্য সংগঠকদের জন্য।

    • {<X=float32,Y=float32>*}@CLIENTS একটি ফেডারেট ডেটা সেট, যে একাধিক সিকোয়েন্স নিয়ে গঠিত একটি মান প্রতিনিধিত্ব করে XY স্থানাঙ্ক, ক্লায়েন্ট ডিভাইস প্রতি এক অনুক্রম।

    • <weights=float32[10,5],bias=float32[5]>@SERVER সার্ভার এ ওজন এবং পক্ষপাত tensors একটি নামে tuple প্রতিনিধিত্ব করে। যেহেতু আমরা কোঁকড়া ধনুর্বন্ধনী বাদ করেছি, এটি ইঙ্গিত all_equal বিট সেট করা হয়, অর্থাত, সেখানে (নির্বিশেষে কত সার্ভার প্রতিলিপি সেখানে একটি ক্লাস্টার এই মান হোস্টিং হতে পারে এর) শুধুমাত্র একটি একক tuple আছে।

বিল্ডিং ব্লক

ফেডারেটেড কোর ভাষার এক ধরনের ল্যামডা-ক্যালকুলাস কয়েক অতিরিক্ত উপাদানের সঙ্গে।

এটি বর্তমানে সর্বজনীন API তে উন্মুক্ত নিম্নলিখিত প্রোগ্রামিং বিমূর্ততা প্রদান করে:

  • TensorFlow কম্পিউটেশন ( tff.tf_computation )। এই ব্যবহার TFF মধ্যে পুনর্ব্যবহারযোগ্য উপাদান হিসাবে আবৃত TensorFlow কোডের বিভাগে হয় tff.tf_computation প্রসাধক। তাদের সর্বদা কার্যকরী প্রকার থাকে এবং টেনসরফ্লো-এর ফাংশনগুলির বিপরীতে, তারা কাঠামোগত প্যারামিটার নিতে পারে বা একটি সিকোয়েন্স টাইপের কাঠামোগত ফলাফল দিতে পারে।

    এখানে এক উদাহরণ, ধরনের একটি TF গণনার এর (int32* -> int) ব্যবহার করে tf.data.Dataset.reduce পূর্ণসংখ্যার একটি সমষ্টি গনা অপারেটর:

    @tff.tf_computation(tff.SequenceType(tf.int32))
    def add_up_integers(x):
      return x.reduce(np.int32(0), lambda x, y: x + y)
    
  • Intrinsics বা ফেডারেট অপারেটার ( tff.federated_... )। এই যেমন ফাংশন একটি লাইব্রেরি tff.federated_sum বা tff.federated_broadcast যে এফসি এপিআই, যার বেশিরভাগ TFF সাথে ব্যবহারের জন্য যোগাযোগ অপারেটার বিতরণ প্রতিনিধিত্ব বাল্ক গঠন করে।

    কারণ কিছুটা হচ্ছে আমরা intrinsics এই পড়ুন স্বকীয় ফাংশন তারা একটি সবিস্তার, অপারেটরদের প্রসার্য সেট যা TFF বোঝা হয়, এবং নিম্ন স্তরের কোডে নিচে সংকলিত।

    এই অপারেটরগুলির বেশিরভাগেরই পরামিতি এবং ফেডারেটেড ধরণের ফলাফল রয়েছে এবং বেশিরভাগই টেমপ্লেট যা বিভিন্ন ধরণের ডেটাতে প্রয়োগ করা যেতে পারে।

    উদাহরণস্বরূপ, tff.federated_broadcast একটি কার্মিক ধরনের একটি টেমপ্লেট অপারেটর হিসাবে ভাবা যেতে পারে T@SERVER -> T@CLIENTS

  • ল্যামডা এক্সপ্রেশন ( tff.federated_computation )। TFF একটি ল্যামডা অভিব্যক্তি একটি সমতুল্য lambda বা def পাইথন মধ্যে; এটি প্যারামিটারের নাম এবং একটি বডি (এক্সপ্রেশন) নিয়ে গঠিত যা এই প্যারামিটারের রেফারেন্স ধারণ করে।

    পাইথন কোড, এই সঙ্গে শোভাকর পাইথন ফাংশন দ্বারা তৈরি করা যেতে পারে tff.federated_computation এবং একটি আর্গুমেন্ট সংজ্ঞা।

    এখানে একটি ল্যাম্বডা অভিব্যক্তির একটি উদাহরণ যা আমরা ইতিমধ্যেই উল্লেখ করেছি:

    @tff.federated_computation(tff.type_at_clients(tf.float32))
    def get_average_temperature(sensor_readings):
      return tff.federated_mean(sensor_readings)
    
  • প্লেসমেন্ট লিটারেল। এখনকার জন্য, শুধুমাত্র tff.SERVER এবং tff.CLIENTS সহজ ক্লায়েন্ট-সার্ভার কম্পিউটেশন সংজ্ঞা জন্য অনুমতি দেয়।

  • ফাংশন আমন্ত্রণ ( __call__ )। যেকোনো কিছু একটি কার্মিক টাইপ আছে মান পাইথন ব্যবহার প্রার্থনা করা যেতে পারে __call__ সিনট্যাক্স। আমন্ত্রণ একটি অভিব্যক্তি, যার ধরনটি আহ্বান করা ফাংশনের ফলাফলের প্রকারের মতোই।

    উদাহরণ স্বরূপ:

    • add_up_integers(x) TensorFlow গণনার উপর একটি যুক্তি আগের সংজ্ঞায়িত একজন আবাহন প্রতিনিধিত্ব করে x । এই মত প্রকাশের প্রকার int32

    • tff.federated_mean(sensor_readings) উপর ফেডারেট গড় অপারেটর একজন আবাহন প্রতিনিধিত্ব করে sensor_readings । এই মত প্রকাশের প্রকার float32@SERVER (উপরোক্ত উদাহরণে প্রসঙ্গের অভিমানী)।

  • Tuples গঠন এবং তাদের উপাদান নির্বাচন। ফর্মের পাইথন এক্সপ্রেশন [x, y] , x[y] , অথবা xy যে দিয়ে সাজানো ফাংশন মৃতদেহ প্রদর্শিত tff.federated_computation