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

টেনসরফ্লো ফেডারেটেড: বিকেন্দ্রিত ডেটাতে মেশিন লার্নিং

import tensorflow as tf
import tensorflow_federated as tff

# Load simulation data.
source, _ = tff.simulation.datasets.emnist.load_data()
def client_data(n):
  return source.create_tf_dataset_for_client(source.client_ids[n]).map(
      lambda e: (tf.reshape(e['pixels'], [-1]), e['label'])
  ).repeat(10).batch(20)

# Pick a subset of client devices to participate in training.
train_data = [client_data(n) for n in range(3)]

# Grab a single batch of data so that TFF knows what data looks like.
sample_batch = tf.nest.map_structure(
    lambda x: x.numpy(), iter(train_data[0]).next())

# Wrap a Keras model for use with TFF.
def model_fn():
  model = tf.keras.models.Sequential([
      tf.keras.layers.Dense(10, tf.nn.softmax, input_shape=(784,),
                            kernel_initializer='zeros')
  ])
  return tff.learning.from_keras_model(
      model,
      dummy_batch=sample_batch,
      loss=tf.keras.losses.SparseCategoricalCrossentropy(),
      metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])

# Simulate a few rounds of training with the selected client devices.
trainer = tff.learning.build_federated_averaging_process(
  model_fn,
  client_optimizer_fn=lambda: tf.keras.optimizers.SGD(0.1))
state = trainer.initialize()
for _ in range(5):
  state, metrics = trainer.next(state, train_data)
  print (metrics.loss)
  • টেনসরফ্লো ফেডারেটেড (টিএফএফ) মেশিন লার্নিং এবং বিকেন্দ্রীভূত ডেটাতে অন্যান্য গণনার জন্য একটি ওপেন সোর্স ফ্রেমওয়ার্ক। ফেডারেট লার্নিং (এফএল) এর সাথে মুক্ত গবেষণা এবং পরীক্ষার সুবিধার্থে টিএফএফ তৈরি করা হয়েছে, মেশিন লার্নিংয়ের এমন একটি পদ্ধতির যেখানে একটি অংশীদারি বিশ্বব্যাপী মডেলটি অনেক অংশগ্রহণকারী ক্লায়েন্টকে প্রশিক্ষণ দেওয়া হয় যা স্থানীয়ভাবে তাদের প্রশিক্ষণের ডেটা রাখে। উদাহরণস্বরূপ, সার্ভারে সংবেদনশীল টাইপিং ডেটা আপলোড না করে মোবাইল কীবোর্ডগুলির জন্য পূর্বাভাস মডেলগুলি প্রশিক্ষণের জন্য এফএল ব্যবহার করা হয়েছে।

    টিএফএফ বিকাশকারীদের তাদের মডেল এবং ডেটাতে অন্তর্ভুক্ত ফেডারেট লার্নিং অ্যালগরিদমগুলি অনুকরণ করার পাশাপাশি উপন্যাসের অ্যালগরিদমগুলির সাথে পরীক্ষা করতে সক্ষম করে। টিএফএফ দ্বারা সরবরাহিত বিল্ডিং ব্লকগুলি বিকেন্দ্রীভূত ডেটার উপরে সমষ্টিগত বিশ্লেষণের মতো অ-লার্নিং কম্পিউটেশনগুলি প্রয়োগ করতেও ব্যবহৃত হতে পারে। টিএফএফ এর ইন্টারফেস দুটি স্তরে সংগঠিত হয়:

  • এই স্তরটি উচ্চ-স্তরের ইন্টারফেসের একটি সেট দেয় যা বিকাশকারীদের তাদের বিদ্যমান টেনসরফ্লো মডেলগুলিতে ফেডারেট প্রশিক্ষণ এবং মূল্যায়নের অন্তর্ভুক্ত বাস্তবায়ন প্রয়োগ করতে দেয়।
  • সিস্টেমের মূলটি হ'ল একটি দৃ strongly়ভাবে টাইপযুক্ত কার্যকরী প্রোগ্রামিং পরিবেশের মধ্যে বিতরণকারী যোগাযোগ অপারেটরগুলির সাথে টেনসরফ্লো সমন্বিত করে উপন্যাস ফেডারেটেড অ্যালগরিদমগুলি সংক্ষিপ্তভাবে প্রকাশের জন্য নিম্ন স্তরের ইন্টারফেসগুলির একটি সেট। এই স্তরটি সেই ভিত্তি হিসাবেও কাজ করে যা আমরা ফেডারেট লার্নিং তৈরি করেছি।
  • টিএফএফ বিকাশকারীদের ফেডারেশনযুক্ত গণনাগুলি ঘোষণামূলকভাবে প্রকাশ করতে সক্ষম করে, যাতে তারা বিভিন্ন রানটাইম পরিবেশে নিযুক্ত হতে পারে। টিএফএফ সহ অন্তর্ভুক্ত হল পরীক্ষার জন্য একটি একক-মেশিন সিমুলেশন রানটাইম। টিউটোরিয়ালগুলি দেখুন এবং নিজেই চেষ্টা করে দেখুন!

    প্রশ্ন এবং সহায়তার জন্য, স্ট্যাকওভারফ্লোতে টেনস্রোফ্লো-ফেডারেশন ট্যাগটিতে আমাদের সন্ধান করুন।