इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

TensorFlow Federated: मशीन सीखना विकेंद्रीकृत डेटा पर

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)
  • TensorFlow Federated (TFF) मशीन सीखने और विकेंद्रीकृत डेटा पर अन्य संगणना के लिए एक खुला स्रोत ढांचा है। TFF को फेडरेटेड लर्निंग (FL) के साथ खुले अनुसंधान और प्रयोग की सुविधा के लिए विकसित किया गया है, मशीन लर्निंग के लिए एक दृष्टिकोण जहां एक साझा वैश्विक मॉडल कई प्रतिभागी ग्राहकों को प्रशिक्षित किया जाता है जो स्थानीय स्तर पर अपने प्रशिक्षण डेटा को रखते हैं। उदाहरण के लिए, FL का उपयोग सर्वरों के प्रति संवेदनशील टाइपिंग डेटा अपलोड किए बिना मोबाइल कीबोर्ड के लिए भविष्यवाणी मॉडल को प्रशिक्षित करने के लिए किया गया है।

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

  • यह परत उच्च-स्तरीय इंटरफेस का एक सेट प्रदान करती है जो डेवलपर्स को अपने मौजूदा TensorFlow मॉडल के लिए संघ के प्रशिक्षण और मूल्यांकन के सम्मिलित कार्यान्वयन को लागू करने की अनुमति देती है।
  • सिस्टम के मुख्य भाग में एक दृढ़ता से टाइप किए गए कार्यात्मक प्रोग्रामिंग वातावरण में वितरित संचार ऑपरेटरों के साथ TensorFlow के संयोजन से उपन्यास फेडरेटेड एल्गोरिदम को स्पष्ट रूप से व्यक्त करने के लिए निचले स्तर के इंटरफेस का एक सेट है। यह परत उस नींव के रूप में भी काम करती है जिस पर हमने Federated Learning बनाया है।
  • TFF डेवलपर्स को घोषित रूप से संघनित अभिकलन व्यक्त करने में सक्षम बनाता है, इसलिए उन्हें विविध रनटाइम वातावरण में तैनात किया जा सकता है। TFF के साथ प्रयोग के लिए एक एकल-मशीन सिमुलेशन रनटाइम है। कृपया ट्यूटोरियल पर जाएँ और इसे स्वयं आज़माएँ!

    प्रश्नों और समर्थन के लिए, हमें StackOverflow पर टेंसरफ़्लो फ़ेडरेटेड टैग पर खोजें।