This page was translated by the Cloud Translation API.
Switch to English

tff.simulation.TransformingClientData

GitHub থেকে উৎস দেখুন

বদলে দেয় ক্লায়েন্ট তথ্য, সম্ভাব্য সিউডো-ক্লায়েন্ট যোগ করে বিস্তৃত।

উত্তরাধিকারী থেকে: ClientData

raw_client_data প্রত্যেকটি ক্লায়েন্ট সিউডো-ক্লায়েন্টদের কিছু নম্বরে "প্রসারিত" করা হয়। প্রতিটি ক্লায়েন্ট ID মূল ক্লায়েন্ট ID প্লাস একটি ঘনিভূত পূর্ণসংখ্যা সূচক গঠিত একটি পংক্তি। উদাহরণ হিসেবে বলা যায়, কাঁচা ক্লায়েন্ট ID "client_a" সিউডো-ক্লায়েন্ট আইডি "client_a_0", "client_a_1" এবং "client_a_2" মধ্যে প্রসারিত হতে পারে। একটি ফাংশন FN (x) এর মানচিত্র datapoint একটি নতুন datapoint, যেখানে FN প্রস্ততকর্তার (কাঁচা) client_id এবং সূচক আমি স্থিতিমাপ হয় x। উদাহরণস্বরূপ, যদি X একটি ইমেজ, তারপর make_transform_fn ( "client_a", 0) (x) এর, পরিচয় হতে পারে make_transform_fn ( "client_a", 1) (x) এর ইমেজ একটি র্যান্ডম ঘূর্ণন কোণ সঙ্গে দ্বারা নির্ধারিত হতে পারে যখন "client_a" এবং "1" একটি হ্যাশ। সাধারণত কনভেনশন দ্বারা পরিচয় ফাংশন সূচক 0 অনুরূপ যদি পরিচয় সমর্থিত।

raw_client_data একজন ClientData প্রসারিত করতে।
make_transform_fn একটি ফাংশন যে আয় একটি callable সেটি মানচিত্রে datapoint একটি নতুন datapoint এক্স 'থেকে x। make_transform_fn make_transform_fn (raw_client_id, ঝ) যেখানে আমি একটি পূর্ণসংখ্যা সূচক হিসাবে বলা হবে, এবং একটি ফাংশন FN (x) এর ফিরে যাওয়া উচিত -> এক্স। উদাহরণস্বরূপ, যদি X একটি ইমেজ, তারপর make_transform_fn ( "client_a", 0) (x) এর, পরিচয় হতে পারে make_transform_fn ( "client_a", 1) (x) এর ইমেজ একটি র্যান্ডম ঘূর্ণন কোণ সঙ্গে দ্বারা নির্ধারিত হতে পারে যখন "client_a" এবং "1" একটি হ্যাশ। তাহলে transform_fn_cons আয় None , কোন রূপান্তর সঞ্চালিত হয়। সাধারণত কনভেনশন দ্বারা পরিচয় ফাংশন সূচক 0 অনুরূপ যদি পরিচয় সমর্থিত।
num_transformed_clients রুপান্তরিত ক্লায়েন্ট মোট সংখ্যা উত্পাদন করতে। যদি বাস্তব ক্লায়েন্ট সংখ্যা একটি পূর্ণসংখ্যা একাধিক ট, সেখানে ঠিক বাস্তব ক্লায়েন্ট প্রতি ট সিউডো-ক্লায়েন্ট, সূচকের 0 ... K-1 হতে হবে। কোন বাকি ছ প্রথম ছ বাস্তব ক্লায়েন্টদের কাছ থেকে তৈরি করা হবে এবং সূচক ট দেওয়া হবে।

client_ids এই ডেটাসেটে ক্লায়েন্টদের জন্য স্ট্রিং শনাক্তকারী তালিকা।
dataset_computation একজন tff.Computation একটি ক্লায়েন্ট আইডি গ্রহণ, একটি ডেটাসেটের ফিরিয়ে আনে।

ClientData বাস্তবায়নের যে সমর্থন করি না dataset_computation বাড়াতে হবে NotImplementedError যদি এই বৈশিষ্ট্য অ্যাক্সেস করা হয়।

element_type_structure ক্লায়েন্ট ডেটাসেট উপাদান টাইপ করুন।

এই ডেটাসেট দ্বারা ফিরে উপাদানের ClientData অবজেক্ট।

পদ্ধতি

create_tf_dataset_for_client

