本文是参照许多大佬文章基础上才搭建成功,在这里感谢这些大佬提供经验。本文主要参考Tensorflow Federated Framework 谷歌联邦学习框架:自底向上简明入门,只是对其中(安装TFF库(conda))进行补充
今年,在各个大会上,联邦学习热度都很高。所以自己也想试着蹭波热度搭建一个环境了解一下,因为项目与android手机有关,所以选择谷歌的ttf(tensorflow/federated github网址)(当然,也有许多其他的,比如微众银行的fate框架)。
联邦学习最早在2016年由谷歌提出的,原本用于解决安卓手机终端用户在本地更新模型的问题。现在逐渐用于解决数据孤岛问题和隐私保护和安全问题。
联邦学习相关知识,我就不一一介绍了,主要把我搭建TTF环境成功的具体步骤,方法和参考网址提供给大家以供参考(折腾了好几天,希望对大家有帮助)。
废话不说了,直接上干货。
- 首先,介绍以下我的运行环境:ubuntu18.04 (安装教程网上一大堆,安装成功能成功连网)+ Anaconda3(安装时注意自己要用的python版本,根据python版本选择具体Anaconda版本号)+Python3.7(Anaconda自带python)+tensorflow1.13.1(1.根据python版本选择)+tensorflow_federated0.8.0
- 在ubuntu上安装anaconda3,首先根据python版本安装 Anaconda【具体参照anaconda python 版本对应关系amacpmda】,选择后进入【Anaconda安装包可以到 清华anaconda镜像下载。速度下载非常快,用过的人都说好】下载好对应的Anaconda安装包,安装Anaconda【在Linux Ubuntu下安装Anaconda及TensorFlow与Keras(超级详细哦)】
- 参照Tensorflow Federated Framework 谷歌联邦学习框架:自底向上简明入门
conda create -n tf-fed python=3.7.1 tensorflow=1.13.1 --yes
conda activate tf-fed
- 检查ipython 和 jupyter notebook
-
import tensorflow 是否报 No moudel named 'tensorflowed'
-如果报错,参照 Anaconda和ipython环境适配和jupyter notebook中找不到某个anaconda环境
pip install tensorflow_federated==0.8.0
- 如果安装报错,到github网站tensorflow/federated找到下方对应图,下载对应tensorflow
```
TensorFlow Federated TensorFlow
0.10.1 tensorflow 2.0.0
0.10.0 tensorflow 2.0.0
0.9.0 tf-nightly 2.1.0.dev20191005
0.8.0 tf-nightly 1.15.0.dev20190805
0.7.0 tf-nightly 1.15.0.dev20190711
0.6.0 tf-nightly 1.15.0.dev20190626
0.5.0 tf-nightly 1.14.1.dev20190528
0.4.0 tensorflow 1.13.1
0.3.0 tensorflow 1.13.1
0.2.0 tensorflow 1.13.1
0.1.0 tensorflow 1.13.0rc2
```
- 如果Tensorflow Federated版本为0.8.0,找到对应的tf-nightly
1.15.0.dev20190805下载后得到tf_nightly-1.15.0.dev20190805-cp37-cp37m-manylinux2010_x86_64.whl
- 找到下载位置,在此tf-fed环境下进行安装
pip install tf_nightly-1.15.0.dev20190805-cp37-cp37m-manylinux2010_x86_64.whl
- 再次重新安装 tensorflow_federated==0.8.0
pip install tensorflow_federated==0.8.0
- 等待安装结束后,验证一下是否安装成功:
python -c "import tensorflow_federated as tff; print(tff.federated_computation(lambda: 'Hello World')())"
如果成功输出了’Hello World’(以及一堆Warning),就说明TFF框架已经安装好了。
当然到现在TensorFlow Federated已经有很多版本了,大家可以安装其他版本进行尝试。