flux适配昇腾开源验证任务心得

举报
zwq0201 发表于 2024/11/27 09:43:45 2024/11/27
【摘要】 flux适配昇腾开源验证任务心得根据任务计划书(https://bbs.huaweicloud.com/blogs/437824)了解任务内容,主要目的是将 flux项目适配至华为的 Ascend(昇腾),确保其在昇腾上能够正常运行,并完成文本到图像的功能验证。开发过程明确目的后开始熟悉模型,flux模型的github网址:https://github.com/black-forest-la...

flux适配昇腾开源验证任务心得

根据任务计划书(https://onebox.huawei.com/p/fef4f00a5a7e67aba890b0b5573d0e4b)了解任务内容,主要目的是将 flux项目适配至华为的 Ascend(昇腾)确保其在昇腾上能够正常运行,并完成文本到图像的功能验证。

开发过程

明确目的后开始熟悉模型,flux模型的github网址:https://github.com/black-forest-labs/flux ,把flux项目从github上用git拉取下来。

NPU验证推理

1)安装依赖包

NPU上需要CANNtorch_npupytorch

安装CANN,参考:
https://www.hiascend.com/zh/developer/download/community/result?module=cann

torch_npu的安装参考:https://github.com/Ascend/pytorch/blob/master/README.zh.md

注:

1、torch_nputorch均可下载2.1.0版本,代码仓库提供的下载依赖的命令会自动下载2.5.1版本的torch,需要手动重新下载

2、建议下载模型权重文件到服务器上,否则会执行一次命令就重新拉取一次,涉及其他相关权重:t5-v1 _1-xx1、openaiclip-vit-large-patch14


(2)修改推理代码

1、数据类型为bfloat16,Ascend NPU设备上部分算子不支持,需要修改数据类型为float32

2、相关加载到CUDA设备上的代码手动修改为NPU

3、涉及修改的代码包括util.py、cli.py、conditioner.py、model.py、sampling.py、

util.py脚本修改:模型权重文件路径修改为本地路径

conditioner.py脚本修改:util脚本中T5、CLIP加载路径修改为本地路径,需修改相应代码逻辑

model.py、sampling.py、cli.py:CUDA设备替换

1 验收材料

1.1 交付件清单

1开源软件fork地址:不涉及

2开源软件修改记录(可以有多个修改记录):不涉及

3推送上游社区PR(包括代码、文档、可以有多个):不涉及

4验证DEMO地址:https://gitcode.com/zwq0201/flux/overview

5验证DEMO修改记录(可以有多个修改记录,只包含和本任务验证强相关的提交记录,比如添加依赖、增加配置文件、演示开源软件功能使用的代码等):无

6博客地址:https://bbs.huaweicloud.com/blogs/440639

验收细则

评分说明

是否为验收必选项

结果(通过/不通过)

验证举证

功能开发:完成与华为三大根技术生态昇腾云适配的功能开发和验证。

基于昇腾完成验证。

4)(6

代码质量:适配华为三大根技术生态的代码质量经过工具检测达标

推送给开源社区的代码符合开源社区关于代码风格、功能、自动化测试等要求。

提供相关文档,比如部署文档、使用文档、配置文档等

根据社区要求,完善相关的开发指南和部署指导

合入到开源项目主仓:代码推送上游社区

代码合并到当前主干分支。举证提供代码仓库链接。

Deomo设计&开发:完成功能演示Demo的开发

举证提供DEMO仓库地址和DEMO开发提交记录。

4

Demo部署&验证:完成功能演示DEMO基于华为昇腾环境的部署和功能验证

提供DEMO部署验证结果的关键截图进行举证。提供DEMO运行环境和资源的规格清单。

参考资源清单和验证截图。

发布博客:发布博客介绍适配心得。

提供博客的地址。

6

制作单机版无高危开源镜像。

上架云商店。

单机版镜像上架时支持模板部署。

制作集群版无高危开源镜像

上架云商店。

集群版镜像上架时支持模板部署

2 资源清单 

产品名称

NPU架构

操作系统

云堡垒机

Ascend 910B3

Huawei Cloud EulerOS 2.0 (aarch64)

3 验证截图

3.1验证思路

github上拉取flux仓库,在NPU搭建必需的环境和安装相关依赖,之后在项目中找到合适的启动方式进行验证,命令行输入需要转文字的文本,运行后生成对应的图片,可下载查看。

3.2 NPU推理结果

运行代码:

生成结果:

     

程序运行前:

图片14.png

程序运行后:






【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。