隐语实训营-第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

相关文章
|
1月前
|
安全
隐语实训营笔记 第二讲
隐私计算通过开源促进数据要素安全流通,解决外循环中的信任问题。隐语开源项目旨在实现数据可用不可见、可算不可识、可控可计量的原则,统一产品度量标准,降低接入难度,构建完备的信任链,以推动数据的开放与共享。
39 0
|
3天前
|
Java 开发者 微服务
开源召集令
开源召集令,召集令发布,欢迎有想法的你,不管是技术大牛、萌新学徒,都踊跃加入组织一同学习、共同进步吧。
20 0
开源召集令
|
24天前
第8讲:隐语SCQL的开发实践丨隐私计算实训营 第1期
SCQL 提供中心化和P2P两种部署架构。中心化依赖第三方的SCDB,各数据方仅需SCQLEngine;P2P模式无第三方,各数据方需SCQLEngine和SCQLBroker。使用流程包括配置、注册、启动和执行查询。P2P部署实践展示详细步骤。[查看部署教程](https://www.secretflow.org.cn/zh-CN/docs/scql/0.5.0b2/intro/p2p-tutorial)。
24 0
|
1月前
|
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,完成。
42 0
|
1月前
|
算法 安全 数据安全/隐私保护
隐语实训营笔记 第三讲
隐私计算框架“隐语”提供全面的隐私保护技术,包括PSI、PIR和联邦学习等算法,层次间低耦合,支持开放合作。产品层包含多样化应用,计算层涉及SPU、HEU、TEEU及密码库YACL,资源层有kuscia管理,强调互联互通和跨域管控,旨在实现安全的数据协作。
12 0
|
1月前
|
人工智能 Python
隐私计算实训营 第1期-第4讲 快速上手隐语SecretFlow的安装和部署
文档改进建议:明确Ray, K3S, Kuscia与SecretFlow的关系;结构化部署文档,区分顺序步骤与选择分支;提供从零开始的详细部署教程,补充缺失的前置步骤说明。
|
1月前
|
存储 运维 安全
隐语实训营笔记 第一讲
构建数据可信流通体系,确保来源确认、范围界定、过程追溯及风险防范。该体系基于密码学和可信计算,包含身份验证(如CA证书和远程验证)、使用权跨域管控、安全分级测评和全链路审计。可信数字应用身份验证和跨域管控保护数据免于滥用,同时维护上下游利益。通过隐私、可信和机密计算技术,实现数据流通的控制面和数据面的平衡,即“不可能三角”。全链路审计形成内外循环的管控体系,密态天空计算作为基础设施,支持密态数据流通,解决数据安全保险中的定责和定损问题。
16 0
|
1月前
|
Docker 容器
|
1月前
|
开发工具 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`。展示部署成功后的界面截图。
41 0
|
1月前
|
运维 安全 数据安全/隐私保护