Google I/O एक लपेट है! TensorFlow सत्रों पर पकड़ बनाएं सत्र देखें

TensorFlow फ़ेडरेटेड: विकेंद्रीकृत डेटा पर मशीन लर्निंग

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)]

# 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,
      input_spec=train_data[0].element_spec,
      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['train']['loss'])
  • TensorFlow फ़ेडरेटेड (TFF) मशीन लर्निंग और विकेंद्रीकृत डेटा पर अन्य गणनाओं के लिए एक ओपन-सोर्स फ्रेमवर्क है। TFF के साथ खुला अनुसंधान और प्रयोग की सुविधा के लिए विकसित किया गया है संघीय लर्निंग (FL) , मशीन सीखने के लिए एक दृष्टिकोण जहां एक साझा वैश्विक मॉडल कई भाग लेने वाले ग्राहकों को उनके प्रशिक्षण डेटा स्थानीय रूप से रखने भर में प्रशिक्षित किया जाता है। उदाहरण के लिए, फ्लोरिडा प्रशिक्षित करने के लिए इस्तेमाल किया गया है मोबाइल कीबोर्ड के लिए भविष्यवाणी मॉडल सर्वर के प्रति संवेदनशील टाइपिंग डेटा अपलोड बिना।

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

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

    प्रश्न और समर्थन के लिए, पर हमें लगता है tensorflow-फ़ेडरेटेड टैग StackOverflow पर।