Giúp bảo vệ Great Barrier Reef với TensorFlow trên Kaggle Tham Challenge

TensorFlow Federated: Học máy trên dữ liệu phi tập trung

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) là một khuôn khổ mã nguồn mở cho máy học và các tính toán khác trên dữ liệu phi tập trung. TFF đã được phát triển để tạo điều kiện nghiên cứu mở và thử nghiệm với Federated Learning (FL) , một cách tiếp cận để học máy nơi một mô hình toàn cầu chia sẻ được đào tạo qua nhiều khách hàng tham gia mà giữ dữ liệu huấn luyện của họ tại địa phương. Ví dụ, FL đã được sử dụng để đào tạo mô hình dự đoán cho bàn phím điện thoại di động mà không cần tải lên dữ liệu gõ nhạy cảm với máy chủ.

    TFF cho phép các nhà phát triển mô phỏng các thuật toán học tập liên hợp được bao gồm trên các mô hình và dữ liệu của họ, cũng như thử nghiệm với các thuật toán mới. Các nhà nghiên cứu sẽ tìm thấy điểm bắt đầu và các ví dụ hoàn chỉnh cho nhiều loại nghiên cứu. Các khối xây dựng được cung cấp bởi TFF cũng có thể được sử dụng để thực hiện tính toán phi-learning, chẳng hạn như phân tích liên . Các giao diện của TFF được tổ chức theo hai lớp chính:

  • Lớp này cung cấp một tập hợp các giao diện cấp cao cho phép các nhà phát triển áp dụng các triển khai bao gồm của đào tạo liên hợp và đánh giá cho các mô hình TensorFlow hiện có của họ.
  • Cốt lõi của hệ thống là một tập hợp các giao diện cấp thấp hơn để diễn đạt chính xác các thuật toán liên hợp mới bằng cách kết hợp TensorFlow với các toán tử truyền thông phân tán trong một môi trường lập trình chức năng được đánh máy mạnh mẽ. Lớp này cũng đóng vai trò là nền tảng mà chúng tôi đã xây dựng Học liên kết.
  • TFF cho phép các nhà phát triển thể hiện rõ ràng các phép tính liên hợp, vì vậy chúng có thể được triển khai cho các môi trường thời gian chạy đa dạng. Đi kèm với TFF là thời gian chạy mô phỏng đa máy biểu diễn cho các thí nghiệm. Vui lòng truy cập các hướng dẫn và thử nó ra cho mình!

    Đối với câu hỏi và hỗ trợ, tìm thấy chúng tôi tại thẻ tensorflow-liên trên StackOverflow.