AI/연합학습

Tensorflow Federated 설치

Jonghee Jeon 2021. 9. 12. 14:59

Tensorflow에서 연합학습 관련 기능을 제공하고 있는 Tensorflow Federated를 설치하며, https://www.tensorflow.org/federated/install?hl=ko 를 참고하여 진행하였습니다.

 

설치환경

  • Ubuntu 18.04
  • Python3
  • Tensorflow 2.5

설치순서

  1. Python 환경 설치
  2. Python 가상환경 설정
  3. Tensorflow Federated 설치

1. Python 환경 설치

$ sudo apt update
$ sudo apt install python3-dev python3-pip  # Python 3
$ sudo pip3 install --user --upgrade virtualenv

 

 

2. Python 가상환경 설정

$ virtualenv --python python3 "venv"

여기서 Tensorflow Federated에서 제공하고 있는 가이드를 그대로 설치하면 virtualenv가 위에 제대로 안되어 설치하라고 나온다. 가볍게 설치하면 된다.


$ source "venv/bin/activate"
$ pip install --upgrade pip

 

3. Tensorflow Federated 설치

위에 Python 설치와 가상환경 설정이 잘 되었다면 아래의 명령어로 Tensorflow Federated를 설치하면 완료된다. 

 

$ pip install --upgrade tensorflow_federated

 

여기서, 아래의 명령어로 손쉽게 설치 될 것으로 보였으나, 아직 Tensorflow Federated가 완벽한 1.0 버전이 아니기 때문에 설치하게 되면 바로 호환성 문제가 발생하게 되며 아래와 같은 문구들이 보이게 된다. 

 

requires attrs~=19.3.0, but you have attrs 21.2.0 which is incompatible.
tensorflow-federated 0.19.0 requires grpcio~=1.34.0, but you have grpcio 1.37.1 which is incompatible.
tensorflow-federated 0.19.0 requires tensorflow~=2.5.0, but you have tensorflow 2.6.0 which is incompatible.
tensorflow-federated 0.19.0 requires tensorflow-privacy~=0.5.0, 

 

그래서 먼저 요구되는 호환성 버전의 패키지 설치를 진행하고 Tensorflow Federated를 설치해야 한다. 순서는 아래와 같다. 

 

$ pip install attrs==19.3.0
$ pip install grpcio==1.34.0
$ pip install tensorflow==2.5.0
$pip install tensorflow-privacy==0.5.0
$ pip install tensorflow_federated

 

Tensorflow Federated까지 설치가 잘 되면 아래의 명령어로 Tensorflow Federated를 테스트 해본다.

$ python -c "import tensorflow_federated as tff; print(tff.federated_computation(lambda: 'Hello World')())"

 

Hello World가 아주 잘 출력되는 것을 볼 수 있으며, 그외에 출력되는 ERROR 내용은 CUDA 관련 ERROR이며 설치 환경은 일반 CPU 환경이니 본 게시물에서는 크게 상관 안하여도 문제없다.