欢迎光临
我们一直在努力

在Ubuntu服务器上部署字节跳动UNO模型教程

目录

项目地址

环境配置

1.创建虚拟环境

2.安装依赖项

3.下载检查点:

4.设置环境变量:

Linux中:

windows手动设置

5.运行推理脚本:

SSH 连接到远程服务器,并访问运行在该服务器上的 Web 应用程序

1. 连接到远程服务器

2. 检查 Web 应用程序的运行状态

3. 访问 Web 应用程序

方法 1:使用服务器的 IP 地址

方法 2:使用服务器的域名

4. 配置端口转发(可选)

5. 创建公共链接(可选)


虽然在README中,流程写的很清楚了,但本人在六月份实操的时候还是遇到了一系列问题,故在此记录一下。

项目地址

GitHub – bytedance/UNO: [ICCV 2025] 🔥🔥 UNO: A Universal Customization Method for Both Single and Multi-Subject Conditioning

环境配置

在`README`里面写的很清楚了,相关指令直接参考的源项目

1.创建虚拟环境

 conda create -n uno_env python=3.10 -y
 conda activate uno_env

2.安装依赖项

 pip install -r requirements.txt
 pip install -e .  # for who wanna to run the demo/inference only
 pip install -e .[train]  # for who also want to train the model

3.下载检查点:

在README中提到有三种方法下载检查点,但由于检查点文件过大,这里可以参考YouTube上的视频:[反馈与教程] YouTube 视频:UNO 本地部署 (模型准备方法3, 环境变量修正, 快速启动), WebUI 演示与多图上下文应用 · Issue #30 · bytedance/UNO

大致翻译如下:

  • 直接运行推理脚本,代码中的hf_hub_download函数将自动下载检查点到您的$HF_HOME(默认值为~/.cache/huggingface)。
  • 使用huggingface-cli download <repo name>来下载black-forest-labs/FLUX.1-dev、xlabs-ai/xflux_text_encoders、openai/clip-vit-large-patch14、bytedance-research/UNO,然后运行推理脚本。您只需下载所需的检查点以加快设置速度并节省磁盘空间。例如,对于black-forest-labs/FLUX.1-dev,使用huggingface-cli download black-forest-labs/FLUX.1-dev flux1-dev.safetensors和huggingface-cli download black-forest-labs/FLUX.1-dev ae.safetensors,忽略black-forest-labs/FLUX.1-dev模型仓库中的文本编码器(它们是为扩散器准备的)。所有检查点将占用37GB的磁盘空间。
  • 使用huggingface-cli download <repo name> –local-dir <LOCAL_DIR>来下载第2节中提到的所有检查点到您想要的目录。然后设置环境变量AE、FLUX_DEV(或使用fp8模式时的FLUX_DEV_FP8)、T5、CLIP、LORA到相应的路径。最后,运行推理脚本。
  • 如果您已经有一些检查点,您可以设置环境变量AE、FLUX_DEV、T5、CLIP、LORA到相应的路径。最后,运行推理脚本。
  • 可以参考如下方法下载,或者直接去官网单独下载(文件真的很大):

     pip install huggingface-cli
     ​
     huggingface-cli download black-forest-labs/FLUX.1-dev –local-dir ./checkpoints/flux1-dev
     ​
     huggingface-cli download xlabs-ai/xflux_text_encoders –local-dir ./checkpoints/xflux_text_encoders
     ​
     huggingface-cli download openai/clip-vit-large-patch14 –local-dir ./checkpoints/clip
     ​
     huggingface-cli download bytedance-research/UNO –local-dir ./checkpoints/uno

    4.设置环境变量:

    这里路径根据实际存放路径设置

    Linux中:

     export LOCAL_DIR='checkpoints'
     export AE='checkpoints/flux1-dev/ae.safetensors'
     export FLUX_DEV='checkpoints/flux1-dev/flux1-dev.safetensors'
     export T5='checkpoints/xflux_text_encoders/xflux_text_encoders'
     export CLIP='checkpoints/clip/clip-vit-large-patch14'
     export LORA='checkpoints/uno/dit_lora.safetensors'
     export FLUX_DEV_FP8='checkpoints/flux1-dev/flux1-dev.safetensors'

    windows手动设置

     set AE=UNO/checkpoints/flux1-dev/ae.safetensors
     set FLUX_DEV=UNO/checkpoints/flux1-dev/flux1-dev.safetensors
     set T5=UNO/checkpoints/xflux_text_encoders/xflux_text_encoders
     set CLIP=UNO/checkpoints/clip/clip-vit-large-patch14
     set LORA=UNO/checkpoints/uno/dit_lora.safetensors
     set FLUX_DEV_FP8= checkpoints/flux1-dev/flux1-dev.safetensors

    5.运行推理脚本:

    在app.py最后加上

    demo.launch(server_port = args.port,server_name = "0.0.0.0")

    如果你需要从外部网络访问该服务器,可以在代码中设置 share=True 生成公共链接:

    demo.launch(server_name="0.0.0.0", server_port=args.port, share=True)

    这将生成一个公共链接,你可以通过该链接从外部网络访问服务器。

    运行推理:

    python app.py

    如果需要降低内存使用,可以运行:

     python app.py –offload –name flux-dev-fp8

    SSH 连接到远程服务器,并访问运行在该服务器上的 Web 应用程序

    这里是本人用租用的服务器跑代码时遇到无法访问gradio后的解决方法,如果成功运行项目后无法打开链接,可以参考一下。

    1. 连接到远程服务器

    使用以下命令通过 SSH 连接到远程服务器:

     ssh -p <port> <username>@<服务器的域名>

    2. 检查 Web 应用程序的运行状态

    连接到服务器后,检查 Web 应用程序是否正在运行。你可以通过以下命令检查端口 7860 是否被监听:

     netstat -tuln | grep 7860

    如果看到类似以下输出,说明 Web 应用程序正在运行:

    tcp       0     0 0.0.0.0:7860           0.0.0.0:*               LISTEN

    3. 访问 Web 应用程序

    由于 Web 应用程序运行在远程服务器上,你需要通过远程服务器的 IP 地址或域名来访问它。你可以使用以下方法之一:

    方法 1:使用服务器的 IP 地址
  • 获取服务器的 IP 地址:

    hostname -I

    这将输出服务器的 IP 地址,例如 192.168.1.100。

  • 在浏览器中访问:

    http://192.168.1.100:7860

  • 方法 2:使用服务器的域名

    如果你有服务器的域名,可以直接在浏览器中访问:

     http://<服务器域名>

    4. 配置端口转发(可选)

    如果你无法直接访问远程服务器的 IP 地址或域名,可以通过 SSH 端口转发将远程服务器的端口映射到本地端口。这样,你可以在本地浏览器中访问远程服务器上的 Web 应用程序

  • ssh -L 7860:localhost:7860 -p <port> root@<服务器域名>
    • -L 7860:localhost:7860 将远程服务器的 7860 端口映射到本地的 7860 端口。
    • 在浏览器中访问:http://localhost:7860

    5. 创建公共链接(可选)

    如果你需要从外部网络访问该服务器,可以在代码中设置 share=True 生成公共链接:

     demo.launch(server_name="0.0.0.0", server_port=args.port, share=True)

    这将生成一个公共链接,你可以通过该链接从外部网络访问服务器。

    如果在访问过程中遇到问题,请检查服务器的防火墙设置和网络配置。

    赞(0)
    未经允许不得转载:171主机测评 » 在Ubuntu服务器上部署字节跳动UNO模型教程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址