flux适配昇腾开源验证任务心得
flux适配昇腾开源验证任务心得
根据任务计划书(https://bbs.huaweicloud.cn/blogs/437796)了解任务内容,主要目的是将 flux项目适配至华为的 Ascend(昇腾),确保其在昇腾上能够正常运行,并完成文本到图像的功能验证。
开发过程
明确目的后开始熟悉模型,flux模型的github网址:https://github.com/black-forest-labs/flux ,把flux项目从github上用git拉取下来。
NPU验证推理
(1)安装依赖包
NPU上需要CANN、torch_npu、pytorch
安装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_npu、torch均可下载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推理结果
运行代码:
生成结果:
程序运行前:
程序运行后:
- 点赞
- 收藏
- 关注作者
评论(0)