带你读《云原生机密计算最佳实践白皮书》——部署TensorFlow横向联邦学习(4)

简介: 带你读《云原生机密计算最佳实践白皮书》——部署TensorFlow横向联邦学习(4)
+关注继续查看

《云原生机密计算最佳实践白皮书》——07解决方案——Intel Confidential Computing Zoo: Intel机密计算开源解决方案——部署TensorFlow横向联邦学习(3) https://developer.aliyun.com/article/1230778?groupCode=aliyun_linux



6 实践运行

6.1 图像分类

在多台服务器上部署不同分布式节点的情况下,可以通过修改Docker容器中/image_classifification/目录下的train.py训练脚本来配置分布式节点IP地址:

tf.app.flflags.DEFINE_string("ps_hosts", "['localhost:60002']", "ps hosts")
tf.app.flflags.DEFINE_string("worker_hosts", "['localhost:61002','localhost:61003']", "worker hosts")

并在修改后重新编译应用:

cd /image_classifification
./test-sgx.sh make

编译过程中会生成MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN。

配置Docker容器中/image_classifification/下的dynamic_confifig.json文件,填入待通信方节点在编译应用阶段生成的MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN的值,如:

{
 "verify_mr_enclave" : "on",
 "verify_mr_signer" : "on",
 "verify_isv_prod_id" : "on",
 "verify_isv_svn" : "on",
 "sgx_mrs": [
 {
 "mr_enclave" : "1e4f3efafac6038dadaa94fdd248b93c82ae9f0a16642ffff4bb07afe442aac
 56e",
 "mr_signer" : "5add213ac35413033647621e2fab91edcc8b82f840426803feb8a603be2ce
 8d4",
 "isv_prod_id" : "0",
 "isv_svn" : "0"
 }
 ]
}

修改完成后,在每个容器中运行相应的作业脚本。

./test-sgx.sh <ps0/worker0/worker1>

您可以从终端查看训练过程中的日志信息,以确认训练在正常进行。训练过程中生成的模型文件将保存在model文件夹中,其中变量值的相关信息存放在参与方 ps0 的 model/model.ckpt-data 中,计算图结构的相关信息存放在参与方 worker0 的 model/model.ckpt-meta 中。

6.2 推荐系统

在多台服务器上部署不同分布式节点的情况下,可以通过修改Docker容器中 /ecommendation_system/目录下的 ps0.py、worker0.py、worker1.py、worker2.py、worker3.py 训练脚本来配置分布式节点IP地址:

tf.app.flflags.DEFINE_string("ps_hosts", "['localhost:70002']", "ps hosts")
tf.app.flflags.DEFINE_string("worker_hosts", "['localhost:71002','localhost:71003','localhost:
71004','locaxlhost:71005']", "worker hosts")

并在修改后重新编译应用

cd /recommendation_system
./test-sgx.sh make

编译过程中会生成MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN。

配置Docker容器中 /recommendation_system/ 目录下的 dynamic_confifig.json 文件,填入待通信方节点在编译应用阶段生成的MR_ENCLAVE,MR_SIGNER,ISV_PROD_ID,ISV_SVN的值,如:

{
 "verify_mr_enclave" : "on",
 "verify_mr_signer" : "on",
 "verify_isv_prod_id" : "on",
 "verify_isv_svn" : "on",
 "sgx_mrs": [
 {
 "mr_enclave" : "8b302bbf37ce27f82a3aa95b7daffffe4b104e1faeb05e566dc8ded6ab0435
 9684",
 "mr_signer" : "5add213ac35413033647621e2fab91edcc8b82f840426803feb8a603be2ce
 8d4",
 "isv_prod_id" : "0",
 "isv_svn" : "0"
 }
 ]
}

worker节点仅需要与ps节点通信,因此只需要配置一组校验值。ps节点需要与所有worker节点通信,因此可能需要配置多组校验值。

修改完成后,在每个容器中运行相应的作业脚本。

./test-sgx.sh <ps0/worker0/worker1/worker2/worker3>

您可以从终端查看训练过程中的日志信息,以确认训练在正常进行。训练过程中生成的模型文件将保存在model文件夹中,其中变量值的相关信息存放在参与方ps0的model/model.ckpt-data中,计算图结构的相关信息存放在参与方worker0的model/model.ckpt-meta中。

相关文章
|
3月前
|
Cloud Native Linux 数据中心
龙蜥白皮书精选:云原生混部资源隔离技术
不论是源码透明度,还是技术深度,以及场景的广度,龙蜥在资源隔离技术都是用户第一选择。
|
5月前
|
存储 Cloud Native 安全
带你读《云存储应用白皮书》之8:2. 云原生对云存储的新要求
带你读《云存储应用白皮书》之8:2. 云原生对云存储的新要求
131 0
|
6月前
|
Cloud Native
带你读《云原生架构白皮书2022新版》——序
带你读《云原生架构白皮书2022新版》——序
132 0
|
6月前
|
Cloud Native
带你读《云原生架构白皮书2022新版》——为什么需要云原生架构?
带你读《云原生架构白皮书2022新版》——为什么需要云原生架构?
115 0
|
6月前
|
Cloud Native
带你读《云原生架构白皮书2022新版》——云原生架构定义(上)
带你读《云原生架构白皮书2022新版》——云原生架构定义(上)
206 0
|
6月前
|
存储 运维 Cloud Native
带你读《云原生架构白皮书2022新版》——云原生架构定义(下)
带你读《云原生架构白皮书2022新版》——云原生架构定义(下)
141 0
|
6月前
|
运维 Kubernetes Cloud Native
带你读《云原生架构白皮书2022新版》——云原生架构原则
带你读《云原生架构白皮书2022新版》——云原生架构原则
109 0
|
6月前
|
存储 缓存 运维
带你读《云原生架构白皮书2022新版》——主要架构模式(上)
带你读《云原生架构白皮书2022新版》——主要架构模式(上)
211 0
|
6月前
|
Cloud Native 前端开发 定位技术
带你读《云原生架构白皮书2022新版》——主要架构模式(下)
带你读《云原生架构白皮书2022新版》——主要架构模式(下)
112 0
|
6月前
|
Cloud Native
带你读《云原生架构白皮书2022新版》——典型的云原生架构反模式
带你读《云原生架构白皮书2022新版》——典型的云原生架构反模式
热门文章
最新文章
推荐文章
更多