패키지 구조

개요

용어

Python 모듈

Python 모듈은 Python 정의 및 문이 포함된 파일입니다. 자세한 정보는 모듈을 참조하세요.

Python 패키지

Python 패키지는 Python 모듈을 구성하는 방법입니다. 자세한 내용은 패키지를 참조하십시오.

공개 TFF API

TFF API 설명서에 노출된 TFF API입니다. 이 설명서는 explicit_package_contents_filter에 정의된 로직을 사용하여 TensorFlow 문서와 함께 생성됩니다.

비공개 TFF API

TFF API 설명서에 노출되지 않은 TFF API입니다.

TFF Python 패키지

PyPI에 배포된 Python 패키지입니다.

Python 패키지에는 공개 TFF API비공개 TFF API가 모두 포함되어 있으며, 어떤 API가 공개이고 어떤 API가 비공개인지는 패키지를 검사해도 불분명합니다. 예를 들면, 다음과 같습니다.

import tensorflow_federated as tff

tff.Computation  # Public TFF API
tff.proto.v0.computation_pb2.Computation  # Private TFF API

따라서, TFF를 사용할 때는 TFF API 설명서를 염두에 두는 것이 유용합니다.

다이어그램

<!--#include file="package_structure.dot"-->

녹색 노드는 공개 TFF API를 사용하는 GitHub에서 TFF 리포지토리의 일부인 디렉토리를 나타냅니다.

파란색 노드는 공개 TFF API의 일부인 패키지를 나타냅니다.

회색 노드는 공개 TFF API의 일부가 아닌 디렉토리 또는 패키지를 나타냅니다.

세부 사항

TFF 사용하기

연구

research/ 하위 디렉토리가 TFF를 사용하는 연구 프로젝트가 포함 된 federated_research 리포지토리로 이동되었습니다.

예제

examples 디렉토리에는 TFF 사용 방법의 예가 포함되어 있습니다.

테스트

tests 디렉토리에는 TFF Python 패키지의 엔드 투 엔드 테스트가 포함되어 있습니다.

TFF

tff, TensorFlow Federated 라이브러리입니다.

TFF 시뮬레이션

simulation, Federated Learning시뮬레이션을 실행하기 위한 라이브러리입니다.

simulation/datasets, Federated Learning 시뮬레이션을 실행하기 위한 데이터세트입니다.

simulation/models, Federated Learning 시뮬레이션을 실행하기 위한 모델입니다.

TFF 학습

learning, Federated Learning 알고리즘을 사용하기 위한 라이브러리입니다.

learning/framework, Federated Learning 알고리즘을 개발하기 위한 라이브러리입니다.

TFF 애그리게이터

aggregators, 페더레이션 집계를 구성하기 위한 라이브러리입니다.

TFF 코어

core 패키지, TensorFlow Federated 코어 라이브러리입니다.

core/backends, 계산을 구성, 컴파일 및 실행하기 위한 백엔드입니다.

core/native, 네이티브 백엔드와 상호 작용하기 위한 라이브러리입니다.

core/mapreduce, MapReduce와 유사한 백엔드와 상호 작용하기 위한 라이브러리입니다.

core/iree, IREE 백엔드와 상호 작용하기 위한 라이브러리입니다.

core/templates, 일반적으로 사용되는 계산을 위한 템플릿입니다.

core/utils, Federated 알고리즘을 사용하고 개발하기 위한 라이브러리입니다.

core/test, TensorFlow Federated를 테스트하기 위한 라이브러리입니다.

core/api, TensorFlow Federated 코어 라이브러리를 사용하기 위한 라이브러리입니다.

core/framework, TensorFlow Federated 코어 라이브러리를 확장하기 위한 라이브러리입니다.

TFF 구현

impl, TensorFlow Federated 코어 라이브러리의 구현입니다.

TODO(b/148163833): 일부 모듈은 아직 impl 패키지에서 적절한 하위 패키지로 이동되지 않았습니다.

impl/wrappers, 계산을 구성하기 위한 데코레이터입니다.

impl/executors, 계산을 실행하기 위한 라이브러리입니다.

impl/federated_context, * 페더레이션 컨텍스트를 위한 라이브러리입니다.

impl/tensorflow_context, * TensorFlow 컨텍스트를 위한 라이브러리입니다.

impl/computation, * 계산을 위한 라이브러리입니다.

impl/compiler, 계산을 컴파일하기 위한 라이브러리입니다.

impl/context_stack, * 계산의 컨텍스트를 위한 라이브러리입니다.

impl/utils, TensorFlow Federated 코어 라이브러리에서 사용하기 위한 라이브러리입니다.

impl/types, 계산의 * 유형을 위한 라이브러리입니다.

TFF 프로토콜

proto, TensorFlow Federated 코어 라이브러리에서 사용할 수 있는 Protobuf 라이브러리입니다.

TFF 공통 라이브러리

common_libs, TensorFlow Federated에서 사용하기 위해 Python을 확장하는 라이브러리입니다.

TFF Tensorflow 라이브러리

tensorflow_libs, TensorFlow Federated에서 사용하기 위해 TensorFlow를 확장하는 라이브러리입니다.