隐语实训营-第4讲:SecretFlow和SecretNote的安装

简介: 介绍secretflow及其可视化工具secretfNote的安装,课程链接:https://www.bilibili.com/video/BV161421S7xY/?spm_id_from=333.999.0.0 下:https://www.bilibili.com/video/BV12r421t77V/?spm_id_from=333.999.0.0

SecretFlow的安装

说明一下,本人使用的是WSL2安装的

  1. conda的安装
    #下载anaconda
    wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificate
    #安装anaconda
    bash Anaconda3-2022.10-Linux-x86_64.sh
    source ~/.bashrc
    
    在命令行输入'conda',查看环境是否安装好:
    1711271520988.png
  2. 创建conda虚拟环境
 conda create -n secretflow python=3.9

1711271611905.png
3.使用虚拟环境安装SecretFlow

#激活虚拟环境
conda activate secretflow
#安装secretflow(建议安装secretflow-lite,secretflow太大了)
pip install -U secretflow-lite -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

验证安装成功:
1711292509216.png
4.仿真模式
单机仿真

import secretflow as sf
sf.init(parties=['alice', 'bob'], address='local')
alice = sf.PYU('alice')
bob = sf.PYU('bob')
print(alice(lambda x:x+1)(2))
print(bob(lambda x:x-1)(2))

1711292909720.png
集群仿真

#启动主节点
ray start --head --node-ip-address="127.0.0.1" --port="8080" --resources='{"alice": 16}' --include-dashboard=False --disable-usage-stats

1711293244189.png

#启动从节点
ray start --address="127.0.0.1:8080" --resources='{"bob": 16}' --disable-usage-stats

1711295441741.png

import secretflow as sf
sf.init(parties=['alice', 'bob'], address='127.0.0.1:8080')
alice = sf.PYU('alice')
bob = sf.PYU('bob')
print(alice(lambda x:x)(2))
print(bob(lambda x:x)(2))

1711295615937.png
集群模式下启动SPU

import spu
import secretflow as sf
sf.init(parties=['alice', 'bob'], address='127.0.0.1:8080')

cluster_def={
    'nodes': [
        {
            'party': 'alice',
            # Please choose an unused port.
            'address': '127.0.0.1:8081',
            'listen_addr': '127.0.0.1:8081'
        },
        {
            'party': 'bob',
            # Please choose an unused port.
            'address': '127.0.0.1:8082',
            'listen_addr': '127.0.0.1:8082'
        },
    ],
    'runtime_config': {
        'protocol': spu.spu_pb2.SEMI2K,
        'field': spu.spu_pb2.FM128,
        'sigmoid_mode': spu.spu_pb2.RuntimeConfig.SIGMOID_REAL,
    }
}

spu = sf.SPU(cluster_def=cluster_def)
print(spu)

1711296198028.png
5.生产模式
在两台机器(我是用docker模拟的)启动一个cluster,主节点为bob:

ray start --head --node-ip-address="127.0.0.1" --port="8090" --resources='{"bob": 16}' --include-dashboard=False --disable-usage-stats

1711296556246.png

import spu
import secretflow as sf

cluster_config={
    'parties':{
        'alice':{'address':'127.0.0.1:8080'},
        'bob':{'address':'172.17.0.2:8090'}
    },
    'self_party':'alice'
}
sf.init(address='172.17.0.2:8090',cluster_config=cluster_config)

1711297613437.png

SecretNote的安装

只是一个可视化界面,不做详细功能介绍了,能打开可视化界面就行
1.启动容器
创建docker-compose.yml文件

services:
  alice:
    image: 'secretflow/secretnote:unstable-amd64'
    platform: linux/amd64
    environment:
      - SELF_PARTY=alice
      - ALL_PARTIES=alice,bob
    ports:
      - 8090:8888
    entrypoint: /root/scripts/start.sh
    volumes:
      - /root/scripts

  bob:
    image: 'secretflow/secretnote:unstable-amd64'
    platform: linux/amd64
    environment:
      - SELF_PARTY=bob
      - ALL_PARTIES=alice,bob
    ports:
      - 8092:8888
    entrypoint: /root/scripts/start.sh
    volumes:
      - /root/scripts

启动两个镜像

docker compose up

2.可视化界面效果展示
注意使用自己的ip而不是127.0.0.1
1711300538221.png
安装并将两个节点加入secretNote后,可参照psi_example完成psi任务,PSI效果展示:
image.png

