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

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

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

根据任务计划书(https://bbs.huaweicloud.cn/blogs/437796)了解任务内容,主要目的是将 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验证思路

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

1.2 NPU推理结果

运行代码:

生成结果:

     

程序运行前:

图片14.png

程序运行后:






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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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