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

相关文章
|
2月前
|
运维 监控 Cloud Native
构建高效稳定的云原生应用部署策略
【5月更文挑战第17天】 在现代软件工程实践中,云原生架构已成为实现敏捷开发、持续交付和微服务治理的关键。本文深入探讨了如何构建一个既能满足业务快速迭代需求,又能保障系统稳定性的云原生应用部署策略。通过分析容器化技术、微服务设计原则以及自动化部署工具的选择与使用,提出了一种综合部署流程优化方案。文章旨在为运维工程师提供一种系统性解决方案,以应对复杂多变的生产环境挑战。
31 1
|
7天前
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!
|
12天前
|
存储 关系型数据库 分布式数据库
PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题
【7月更文挑战第3天】PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题。此架构让存储层专注数据可靠性,计算层专注处理SQL,提升性能并降低运维复杂度。通过RDMA加速通信,多副本确保高可用性。资源可独立扩展,便于成本控制。动态添加计算节点以应对流量高峰,展示了其灵活性。PolarDB的开源促进了数据库技术的持续创新和发展。
216 2
|
14天前
|
运维 Cloud Native 云计算
云原生架构的演进:从微服务到无服务器计算
【6月更文挑战第30天】 在数字化转型和技术创新的浪潮中,云原生技术以其灵活性、可扩展性和成本效益成为企业IT战略的核心。本文将探索云原生架构的关键概念,从早期的微服务架构到现代的无服务器计算模型,揭示这一演变如何推动企业更高效地开发、部署和管理应用程序。我们将深入讨论这些技术背后的原理,以及它们如何帮助企业实现敏捷性、弹性和自动化运维。
|
22天前
|
运维 Cloud Native 开发者
云原生技术演进:从微服务到无服务器计算
【6月更文挑战第22天】 云原生技术如同一场持续的演化之旅,它不断重塑着应用的开发与部署方式。本文将探讨云原生技术如何从微服务架构演变至无服务器计算,以及这一转变对开发者和运维人员带来的深远影响。通过分析容器化、持续集成/持续部署(CI/CD)、微服务治理等关键概念,我们将揭示云原生技术如何在提高应用的可伸缩性、灵活性和可靠性的同时,也提出了新的挑战和机遇。
|
16天前
|
Cloud Native 安全 开发者
云原生架构的演进与实践:从微服务到无服务器计算
本文深入探讨了云原生技术的最新进展,特别关注微服务和无服务器计算模型。通过分析相关研究数据和行业案例,文章揭示了云原生架构如何推动现代应用开发,提升运维效率,并实现资源的最优化配置。文中详细讨论了云原生生态系统中的关键组成部分,包括容器化、自动化管理工具和服务网格,以及它们如何共同促进敏捷性和可扩展性。此外,文章还分析了云原生安全策略的重要性,以及如何在保障安全的同时,保持系统的灵活性和高效性。
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
关于Tensorflow!目标检测预训练模型的迁移学习
这篇文章主要介绍了使用Tensorflow进行目标检测的迁移学习过程。关于使用Tensorflow进行目标检测模型训练的实战教程,涵盖了从数据准备到模型应用的全过程,特别适合对此领域感兴趣的开发者参考。
41 3
关于Tensorflow!目标检测预训练模型的迁移学习
|
20天前
|
存储 Kubernetes Cloud Native
云原生 - Kubernetes基础知识学习
云原生 - Kubernetes基础知识学习
23 0
|
2月前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
109 8
|
2月前
|
运维 监控 JavaScript
【阿里云云原生专栏】Serverless架构下的应用部署与运维:阿里云Function Compute深度探索
【5月更文挑战第21天】阿里云Function Compute是事件驱动的无服务器计算服务,让用户无需关注基础设施,专注业务逻辑。本文详述了在FC上部署应用的步骤,包括创建函数、编写代码和部署,并介绍了运维功能:监控告警、日志管理、版本管理和授权管理,提供高效低成本的计算服务。
249 6