一、Secretflow的安装和部署
01、Secretflow的安装:
Secretflow安装要求:

Secretflow目前支持两种安装包:secretflow和secretflow-lite,二者的特点如下:

secretflow安装包的体积较大,而secretflow-lite仅包含基础功能因此体积较小。
Secretflow安装方式有三种:docker镜像、pypi或源码,所有方式可以通过结合bilibili中隐语Secretflow相关课程中的详细介绍完成。这里详细介绍pypi的安装方式:
A.配置要求和指令:

B.首先可以使用conda create -n sf python=3.8创建一个虚拟环境,创建成功后使用conda sf activate进行激活。在sf环境中再输入pip install -U secretflow[-lite] 指令完成安装。到安装完成需要耐心等待一段时间。
下面进入Secretflow部署阶段:
Secretflow的部署分为仿真模式和生产模式,如下图:

02、仿真模式:
仿真模式支持单机也支持多机,其最大的特点只需要在一台机器上执行代码就可以跑完整个实验。RAY是一种隐私计算任务调度的框架,Secretflow的任务会使用RAY来进行调度。

仿真模式----单机仿真示例:启动一个本地节点

仿真模式----集群仿真示例:分别启动两个节点仿真两个参与方:


在节点配置完成之后,输入python代码执行,此处的代码和单机仿真模式的代码不同的地方在于此处的address应当是部署节点中主节点的{ip:端口},这段代码只需要在Alice或Bob其中一台主机上运行就可以了:

对集成网络通信端口的总结:

03、生产模式:
生产模式和仿真模式的差别:

生产模式示例:
首先,在两个机器上都部署Ray主节点,分别模拟参与方Alice、Bob


与仿真模式不同的除了每个参与方都要部署RAY主节点外,每个参与方还都需要运行代码,代码上也有差别,即多了一个cluster_config参数,其描述了Alice和Bob两方之间的通信地址和当前参与方,self_party表示当前参与方。注意此处cluster_config的地址:端口不能和RAY的端口冲突,应当选择一个未被使用的端口:

下面是生产模式通信网络的图示:

使用KUSCIA解决多端口问题:

使用SecretNote提升体验:

F&Q
大家在SecretFlow安装过程中可能会遇到各种各样的问题,当遇到问题如安装过慢、发送失败或连接失败、网络报错等情况可以参考视频https://www.bilibili.com/video/BV161421S7xY/?spm_id_from=333.999.list.card_archive.click&vd_source=8b05cc1d9b8c8d464c242ea3c1720976大约16分钟,老师给出了问题解决的方法,同样也可以去查询Secretflow的官方文档或提问等方式来解决问题。文档地址:https://www.secretflow.org.cn/zh-CN/docs/secretflow/v1.4.0b0/getting_started/installation
二、SecretNote的安装和使用
1、SecretNote的介绍:

2、SecretNode和Secretflow一起使用:
建议使用docker的方式启动Secretflow的运行环境

具体docker的配置和启动,可以前往视频https://www.bilibili.com/video/BV12r421t77V/?spm_id_from=333.788&vd_source=8b05cc1d9b8c8d464c242ea3c1720976查看。
SecretNode和Jupter Notebook的一个区别点在于Secretnote可以选择代码实在哪一个节点运行,可以同时选择Alice和Bob就可以让双方同时执行。
3、Secretnote和SCQL一起使用

同样的,这里也有一段样例演示以及后续对SecretNote的演示,这里都推荐读者观看上述视频和官方文档了解具体使用方法。