一、准备运行环境
表 1 版本配套表
| 配套 | 版本 | 环境准备指导 |
|---|---|---|
| Python | 3.10.2 | - |
| torch | 2.1.0 | - |
1.1 获取CANN&MindIE安装包&环境准备
- 设备支持: Atlas 800I A2推理设备:支持的卡数为1
- Atlas 800I A2
- 环境准备指导
1.2 CANN安装
# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构,{soc}表示昇腾AI处理器的版本。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
chmod +x ./Ascend-cann-kernels-{soc}_{version}_linux.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
./Ascend-cann-kernels-{soc}_{version}_linux.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install
./Ascend-cann-kernels-{soc}_{version}_linux.run --install
# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh1.3 环境依赖安装
pip3 install -r requirements.txt1.4 MindIE安装
# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-mindie_${version}_linux-${arch}.run
./Ascend-mindie_${version}_linux-${arch}.run --check
# 方式一:默认路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install
# 设置环境变量
cd /usr/local/Ascend/mindie && source set_env.sh
# 方式二:指定路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install-path=${AieInstallPath}
# 设置环境变量
cd ${AieInstallPath}/mindie && source set_env.sh1.5 Torch_npu安装
下载 pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
tar -xzvf pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
# 解压后,会有whl包
pip install torch_npu-{pytorchversion}.xxxx.{arch}.whl安装mindspeed依赖
# 下载mindspeed源码仓:
git clone https://gitee.com/ascend/MindSpeed.git
# 执行如下命令进行安装:
pip install -e MindSpeed二、下载本仓库
2.1 下载到本地
git clone https://modelers.cn/MindIE/FLUX.1-dev.git三、Flux.1-DEV使用
3.1 准备权重
Flux.1-DEV权重下载地址
https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main设置模型权重路径环境变量:
export model_path="your local flux model path"修改权重配置文件:
vi ${model_path}/model_index.json做如下修改:
{
"_class_name": "FluxPipeline",
"_diffusers_version": "0.30.0.dev0",
"scheduler": [
"diffusers",
"FlowMatchEulerDiscreteScheduler"
],
"text_encoder": [
"transformers",
"CLIPTextModel"
],
"text_encoder_2": [
"transformers",
"T5EncoderModel"
],
"tokenizer": [
"transformers",
"CLIPTokenizer"
],
"tokenizer_2": [
"transformers",
"T5TokenizerFast"
],
"transformer": [
"FLUX1dev",
"FluxTransformer2DModel"
],
"vae": [
"diffusers",
"AutoencoderKL"
]
}3.2 运行Flux
python inference_flux.py \
--path ${model_path} \
--save_path "./res" \
--device_id 0 \
--device "npu" \
--prompt_path "./prompts.txt" \
--width 1024 \
--height 1024 \
--infer_steps 50 \
--seed 42参数说明:
- path: Flux本地模型权重路径,默认读取当前文件夹下的flux文件夹
- save_path: 保存图像路径,默认当前文件夹下的res文件夹
- device_id: 推理设备ID,默认值设置为0
- device: 推理设备类型,默认为npu
- prompt_path: 用于图像生成的文字描述提示的列表文件路径
- width: 图像生成的宽度,默认1024
- height: 图像生成的高度,默认1024
- infer_steps: Flux图像推理步数,默认值为50
- seed: 设置随机种子,默认值为42
声明
- 本代码仓提到的数据集和模型仅作为示例,这些数据集和模型仅供您用于非商业目的,如您使用这些数据集和模型来完成示例,请您特别注意应遵守对应数据集和模型的License,如您因使用数据集或模型而产生侵权纠纷,华为不承担任何责任。
- 如您在使用本代码仓的过程中,发现任何问题(包括但不限于功能问题、合规问题),请在本代码仓提交issue,我们将及时审视并解答。



