AI开发平台MODELARTS-FLUX.1基于DevServer适配PyTorch NPU推理指导(6.3.909):步骤七:Flux+Diffusers 0.30.2适配
步骤七:Flux+Diffusers 0.30.2适配
本章节介绍Flux模型使用Diffusers 0.30.2框架的推理过程。使用官方提供的已经训练好的模型进行推理,输入prompt生成指定像素的图片。
- 使用如下命令登录huggingface,并输入个人账号的token,用于自动下载flux权重。
huggingface-cli login
- 下载华为侧插件代码包AscendCloud-AIGC-6.3.909-xxx.zip文件,本案例使用的是解压到子目录 ${container_work_dir}/aigc_inference/torch_npu/diffusers/0.30.2/下的所有文件,将该目录上传到宿主机上的工作目录下,例如 ${container_work_dir}/flux/,目录结构如下。
图16 目录结构
- 运行prepare.sh脚本。
bash prepare.sh
之后,会在当前目录下产生两个新文件attention_processor.py和transformer_flux.py,使用这两个新文件覆盖diffusers安装路径下的源码文件。
diffusers安装路径以/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/diffusers为例,执行以下命令进行替换:
cp attention_processor.py /home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/diffusers/models/attention_processor.py cp transformer_flux.py /home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/diffusers/models/transformers/transformer_flux.py
- 启动推理脚本。
python run.py
脚本中,参数说明如下:
- MODEL_NAME:模型名称,支持 "black-forest-labs/FLUX.1-dev" 和 "black-forest-labs/FLUX.1-schnell"
- h_list :生成图片的长,默认为 [688, 1024]
- w_list: 生成图片的宽,默认为 [1024, 1024]
- INFER_STEP:推理步数,默认20步
- 推理完成后,生成的图片保存在 ${container_work_dir}/flux/result 目录下,如下图所示:
图17 推理结果