带你读《云原生机密计算最佳实践白皮书》——部署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中。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
27天前
|
存储 C++ Cloud Native
云原生部署问题之C++ 中的 nullptr 和 NULL 区别如何解决
云原生部署问题之C++ 中的 nullptr 和 NULL 区别如何解决
32 0
|
8天前
|
运维 Cloud Native Devops
云原生之旅:探索现代软件部署的未来之路
在数字化时代的浪潮下,云计算已不再是新鲜词汇,而云原生技术作为其进阶形态,正引领着软件开发和运维的全新变革。本文将深入浅出地解析云原生的核心概念、优势以及实践路径,旨在为读者揭示这一技术趋势如何重塑我们的数字世界,同时分享个人从传统IT向云原生转型的真实体验和所思所感。
|
9天前
|
运维 Cloud Native 安全
云原生之旅:探索现代软件部署的未来
在数字化转型的浪潮中,企业正寻求更高效、灵活的方式来部署和管理他们的应用程序。云原生技术,作为一种新兴的架构模式,提供了一种解决方案。本文将介绍云原生的基本概念,探讨它如何改变软件开发和运维的方式,并分析其在企业中的应用实例,最后讨论云原生面临的挑战及未来发展趋势。
20 2
|
19天前
|
运维 Cloud Native 云计算
云原生架构的演进:从微服务到无服务器计算
在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和成本效益性,成为推动现代软件开发和运维的关键力量。本文将探讨云原生概念的演变,特别是从微服务架构到无服务器计算的转变,揭示这一进化如何影响应用程序的开发、部署和管理。通过分析实际案例,我们旨在提供对云原生技术未来趋势的洞察,同时指出企业在这一转变过程中可能面临的挑战和机遇。
26 2
|
27天前
|
Cloud Native
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
31 10
|
27天前
|
程序员 编译器 C语言
云原生部署问题之C++中的nullptr相比C语言中的NULL优势如何解决
云原生部署问题之C++中的nullptr相比C语言中的NULL优势如何解决
41 10
|
23天前
|
运维 Cloud Native 持续交付
云原生架构的演进:从微服务到无服务器计算
【7月更文挑战第28天】在数字化浪潮的推动下,云原生技术不断演进,引领着软件开发和运维模式的革新。本文将深入探讨云原生架构的发展历程,着重分析微服务架构与无服务器计算模型如何相互补充,共同推动现代应用的开发与部署。我们将从微服务的基本原则出发,探索其如何赋能团队快速迭代和扩展应用,进而阐述无服务器计算如何简化资源管理,降低运营成本。通过对比分析,揭示两者结合的优势,为读者提供构建未来云原生应用的洞见。
|
26天前
|
Web App开发 Cloud Native 测试技术
云原生之使用Docker部署Firefox浏览器
【7月更文挑战第21天】云原生之使用Docker部署Firefox浏览器
51 3
|
26天前
|
TensorFlow 算法框架/工具 C++
构建NLP 开发问题之如何将模型导出为 ONNX、TensorRT 或 Tensorflow 格式以便部署
构建NLP 开发问题之如何将模型导出为 ONNX、TensorRT 或 Tensorflow 格式以便部署
|
7天前
|
运维 Cloud Native API
云原生之旅:探索现代软件部署的未来
在数字化浪潮中,云原生技术如同一股清流,为软件开发与部署带来了革命性的变革。本文将深入浅出地探讨云原生概念的核心,揭示它如何优化资源利用、提升开发效率,并确保系统的可伸缩性与韧性。通过实际案例,我们一同见证云原生如何在企业中落地生根,助推创新和业务成长。

热门文章

最新文章