Google I/O — это обертка! Наверстать упущенное в сеансах TensorFlow Просмотреть сеансы

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

# 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 Federated (TFF) - это платформа с открытым исходным кодом для машинного обучения и других вычислений с децентрализованными данными. ПТФ была разработана для облегчения открытых исследований и экспериментов с Федеративным обучения (Флорида) , подход к машинному обучению , где общая глобальная модель обучен во многих участвующих клиентов , которые держат свои обучающие данные на местном уровне. Например, FL используется для железно моделей прогнозирования для мобильных клавиатур без загрузки конфиденциальных данных типирование к серверам.

    TFF позволяет разработчикам моделировать включенные алгоритмы федеративного обучения на своих моделях и данных, а также экспериментировать с новыми алгоритмами. Исследователи найти отправные точки и полные примеры для многих видов исследований. Строительные блоки , предоставляемые TFF также могут быть использованы для реализации без обучения вычислений, таких как федеративная аналитика . Интерфейсы TFF разделены на два основных уровня:

  • Этот уровень предлагает набор высокоуровневых интерфейсов, которые позволяют разработчикам применять включенные реализации федеративного обучения и оценки к своим существующим моделям TensorFlow.
  • В основе системы лежит набор интерфейсов нижнего уровня для лаконичного выражения новых объединенных алгоритмов путем объединения TensorFlow с операторами распределенной связи в строго типизированной среде функционального программирования. Этот уровень также служит фундаментом, на котором мы построили федеративное обучение.
  • TFF позволяет разработчикам декларативно выражать федеративные вычисления, чтобы их можно было развернуть в различных средах выполнения. В комплект TFF входит высокопроизводительная среда моделирования для экспериментов на нескольких машинах. Пожалуйста , посетите учебники и попробовать его!

    Для вопросов и поддержки, найти нас в tensorflow-федеративный тег на StackOverflow.