SD Forge IC-Light 项目使用教程
1. 项目的目录结构及介绍
SD Forge IC-Light 项目的目录结构如下:
sd-forge-ic-light/
├── README.md
├── requirements.txt
├── setup.py
├── src/
│ ├── main.py
│ ├── config/
│ │ ├── default_config.yaml
│ ├── models/
│ │ ├── iclight_sd15_fc_safetensors
│ │ ├── iclight_sd15_fbc_safetensors
│ ├── utils/
│ │ ├── logger.py
│ │ ├── helper.py
├── tests/
│ ├── test_main.py
│ ├── test_config.py
目录结构介绍
README.md
: 项目说明文件,包含项目的基本介绍和使用方法。requirements.txt
: 项目依赖文件,列出了运行项目所需的Python包。setup.py
: 项目安装脚本,用于安装项目及其依赖。src/
: 源代码目录,包含项目的所有源代码文件。main.py
: 项目的启动文件,包含主程序入口。config/
: 配置文件目录,包含项目的配置文件。default_config.yaml
: 默认配置文件,定义了项目的默认配置参数。
models/
: 模型文件目录,包含项目使用的模型文件。iclight_sd15_fc_safetensors
: 前景模型文件。iclight_sd15_fbc_safetensors
: 背景模型文件。
utils/
: 工具函数目录,包含项目使用的辅助函数。logger.py
: 日志记录工具。helper.py
: 辅助函数工具。
tests/
: 测试文件目录,包含项目的测试代码。test_main.py
: 主程序测试文件。test_config.py
: 配置文件测试文件。
2. 项目的启动文件介绍
项目的启动文件是 src/main.py
,该文件包含了项目的主程序入口。以下是 main.py
的主要内容:
import argparse
from config.default_config import load_config
from utils.logger import setup_logger
from models.iclight_sd15_fc_safetensors import IC_Light_FC
from models.iclight_sd15_fbc_safetensors import IC_Light_FBC
def main():
parser = argparse.ArgumentParser(description="SD Forge IC-Light 项目启动脚本")
parser.add_argument("--config", type=str, default="config/default_config.yaml", help="配置文件路径")
args = parser.parse_args()
config = load_config(args.config)
logger = setup_logger(config)
logger.info("项目启动中...")
fc_model = IC_Light_FC(config)
fbc_model = IC_Light_FBC(config)
# 主程序逻辑
# ...
if __name__ == "__main__":
main()
启动文件介绍
argparse
: 用于解析命令行参数。load_config
: 从配置文件中加载配置参数。setup_logger
: 设置日志记录器。IC_Light_FC
和IC_Light_FBC
: 分别是前景和背景模型类。main
函数: 主程序入口,解析命令行参数,加载配置文件,设置日志记录器,并初始化模型。
3. 项目的配置文件介绍
项目的配置文件是 src/config/default_config.yaml
,该文件定义了项目的默认配置参数。以下是 default_config.yaml
的主要内容:
# 默认配置文件
logging:
level: INFO
file: logs/app.log
models:
iclight_sd15_fc:
path: models/iclight_sd15_fc_safetensors
iclight_sd15_fbc:
path: models/iclight_sd15_fbc_safetensors
parameters:
CFG