相关文章
|
6月前
|
Ubuntu 调度 Docker
2024.3.21隐语训练营第4讲笔记:SecretFlow & SecretNote安装部署
本文介绍了SecretFlow和SecretNote的安装和部署
414 3
|
6月前
|
安全
隐语实训营笔记 第二讲
隐私计算通过开源促进数据要素安全流通,解决外循环中的信任问题。隐语开源项目旨在实现数据可用不可见、可算不可识、可控可计量的原则,统一产品度量标准,降低接入难度,构建完备的信任链,以推动数据的开放与共享。
65 0
|
4月前
|
运维 安全 数据安全/隐私保护
隐语(SecretFlow)联邦学习实训营第一期笔记
**摘要:** 本文探讨了数据可信流通的概念,强调了数据来源确认、使用范围界定、流程追溯和风险防范的重要性。数据流通分为内循环(安全域内)和外循环(跨域),其中外循环面临黑客攻击、内部泄露和数据滥用等风险。为建立技术信任,提出了身份验证、利益对齐、能力预期和行为审计四点要求,涉及隐私计算、可信计算等技术。隐语作为隐私计算框架,提供服务以支持数据安全流通,通过开源降低接入门槛,并具备统一架构、原生应用、开放拓展、高性能和多轮安全验证等优势。开源隐语助力解决数据权属和信任问题,促进数据要素的安全流通。
|
6月前
|
人工智能 Python
隐私计算实训营 第1期-第4讲 快速上手隐语SecretFlow的安装和部署
文档改进建议:明确Ray, K3S, Kuscia与SecretFlow的关系;结构化部署文档,区分顺序步骤与选择分支;提供从零开始的详细部署教程,补充缺失的前置步骤说明。
|
6月前
|
Ubuntu Linux Docker
课4-隐语SecretFlow、SecretNote安装部署
SecretFlow是支持Python 3.8及以上版本的隐私计算框架,兼容CentOS 7、Anolis8、Ubuntu 18.04等等。它提供两种安装包:所有需求的大体积`secretflow`和仅含基础功能的小体积`secretflow-lite`。用户可通过Docker、pip或源码安装。安装后,可使用Docker镜像在本地部署,并通过Ray进行集群仿真。更多详细信息和部署指南可在官方手册中找到。此外,SecretFlow还提供了类似Jupyter Notebook的SecretNote工具,实现多节点代码自动执行和跟踪。
|
6月前
|
Python
隐语环境的搭建
https://www.bilibili.com/video/BV12r421t77V/ 忙着改论文,blog没法写的太详细了
|
6月前
|
运维 安全 数据安全/隐私保护
|
6月前
|
Linux Docker 容器
隐私计算实训营第4讲-------快速上手隐语SecretFlow的安装和部署
考虑到很多小伙伴可能是初学者之前并没有安装docker 以及docker-compose的经验,本文记录如何在Linux系统上快速的部署docker以及更换国内镜像源。在部署完成以后展示了隐语从源码编译部署以及secretnote的安装,简单快速,非常实用。
223 1
|
6月前
|
Ubuntu Docker 容器
隐语实训营 第四课 安装部署secretflow&secretnote
`secretflow`推荐使用Docker部署,尤其在WSL环境中。运行命令`docker run -it secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow-lite-anolis8:latest`启动。对于`secretnote`,编辑`docker-compose.yml`文件,配置Alice和Bob节点,然后执行`sudo docker-compose up -d`部署。访问http://localhost:8090/,设置Alice的IP为127.0.0.1:8888,Bob的IP为虚拟机以太网地址:8092,完成。
216 0
|
6月前
|
开发工具 git Docker
隐私计算实训营 第四讲 快速上手隐语SecretFlow的安装和部署
在两台虚拟机(10.10.101.58:alice, 10.10.104.124:bob)上部署Secretflow,使用docker和`secretflow/secretflow-lite-anolis81.4.0b0`镜像。每台机器上运行docker容器,并通过`docker exec`启动Ray服务(Bob节点在8085端口)。接着,导入secretflow库,配置集群信息并初始化。Secretnode部署通过源码完成,克隆secretnote仓库,进入sim目录,运行`docker-compose up`。展示部署成功后的界面截图。
104 0