Trang này được dịch bởi Cloud Translation API.
Switch to English

tff.simulation.TransformingClientData

Xem nguồn trên GitHub

Biến đổi dữ liệu khách hàng, có khả năng mở rộng bằng cách thêm pseudo-khách hàng.

Inherits From: ClientData

Mỗi khách hàng của raw_client_data được "mở rộng" vào một số số giả khách hàng. Mỗi ID khách hàng là một chuỗi gồm ID khách hàng ban đầu cộng với một số nguyên chỉ số nối. Ví dụ, id khách hàng thô "client_a" có thể được mở rộng sang pseudo-client id "client_a_0", "client_a_1" và "client_a_2". Một fn function (x) bản đồ datapoint x đến một datapoint mới, nơi các nhà xây dựng của fn là tham số của (thô) client_id và chỉ số i. Ví dụ, nếu x là một hình ảnh, sau đó make_transform_fn ( "client_a", 0) (x) có thể là bản sắc, trong khi make_transform_fn ( "client_a", 1) (x) có thể là một vòng xoay ngẫu nhiên của hình ảnh với góc xác định bởi một hash của "client_a" và "1". Thông thường theo quy ước chỉ số 0 tương ứng với chức năng nhận diện nếu nhận diện được hỗ trợ.

raw_client_data Một ClientData để mở rộng.
make_transform_fn Một hàm trả về một thể gọi đồ datapoint x đến một datapoint mới x'. make_transform_fn sẽ được gọi là make_transform_fn (raw_client_id, i) trong đó i là một chỉ số nguyên, và cần trả về một hàm fn (x) -> x. Ví dụ, nếu x là một hình ảnh, sau đó make_transform_fn ( "client_a", 0) (x) có thể là bản sắc, trong khi make_transform_fn ( "client_a", 1) (x) có thể là một vòng xoay ngẫu nhiên của hình ảnh với góc xác định bởi một hash của "client_a" và "1". Nếu transform_fn_cons lợi nhuận None , không chuyển đổi được thực hiện. Thông thường theo quy ước chỉ số 0 tương ứng với chức năng nhận diện nếu nhận diện được hỗ trợ.
num_transformed_clients tổng số lượng khách hàng chuyển đổi để sản xuất. Nếu đó là một số nguyên k bội số của số lượng khách hàng thực tế, sẽ có chính xác k giả khách hàng mỗi khách hàng thực tế, với chỉ số 0 ... k-1. Bất kỳ còn lại g sẽ được tạo ra từ những người đầu tiên g khách hàng thực và sẽ được đưa ra chỉ số k.

client_ids Một danh sách các định danh chuỗi cho khách hàng trong tập dữ liệu này.
dataset_computation Một tff.Computation chấp nhận một ID khách hàng, trả lại một tập dữ liệu.

ClientData hiện thực mà không hỗ trợ dataset_computation nên nâng NotImplementedError nếu thuộc tính này được truy cập.

element_type_structure Các loại thông tin yếu tố của bộ dữ liệu khách hàng.

yếu tố được trả về bởi bộ dữ liệu trong này ClientData đối tượng.

phương pháp

create_tf_dataset_for_client

Xem nguồn

Tạo mới tf.data.Dataset chứa các ví dụ huấn luyện khách hàng.

args
client_id Chuỗi client_id cho khách hàng mong muốn.

Returns
Một tf.data.Dataset đối tượng.

create_tf_dataset_from_all_clients

Xem nguồn

Tạo mới tf.data.Dataset chứa tất cả các ví dụ khách hàng.

Chức năng này được thiết kế để đào tạo sử dụng tập trung, các mô hình phi phân phối (NUM_CLIENTS = 1). Điều này có thể hữu ích như một điểm so sánh với mô hình liên.

Hiện nay, việc thực hiện sản xuất một tập dữ liệu có chứa tất cả các ví dụ từ một khách hàng theo thứ tự, và do đó thường thêm xáo trộn nên được thực hiện.

args
seed Không bắt buộc, một hạt giống để xác định thứ tự mà khách hàng được xử lý trong tập dữ liệu tham gia. Hạt giống có thể được bất kỳ số nguyên unsigned 32-bit hoặc một mảng các số nguyên như vậy.

Returns
Một tf.data.Dataset đối tượng.

datasets

Xem nguồn

Sản lượng các tf.data.Dataset cho từng khách hàng theo thứ tự ngẫu nhiên.

Chức năng này được thiết kế để sử dụng xây dựng một mảng tĩnh của dữ liệu khách hàng để được cung cấp cho các tính toán liên top-level.

args
limit_count Không bắt buộc, một số lượng tối đa của tập dữ liệu trở lại.
seed Không bắt buộc, một hạt giống để xác định thứ tự mà khách hàng được xử lý trong tập dữ liệu tham gia. Hạt giống có thể được bất kỳ số nguyên unsigned 32-bit hoặc một mảng các số nguyên như vậy.

from_clients_and_fn

Xem nguồn

Xây dựng một ClientData dựa trên chức năng nhất định.

args
client_ids Một danh sách không rỗng của client_ids đó là đầu vào hợp lệ đến create_tf_dataset_for_client_fn.
create_tf_dataset_for_client_fn Một chức năng mà phải mất một client_id từ danh sách trên, và trả về một tf.data.Dataset .

Returns
Một ClientData .

preprocess

Xem nguồn

Gây hiệu ứng preprocess_fn số liệu của từng khách hàng.

train_test_client_split

Xem nguồn

Trả về một cặp (đào tạo, kiểm tra) ClientData .

Phương pháp này phân vùng các khách hàng của client_data thành hai ClientData các đối tượng với các tập hợp không giao nhau của ClientData.client_ids . Tất cả các khách hàng trong các thử nghiệm ClientData được đảm bảo để có bộ dữ liệu không trống, nhưng việc đào tạo ClientData có thể có khách hàng không có dữ liệu.

args
client_data Các cơ sở ClientData để chia.
num_test_clients Có bao nhiêu khách hàng để giữ ra để thử nghiệm. Điều này có thể tối đa là len (client_data.client_ids) - 1, vì chúng tôi không muốn để sản xuất sản phẩm nào ClientData .

Returns
Một cặp (train_client_data, test_client_data), nơi test_client_data đã num_test_clients chọn một cách ngẫu nhiên, tùy thuộc vào các hạn chế họ từng có ít nhất 1 đợt trong tập dữ liệu của họ.

tăng lương
ValueError Nếu num_test_clients không thể satistifed bởi client_data , hoặc quá nhiều khách hàng có bộ dữ liệu rỗng.