이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

tff.simulation.TransformingClientData

GitHub의에서 소스보기

변환 클라이언트 데이터는 잠재적으로 가상 클라이언트를 추가하여 확대.

상속에서 : ClientData

raw_client_data의 각 클라이언트는 가상 클라이언트의 일부 숫자로 "확장"입니다. 각 클라이언트 ID는 클라이언트 ID 원래 플러스 연접 정수 인덱스로 구성되는 문자열이다. 예를 들어, 원시 클라이언트 ID "client_a는"의사 클라이언트 ID "client_a_0", "client_a_1"와 "client_a_2"로 확장 될 수 있습니다. 함수 FN (X)는 데이터 포인트가 FN의 생성자는 미가공 CLIENT_ID 인덱스 I에 의해 매개 변수화 된 새로운 데이터 포인트에 X 매핑한다. 예를 들어, X는 영상 후 make_transform_fn ( "client_a"0) (x)를 make_transform_fn ( "client_a", 1) ~ (X)의 각도에 의해 결정으로 화상의 임의의 회전 될 수 있지만, 식별 될 수는이면 "client_a"과 "1"의 해시. 일반적 관례 식별 함수의 인덱스 0에 대응한다 신원이 지원되는 경우.

raw_client_data ClientData을 확장합니다.
make_transform_fn 반환이 호출이지도 데이터 포인트가 새로운 데이터 포인트 X '로 X 것을하는 함수입니다. make_transform_fn는 I는 정수 인덱스 (raw_client_id, ⅰ) make_transform_fn로 호출되며, 함수 FN (x)를 리턴한다 -> X를. 예를 들어, X는 영상 후 make_transform_fn ( "client_a"0) (x)를 make_transform_fn ( "client_a", 1) ~ (X)의 각도에 의해 결정으로 화상의 임의의 회전 될 수 있지만, 식별 될 수는이면 "client_a"과 "1"의 해시. transform_fn_cons를 반환하는 경우 None , 어떤 변환이 수행되지 않습니다. 일반적 관례 식별 함수의 인덱스 0에 대응한다 신원이 지원되는 경우.
num_transformed_clients 변환 된 클라이언트의 총 수가 생성한다. 진짜 클라이언트의 수의 정수배의 K의 경우, 인덱스 0 ... K-1, 실제 클라이언트 당 정확히 K 의사 클라이언트가있을 것입니다. 모든 나머지 g 첫 번째 g 실제 클라이언트에서 생성됩니다 및 인덱스 k가 주어집니다.

client_ids 이 데이터 집합의 고객을위한 문자열 식별자의 목록입니다.
dataset_computation tff.Computation 데이터 집합을 반환 클라이언트 ID를 수용.

ClientData 지원하지 않는 구현 dataset_computation 제기해야 NotImplementedError 이 속성에 액세스합니다.

element_type_structure 클라이언트 데이터 셋의 요소 유형 정보를 제공합니다.

이에 데이터 세트에 의해 반환 된 요소 ClientData 객체입니다.

행동 양식

create_tf_dataset_for_client

소스보기

새로운 작성 tf.data.Dataset 클라이언트 훈련 예제를 포함합니다.

인수
client_id 문자열은 원하는 클라이언트에 대한 CLIENT_ID.

보고
tf.data.Dataset 객체입니다.

create_tf_dataset_from_all_clients

소스보기

새로운 작성 tf.data.Dataset 모든 클라이언트 예제를 포함합니다.

이 기능은 비 분산 모델 (NUM_CLIENTS = 1) 중앙 집중식 사용 훈련을위한 것입니다. 이 연합 모델에 대한 비교의 포인트로 유용 할 수 있습니다.

현재 구현을 위해 단일 클라이언트의 모든 예제를 포함하는 데이터 집합을 생성하고, 그래서 일반적으로 추가 셔플 링이 수행되어야한다.

인수
seed 선택적 시드 클라이언트가 결합 된 세트에서 처리되는 순서를 결정한다. 종자는 32 비트의 부호없는 정수 또는 정수의 배열 일 수있다.

보고
tf.data.Dataset 객체입니다.

datasets

소스보기

수율 tf.data.Dataset 임의의 순서로 각 클라이언트를.

이 기능은 최상위 연합 연산에 제공 될 클라이언트 데이터의 고정 배열을 구축 사용하도록한다.

인수
limit_count 옵션, 데이터 세트의 최대 수는 돌아갑니다.
seed 선택적 시드 클라이언트가 결합 된 세트에서 처리되는 순서를 결정한다. 종자는 32 비트의 부호없는 정수 또는 정수의 배열 일 수있다.

from_clients_and_fn

소스보기

구축 ClientData 주어진 함수를 기반으로합니다.

인수
client_ids create_tf_dataset_for_client_fn에 유효한 입력입니다 client_ids의 비어 있지 않은 목록입니다.
create_tf_dataset_for_client_fn 위의 목록에서 CLIENT_ID을 소요하고 반환하는 함수 tf.data.Dataset .

보고
ClientData .

preprocess

소스보기

적용 대상 preprocess_fn 각 클라이언트의 데이터.

train_test_client_split

소스보기

(기차, 테스트)의 한 쌍의 반환 ClientData .

이 방법 파티션 클라이언트 client_data 두개로 ClientData 이산 세트 개체 ClientData.client_ids . 시험의 모든 클라이언트 ClientData 비어 있지 않은 데이터 세트가 보장되지만, 교육 ClientData 데이터가없는 클라이언트가있을 수 있습니다.

인수
client_data 기본 ClientData 분할합니다.
num_test_clients 얼마나 많은 클라이언트를 테스트하기 위해 밖으로 개최합니다. 우리가 빈 생산하지 않기 때문에, 한 - 이것은 대부분의 렌 (client_data.client_ids)에서 할 수있다 ClientData .

보고
test_client_data가 한 쌍 (train_client_data, test_client_data), num_test_clients 제약 조건에 무작위 대상에 선정 그들은 각각 자신의 데이터 세트에서 적어도 1 배치를 가지고있다.

제기
ValueError 경우 num_test_clients 에 의해 satistifed 할 수없는 client_data , 또는 너무 많은 클라이언트 빈 데이터 집합을 가지고있다.