উৎস দেখুন

একটি নতুন তৈরি করা হয় tf.data.Dataset ক্লায়েন্ট প্রশিক্ষণ উদাহরণ রয়েছে।

args
client_id স্ট্রিং আকাঙ্ক্ষিত ক্লায়েন্টের জন্য client_id।

রিটার্নস
একজন tf.data.Dataset অবজেক্ট।

create_tf_dataset_from_all_clients

উৎস দেখুন

একটি নতুন তৈরি করা হয় tf.data.Dataset সমস্ত ক্লায়েন্ট উদাহরণ রয়েছে।

এই ফাংশন ব্যবহার প্রশিক্ষণ কেন্দ্রীভূত, অ-বিতরণ মডেল (num_clients = 1) এর জন্য উদ্দীষ্ট। এই ফেডারেট মডেল বিরুদ্ধে তুলনা একটি বিন্দু যেমন উপযোগী হতে পারে।

বর্তমানে, বাস্তবায়ন একটি ডেটাসেটের যাতে একটি একক ক্লায়েন্ট থেকে সব উদাহরণ রয়েছে উত্পাদন করে, এবং তাই সাধারণত অতিরিক্ত প্রকাশের shuffling সঞ্চালিত হবে।

args
seed ঐচ্ছিক, একটি বীজ যে ক্রমে ক্লায়েন্টদের যোগদান ডেটাসেটে প্রসেস করা হয় নির্ধারণ। বীজ কোন 32 বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা বা এই ধরনের পূর্ণসংখ্যার একটি অ্যারের হতে পারে।

রিটার্নস
একজন tf.data.Dataset অবজেক্ট।

datasets

উৎস দেখুন

উৎপাদ tf.data.Dataset র্যান্ডম ক্রম প্রতিটি ক্লায়েন্টের জন্য।

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

args
limit_count ঐচ্ছিক, ডেটাসেট সর্বোচ্চ যে সংখ্যাটি দেখাবে।
seed ঐচ্ছিক, একটি বীজ যে ক্রমে ক্লায়েন্টদের যোগদান ডেটাসেটে প্রসেস করা হয় নির্ধারণ। বীজ কোন 32 বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা বা এই ধরনের পূর্ণসংখ্যার একটি অ্যারের হতে পারে।

from_clients_and_fn

উৎস দেখুন

একটি নির্মান ClientData দেওয়া ফাংশন উপর ভিত্তি করে।

args
client_ids client_ids যা create_tf_dataset_for_client_fn বৈধ ইনপুট হয় খালি নয় এমন একটি তালিকা।
create_tf_dataset_for_client_fn একটি ফাংশন যে উপরে তালিকা থেকে একটি client_id লাগে, এবং একটি ফেরৎ tf.data.Dataset

রিটার্নস
একজন ClientData

preprocess

উৎস দেখুন

প্রযোজ্য preprocess_fn প্রতিটি ক্লায়েন্টের ডাটা করতে।

train_test_client_split

উৎস দেখুন

এর (ট্রেন, টেস্ট) একজোড়া ফেরত পাঠায় ClientData

এই পদ্ধতি পার্টিশনের ক্লায়েন্ট client_data দুটি ClientData এর গ্রন্থিচ্যুত সেট অবজেক্টের ClientData.client_ids । পরীক্ষা সব ক্লায়েন্টদের ClientData খালি নয় এমন ডেটাসেট আছে নিশ্চিত করা হয়, কিন্তু প্রশিক্ষণ ClientData কোনো ডেটা ছাড়াই ক্লায়েন্ট থাকতে পারে।

args
client_data বেস ClientData বিভক্ত করা হয়।
num_test_clients কত ক্লায়েন্ট পরীক্ষার জন্য বাইরে রাখা। এটা হল সবচেয়ে LEN (client_data.client_ids) এ হতে পারে - 1, যেহেতু আমরা খালি উত্পাদন করতে চান না ClientData

রিটার্নস
এক জোড়া (train_client_data, test_client_data), যেখানে test_client_data করেছে num_test_clients র্যান্ডম, বাধ্যতা সাপেক্ষে নির্বাচিত তারা একে তাদের ডেটাসেটে অন্তত 1 ব্যাচ আছে।

উত্থাপন
ValueError তাহলে num_test_clients দ্বারা satistifed করা যাবে না client_data , বা খুব অনেক ক্লায়েন্ট খালি ডেটাসেট আছে।