安装#

最简单的尝试SecretFlow的方式是使用带有SecretFlow的 官方 docker image

或者你也可以 通过Python Package Index安装SecretFlow

对于高级用户,你可以 从源码安装SecretFlow

安装之后,请不要忘记 快速尝试SecretFlow 确保安装成功。

环境#

Python:3.8

pip: >= 19.3

OS: CentOS 7, Ubuntu 18.04

CPU/Memory: 推荐最低配置是 8C16G.

方式 1: 从pypi#

请安装 当前release <https://pypi.org/project/secretflow/>__ 。

请注意python版本需要是3.8,你可以用conda构建一个虚拟环境。

conda create -n sf python=3.8
conda activate sf

之后,请使用pip安装SecretFlow。

pip install -U secretflow

方式2: 通过docker#

你也可以通过SecretFlow的docker image来尝试SecretFlow。

最新的版本请查看 secretflow tags <https://hub.docker.com/r/secretflow/secretflow-anolis8/tags>__ 。

export version={SecretFlow version}

示例

export version=0.6.13b1

然后运行image

docker run -it secretflow/secretflow-anolis8:${version}

方式3: 通过源码#

  1. 下载源码并建立Python虚拟环境

git clone https://github.com/secretflow/secretflow.git
cd secretflow

conda create -n secretflow python=3.8
conda activate secretflow
  1. 安装SecretFlow

python setup.py bdist_wheel

pip install dist/*.whl

方式4: 通过WSL#

隐语不直接支持Windows, 请使用WSL(Windows Subsystem for Linux)

  1. 在Windows上安装WSL2

  • 请遵循 中文指南 <https://learn.microsoft.com/zh-cn/windows/wsl/install>_ 或 英文指南 <https://learn.microsoft.com/en-us/windows/wsl/install>_ 安装WSL。请确保WSL版本为2。

  • GNU/Linux推荐使用Ubuntu。

  1. 在WSL中安装Anaconda

请在WSL的GNU/Linux中安装anaconda。

  1. 安装SecretFlow

  • 创建conda环境

conda create -n sf python=3.8
  • 激活conda环境

conda activate sf
  • 之后,请使用pip安装SecretFlow。

pip install -U secretflow

GPU支持#

NVIDIA 的 CUDA 和 cuDNN 通常用于加速 Tensoflow 和 PyTorch 深度学习模型的训练和测试。Tensoflow和PyTorch都是SecretFlow的深度学习后端。

JAX 是SecretFlow团队强烈推荐的前端。JAX 可以在 GPU 和 TPU 等加速器上编译和运行您的 NumPy 代码。SecretFlow 可以为 JAX 提供 GPU 支持。

如果你想在SecretFlow中使用GPU加速,你可以按照以下步骤操作:

  1. 请确保你的NVIDIA驱动可用且符合 JAX recommend 的版本要求。

  • 版本要求:

对于 CUDA 12,驱动程序的版本必须 >= 525.60.13,对于 Linux 上的 CUDA 11,驱动程序的版本必须 >= 450.80.02。

  • 运行 NVIDIA 系统管理界面 (nvidia-smi) 以确保您的 NVIDIA 驱动程序可用并满足版本要求。

nvidia-smi
  1. 遵循 NVIDIA 官方指南<https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker>_在您的发行版上来设置NVIDIA Container Toolkit。

  2. 使用dockerfile文件构建一个镜像

  • 下载代码

git clone https://github.com/secretflow/secretflow.git
cd secretflow/docker
  • 构建镜像

docker build -f  sf-gpu.Dockerfile -t secretflow-gpu .
  1. 运行容器

docker container run -it --gpus all secretflow-gpu bash
  • --gpus all:此参数是必不可少的

  1. 容器运行后,您可以使用 jupyter 笔记本 GPU Check 检查容器内 Tensorflow 和 PyTorch 对于 NVIDIA GPU 的可调用性。

快速尝试#

你的第一个SecretFlow程序。

>>> import secretflow as sf
>>> sf.init(['alice', 'bob', 'carol'], address='local')
>>> dev = sf.PYU('alice')
>>> import numpy as np
>>> data = dev(np.random.rand)(3, 4)
>>> data
<secretflow.device.device.pyu.PYUObject object at 0x7fdec24a15b0>