TF-A LTS规划:长期支持与管理指南

0 下载量 145 浏览量 更新于2024-08-03 收藏 129KB PDF 举报
TF-A LTS (Long-Term Support) Proposal 是一个由 Okash Khawaja(Google)和 Varun Wadekar(NVIDIA)共同编写的文档,旨在为 TF-A(TensorFlow-Agent)项目引入长期支持策略。TF-A是一个针对 Armv8 和 Armv9 架构的平台,它为深度学习部署提供基础框架和组件。这份提案的主要目标是确保在开发过程中对稳定版本进行持续的支持,以满足用户的长期需求和项目稳定性。 提案的核心关注点在于: 1. **为什么需要LTS?** 提案指出,引入LTS是为了应对用户对于长期可靠性和技术支持的需求,尤其是在关键业务环境中,稳定的软件版本至关重要。 2. **LTS对TF-A意味着什么:** LTS版本将为用户提供更长时间的技术保障,包括安全更新、 bug修复和必要的功能维护,以降低迁移成本和提升用户信心。 3. **标准与准则:** - **生命周期和频率**:提案建议确定一个合理的LTS版本支持年限,并决定LTS发布频率,如每年一次或每两年一次。 - **发布时间**:讨论了LTS版本发布应遵循的时间点,可能考虑与软件年度规划或特定行业周期相协调。 4. **测试标准:** 提及了TF.org关于测试覆盖率的要求,强调了LTS分支必须经过严格的测试流程,以确保其质量。 5. **TF-A分支管理:** 涉及了如何处理主分支与LTS分支之间的关系,以及如何确保新特性与bug修复不会干扰到LTS版本。 6. **发布细节:** 包括了一个测试和调试期,以及具体的例子来展示LTS版本的发布时间线。 7. **维护者角色与责任:** 定义了LTS维护者的职责和工作指南,明确了他们在支持期间的角色和预期活动。 8. **日常维护生活:** 新增了关于LTS分支维护者日常工作的一览,以便了解维护者日常的挑战和工作流程。 9. **执行计划:** 列出了初期发布步骤,以及长期LTS版本的发布规划。 10. **常见问题解答(FAQ):** 为读者提供了对LTS提案的常见疑问及其解答,帮助理解和接受这一改变。 通过这份提案,TF-A项目团队期待为用户提供更加稳定且长期支持的服务,以适应不断发展的Arm架构市场和技术需求。

for Itr=1:Max_Itr for i=1:nop % Determin RSs and Search by LTs %-------------------------------------------------------- Rf=((i-1)/(nop-1))(RM-Rm)+Rm; Rd=norm(GOP-GTs(:,RKs(i))); Rs=Rf(Rf>=Rd)+Rd*(Rd>Rf); LTs_C=Create_LTs(No_LTs,Rs,Dim); LTs=repmat(GTs(:,RKs(i)),1,No_LTs)+LTs_C; LTs=SS(LTs,Par_Interval); %---------------- if Graphic_on==1 subplot(2,2,1) hold off pause(0.000001); plot(LTs(1,:),LTs(2,:),'x'); hold on ezplot(['(x-' num2str(GTs(1,RKs(i))) ')^2 + (y-' num2str(GTs(2,RKs(i))) ')^2 -' num2str(Rs^2)],[0 10],[0 10]); hold off xlim([Par_Interval(1,1) Par_Interval(1,2)]); ylim([Par_Interval(2,1) Par_Interval(2,2)]); pbaspect([1 1 1]) title('Local Search') xlabel('x_1') ylabel('x_2') end %---------------- LTs_Cost=Ev_Fcn(LTs,Fcn_Name); [L_min,L_inx]= min(LTs_Cost); if L_min<=LP_Cost(RKs(i)) LP(:,RKs(i))=LTs(:,L_inx); LP_Cost(RKs(i))=L_min; end if L_min<=GOP_Cost GOP_Cost=L_min; GOP=LTs(:,L_inx); end end % Search by GTs %-------------------------------------------------------- for i=1:nop GTs(:,i)=New_GT(GTs(:,i),LP(:,i),GOP,Lambda,Theta,Beta); GTs(:,i)=SS(GTs(:,i),Par_Interval); GTs_Cost(i)=Ev_Fcn(GTs(:,i),Fcn_Name); end % Ranking %-------------------------------------------------------- [Gts_Sorted,RKs]=sort(GTs_Cost); GOP_B=GTs(:,RKs(1)); GOP_Cost_B=Gts_Sorted(1); if GOP_Cost_B<=GOP_Cost GOP_Cost=GOP_Cost_B; GOP=GOP_B; end OP_Cost(Itr+1)=GOP_Cost; %---------------- if Graphic_on==1 subplot(2,2,2) hold off pause(.000001) plot(GTs(1,:),GTs(2,:),'*') hold on plot(GOP(1,:),GOP(2,:),'X','color','red') xlim([Par_Interval(1,1) Par_Interval(1,2)]); ylim([Par_Interval(2,1) Par_Interval(2,2)]); hold off pbaspect([1 1 1]*3) title('Global Search') xlabel('x_1') ylabel('x_2') end %---------------- %---------------- if Graphic_on==1 subplot(2,2,3) hold off pause(.000001) plot(OP_Cost(1:Itr+1)) pbaspect([2 1 1]) xlim([1 Max_Itr+1]) title(['Cost=' num2str(GOP_Cost,'%4.10f')]) xlabel('Iteration') ylabel('Cost') else hold off pause(.000001) plot(0:Itr,OP_Cost(1:Itr+1),'.','MarkerSize',15,'LineStyle','-','Color',[214 30 0]/255,'MarkerEdgeColor',[3 93 118]/255) pbaspect([2 1 1]) title(['Itr=' num2str(Itr) ', Cost=' num2str(GOP_Cost,'%4.10f')]) xlim([0 Max_Itr]) xlabel('Iteration') ylabel('Cost') end %---------------- end 把这段MATLAB代码转换为python代码

2023-06-01 上传