mirror of https://github.com/bmaltais/kohya_ss
Add files via upload
parent
59789b1d57
commit
97b186d263
|
|
@ -0,0 +1,174 @@
|
|||
SDXL已得到支持。sdxl分支已合并到main分支。当更新仓库时,请执行升级步骤。由于accelerate版本也已经升级,请重新运行accelerate config。
|
||||
|
||||
有关SDXL训练的信息,请参见[此处](./README.md#sdxl-training)(英文)。
|
||||
|
||||
## 关于本仓库
|
||||
|
||||
用于Stable Diffusion的训练、图像生成和其他脚本的仓库。
|
||||
|
||||
[英文README](./README.md) <- 更新信息在这里
|
||||
|
||||
[bmaltais的仓库](https://github.com/bmaltais/kohya_ss)中提供了GUI和PowerShell脚本等使其更易于使用的功能(英文),也请一并参阅。衷心感谢bmaltais。
|
||||
|
||||
包含以下脚本:
|
||||
|
||||
* 支持DreamBooth、U-Net和Text Encoder的训练
|
||||
* 微调,同上
|
||||
* 支持LoRA的训练
|
||||
* 图像生成
|
||||
* 模型转换(在Stable Diffision ckpt/safetensors与Diffusers之间转换)
|
||||
|
||||
## 使用方法
|
||||
|
||||
* [通用部分的训练信息](./docs/train_README-ja.md): 数据准备和选项等
|
||||
* [数据集设置](./docs/config_README-ja.md)
|
||||
* [DreamBooth的训练信息](./docs/train_db_README-ja.md)
|
||||
* [微调指南](./docs/fine_tune_README_ja.md)
|
||||
* [LoRA的训练信息](./docs/train_network_README-ja.md)
|
||||
* [Textual Inversion的训练信息](./docs/train_ti_README-ja.md)
|
||||
* [图像生成脚本](./docs/gen_img_README-ja.md)
|
||||
* note.com [模型转换脚本](https://note.com/kohya_ss/n/n374f316fe4ad)
|
||||
|
||||
## Windows上需要的程序
|
||||
|
||||
需要Python 3.10.6和Git。
|
||||
|
||||
- Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
|
||||
- git: https://git-scm.com/download/win
|
||||
|
||||
如果要在PowerShell中使用,请按以下步骤更改安全设置以使用venv。
|
||||
(不仅仅是venv,这使得脚本的执行成为可能,所以请注意。)
|
||||
|
||||
- 以管理员身份打开PowerShell。
|
||||
- 输入“Set-ExecutionPolicy Unrestricted”,并回答Y。
|
||||
- 关闭管理员PowerShell。
|
||||
|
||||
## 在Windows环境下安装
|
||||
|
||||
脚本已在PyTorch 2.0.1上通过测试。PyTorch 1.12.1也应该可以工作。
|
||||
|
||||
下例中,将安装PyTorch 2.0.1/CUDA 11.8版。如果使用CUDA 11.6版或PyTorch 1.12.1,请酌情更改。
|
||||
|
||||
(注意,如果python -m venv~这行只显示“python”,请将其更改为py -m venv~。)
|
||||
|
||||
如果使用PowerShell,请打开常规(非管理员)PowerShell并按顺序执行以下操作:
|
||||
|
||||
```powershell
|
||||
git clone https://github.com/kohya-ss/sd-scripts.git
|
||||
cd sd-scripts
|
||||
|
||||
python -m venv venv
|
||||
.\venv\Scripts\activate
|
||||
|
||||
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-url https://download.pytorch.org/whl/cu118
|
||||
pip install --upgrade -r requirements.txt
|
||||
pip install xformers==0.0.20
|
||||
|
||||
accelerate config
|
||||
```
|
||||
|
||||
在命令提示符下也相同。
|
||||
|
||||
(注:由于 ``python -m venv venv`` 比 ``python -m venv --system-site-packages venv`` 更安全,已进行更改。如果global python中安装了package,后者会引发各种问题。)
|
||||
|
||||
在accelerate config的提示中,请按以下方式回答。(如果以bf16学习,最后一个问题回答bf16。)
|
||||
|
||||
※从0.15.0开始,在日语环境中按方向键选择会崩溃(......)。请使用数字键0、1、2......进行选择。
|
||||
|
||||
```txt
|
||||
- This machine
|
||||
- No distributed training
|
||||
- NO
|
||||
- NO
|
||||
- NO
|
||||
- all
|
||||
- fp16
|
||||
```
|
||||
|
||||
※有时可能会出现 ``ValueError: fp16 mixed precision requires a GPU`` 错误。在这种情况下,对第6个问题 ``(What GPU(s) (by id) should be used for training on this machine as a comma-separated list? [all]:``
|
||||
)回答“0”。(将使用id `0`的GPU)。
|
||||
|
||||
### 可选:``bitsandbytes``(8位优化器)
|
||||
|
||||
`bitsandbytes`现在是可选的。在Linux上,可以通过pip正常安装(推荐0.41.1或更高版本)。
|
||||
|
||||
在Windows上,推荐0.35.0或0.41.1。
|
||||
|
||||
- `bitsandbytes` 0.35.0: 似乎是稳定的版本。可以使用AdamW8bit,但不能使用其他一些8位优化器和`full_bf16`学习时的选项。
|
||||
- `bitsandbytes` 0.41.1: 支持 Lion8bit、PagedAdamW8bit、PagedLion8bit。可以使用`full_bf16`。
|
||||
|
||||
注意:`bitsandbytes` 从0.35.0到0.41.0之间的版本似乎存在问题。 https://github.com/TimDettmers/bitsandbytes/issues/659
|
||||
|
||||
请按以下步骤安装`bitsandbytes`。
|
||||
|
||||
### 使用0.35.0
|
||||
|
||||
以下是PowerShell的例子。在命令提示符中,请使用copy代替cp。
|
||||
|
||||
```powershell
|
||||
cd sd-scripts
|
||||
.\venv\Scripts\activate
|
||||
pip install bitsandbytes==0.35.0
|
||||
|
||||
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
|
||||
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
|
||||
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py
|
||||
```
|
||||
|
||||
### 使用0.41.1
|
||||
|
||||
请从[此处](https://github.com/jllllll/bitsandbytes-windows-webui)或其他地方安装jllllll发布的Windows whl文件。
|
||||
|
||||
```powershell
|
||||
python -m pip install bitsandbytes==0.41.1 --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui
|
||||
```
|
||||
|
||||
|
||||
### 可选:使用Lion8bit
|
||||
|
||||
如果要使用Lion8bit,需要将`bitsandbytes`升级到0.38.0以上。首先卸载`bitsandbytes`,然后在Windows中安装适合Windows的whl文件,例如[这里的](https://github.com/jllllll/bitsandbytes-windows-webui)。例如:
|
||||
|
||||
```powershell
|
||||
pip install https://github.com/jllllll/bitsandbytes-windows-webui/raw/main/bitsandbytes-0.38.1-py3-none-any.whl
|
||||
```
|
||||
|
||||
升级时用`pip install .`更新这个仓库,并视情况升级其他包。
|
||||
|
||||
### 可选:使用PagedAdamW8bit和PagedLion8bit
|
||||
|
||||
如果要使用PagedAdamW8bit和PagedLion8bit,需要将`bitsandbytes`升级到0.39.0以上。首先卸载`bitsandbytes`,然后在Windows中安装适合Windows的whl文件,例如[这里的](https://github.com/jllllll/bitsandbytes-windows-webui)。例如:
|
||||
|
||||
```powershell
|
||||
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.39.1-py3-none-win_amd64.whl
|
||||
```
|
||||
|
||||
升级时用`pip install .`更新这个仓库,并视情况升级其他包。
|
||||
|
||||
## 升级
|
||||
|
||||
如果有新版本,可以用以下命令更新:
|
||||
|
||||
```powershell
|
||||
cd sd-scripts
|
||||
git pull
|
||||
.\venv\Scripts\activate
|
||||
pip install --use-pep517 --upgrade -r requirements.txt
|
||||
```
|
||||
|
||||
如果命令成功,就可以使用新版本了。
|
||||
|
||||
## 致谢
|
||||
|
||||
LoRA实现基于[cloneofsimo的仓库](https://github.com/cloneofsimo/lora)。表示感谢。
|
||||
|
||||
将Conv2d 3x3扩展到所有层起初由 [cloneofsimo](https://github.com/cloneofsimo/lora) 发布, [KohakuBlueleaf](https://github.com/KohakuBlueleaf/LoCon) 证明了其有效性。深深感谢 KohakuBlueleaf。
|
||||
|
||||
## 许可
|
||||
|
||||
脚本遵循 ASL 2.0 许可,但包含其他许可的代码部分(Diffusers和cloneofsimo的仓库)。
|
||||
|
||||
[Memory Efficient Attention Pytorch](https://github.com/lucidrains/memory-efficient-attention-pytorch): MIT
|
||||
|
||||
[bitsandbytes](https://github.com/TimDettmers/bitsandbytes): MIT
|
||||
|
||||
[BLIP](https://github.com/salesforce/BLIP): BSD-3-Clause
|
||||
|
|
@ -0,0 +1,289 @@
|
|||
<documents>
|
||||
<document index="1">
|
||||
<source>paste.txt</source>
|
||||
<document_content>For non-Japanese speakers: this README is provided only in Japanese in the current state. Sorry for inconvenience. We will provide English version in the near future.
|
||||
|
||||
`--dataset_config` 可以传递设置文件的说明。
|
||||
|
||||
## 概述
|
||||
|
||||
通过传递设置文件,用户可以进行更详细的设置。
|
||||
|
||||
* 可以设置多个数据集
|
||||
* 例如,可以为每个数据集设置 `resolution`,并混合它们进行训练。
|
||||
* 对于支持DreamBooth方法和fine tuning方法的训练方法,可以混合使用DreamBooth方式和fine tuning方式的数据集。
|
||||
* 可以为每个子集更改设置
|
||||
* 数据子集是指根据图像目录或元数据拆分的数据集。几个子集构成一个数据集。
|
||||
* 诸如 `keep_tokens` 和 `flip_aug` 之类的选项可以为每个子集设置。另一方面,诸如 `resolution` 和 `batch_size` 之类的选项可以为每个数据集设置,属于同一数据集的子集的值将是共享的。具体细节将在下文中说明。
|
||||
|
||||
设置文件的格式可以是JSON或TOML。考虑到描述的便利性,建议使用 [TOML](https://toml.io/zh/v1.0.0-rc.2)。下面将以TOML为前提进行说明。
|
||||
|
||||
下面是一个用TOML描述的设置文件的示例。
|
||||
|
||||
```toml
|
||||
[general]
|
||||
shuffle_caption = true
|
||||
caption_extension = '.txt'
|
||||
keep_tokens = 1
|
||||
|
||||
# 这是一个DreamBooth方式的数据集
|
||||
[[datasets]]
|
||||
resolution = 512
|
||||
batch_size = 4
|
||||
keep_tokens = 2
|
||||
|
||||
[[datasets.subsets]]
|
||||
image_dir = 'C:\hoge'
|
||||
class_tokens = 'hoge girl'
|
||||
# 此子集为keep_tokens = 2(使用属于的数据集的值)
|
||||
|
||||
[[datasets.subsets]]
|
||||
image_dir = 'C:\fuga'
|
||||
class_tokens = 'fuga boy'
|
||||
keep_tokens = 3
|
||||
|
||||
[[datasets.subsets]]
|
||||
is_reg = true
|
||||
image_dir = 'C:\reg'
|
||||
class_tokens = 'human'
|
||||
keep_tokens = 1
|
||||
|
||||
# 这是一个fine tuning方式的数据集
|
||||
[[datasets]]
|
||||
resolution = [768, 768]
|
||||
batch_size = 2
|
||||
|
||||
[[datasets.subsets]]
|
||||
image_dir = 'C:\piyo'
|
||||
metadata_file = 'C:\piyo\piyo_md.json'
|
||||
# 此子集为keep_tokens = 1(使用general的值)
|
||||
```
|
||||
|
||||
在此示例中,有3个目录作为DreamBooth方式的数据集以512x512(批量大小4)进行训练,有1个目录作为fine tuning方式的数据集以768x768(批量大小2)进行训练。
|
||||
|
||||
## 数据子集的设置
|
||||
|
||||
数据集和子集的相关设置分为几个可以注册的部分。
|
||||
|
||||
* `[general]`
|
||||
* 适用于所有数据集或所有子集的选项指定部分。
|
||||
* 如果在数据集设置或子集设置中存在同名选项,则会优先使用数据集或子集的设置。
|
||||
* `[[datasets]]`
|
||||
* `datasets`是数据集设置注册部分。这是指定适用于每个数据集的选项的部分。
|
||||
* 如果存在子集设置,则会优先使用子集设置。
|
||||
* `[[datasets.subsets]]`
|
||||
* `datasets.subsets`是子集设置的注册部分。这是指定适用于每个子集的选项的部分。
|
||||
|
||||
下面是先前示例中图像目录和注册部分的对应关系图。
|
||||
|
||||
```
|
||||
C:\
|
||||
├─ hoge -> [[datasets.subsets]] No.1 ┐ ┐
|
||||
├─ fuga -> [[datasets.subsets]] No.2 |-> [[datasets]] No.1 |-> [general]
|
||||
├─ reg -> [[datasets.subsets]] No.3 ┘ |
|
||||
└─ piyo -> [[datasets.subsets]] No.4 --> [[datasets]] No.2 ┘
|
||||
```
|
||||
|
||||
每个图像目录对应一个 `[[datasets.subsets]]`。然后1个或多个 `[[datasets.subsets]]` 构成一个 `[[datasets]]`。所有的 `[[datasets]]`、`[[datasets.subsets]]` 属于 `[general]`。
|
||||
|
||||
根据注册部分,可以指定不同的选项,但如果指定了同名选项,则下级注册部分中的值将被优先使用。建议参考先前 keep_tokens 选项的处理,这将有助于理解。
|
||||
|
||||
此外,可指定的选项会根据训练方法支持的技术而变化。
|
||||
|
||||
* 仅DreamBooth方式的选项
|
||||
* 仅fine tuning方式的选项
|
||||
* 当可以使用caption dropout技术时的选项
|
||||
|
||||
在可同时使用DreamBooth方法和fine tuning方法的训练方法中,它们可以一起使用。
|
||||
需要注意的是,判断是DreamBooth方式还是fine tuning方式是按数据集进行的,因此同一数据集中不能混合存在DreamBooth方式子集和fine tuning方式子集。
|
||||
也就是说,如果要混合使用这两种方式,则需要设置不同方式的子集属于不同的数据集。
|
||||
|
||||
从程序行为上看,如果存在 `metadata_file` 选项,则判断为fine tuning方式的子集。
|
||||
因此,对于属于同一数据集的子集,要么全部都具有 `metadata_file` 选项,要么全部都不具有 `metadata_file` 选项,这两种情况之一。
|
||||
|
||||
下面解释可用的选项。对于与命令行参数名称相同的选项,基本上省略解释。请参阅其他自述文件。
|
||||
|
||||
### 所有训练方法通用的选项
|
||||
|
||||
不管训练方法如何,都可以指定的选项。
|
||||
|
||||
#### 数据集的选项
|
||||
|
||||
与数据集设置相关的选项。不能在 `datasets.subsets` 中描述。
|
||||
|
||||
| 选项名称 | 设置示例 | `[general]` | `[[datasets]]` |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| `batch_size` | `1` | o | o |
|
||||
| `bucket_no_upscale` | `true` | o | o |
|
||||
| `bucket_reso_steps` | `64` | o | o |
|
||||
| `enable_bucket` | `true` | o | o |
|
||||
| `max_bucket_reso` | `1024` | o | o |
|
||||
| `min_bucket_reso` | `128` | o | o |
|
||||
| `resolution` | `256`, `[512, 512]` | o | o |
|
||||
|
||||
* `batch_size`
|
||||
* 等同于命令行参数 `--train_batch_size`。
|
||||
|
||||
这些设置对每个数据集是固定的。
|
||||
也就是说,属于该数据集的子集将共享这些设置。
|
||||
例如,如果要准备不同分辨率的数据集,可以像上面的示例那样将它们定义为单独的数据集,以便可以为它们单独设置不同的分辨率。
|
||||
|
||||
#### 子集的选项
|
||||
|
||||
与子集设置相关的选项。
|
||||
|
||||
| 选项名称 | 设置示例 | `[general]` | `[[datasets]]` | `[[dataset.subsets]]` |
|
||||
| ---- | ---- | ---- | ---- | ---- |
|
||||
| `color_aug` | `false` | o | o | o |
|
||||
| `face_crop_aug_range` | `[1.0, 3.0]` | o | o | o |
|
||||
| `flip_aug` | `true` | o | o | o |
|
||||
| `keep_tokens` | `2` | o | o | o |
|
||||
| `num_repeats` | `10` | o | o | o |
|
||||
| `random_crop` | `false` | o | o | o |
|
||||
| `shuffle_caption` | `true` | o | o | o |
|
||||
| `caption_prefix` | `“masterpiece, best quality, ”` | o | o | o |
|
||||
| `caption_suffix` | `“, from side”` | o | o | o |
|
||||
|
||||
* `num_repeats`
|
||||
* 指定子集中图像的重复次数。在fine tuning中相当于 `--dataset_repeats`,但 `num_repeats`
|
||||
在任何训练方法中都可以指定。
|
||||
* `caption_prefix`, `caption_suffix`
|
||||
* 指定在标题前后附加的字符串。包括这些字符串的状态下进行洗牌。当指定 `keep_tokens` 时请注意。
|
||||
|
||||
### 仅DreamBooth方式的选项
|
||||
|
||||
DreamBooth方式的选项仅存在于子集选项中。
|
||||
|
||||
#### 子集的选项
|
||||
|
||||
DreamBooth方式子集的设置相关选项。
|
||||
|
||||
| 选项名称 | 设置示例 | `[general]` | `[[datasets]]` | `[[dataset.subsets]]` |
|
||||
| ---- | ---- | ---- | ---- | ---- |
|
||||
| `image_dir` | `‘C:\hoge’` | - | - | o(必需) |
|
||||
| `caption_extension` | `".txt"` | o | o | o |
|
||||
| `class_tokens` | `“sks girl”` | - | - | o |
|
||||
| `is_reg` | `false` | - | - | o |
|
||||
|
||||
首先需要注意的是,`image_dir` 必须指定图像文件直接放置在路径下。与以往的 DreamBooth 方法不同,它与放置在子目录中的图像不兼容。另外,即使使用像 `5_cat` 这样的文件夹名,也不会反映图像的重复次数和类名。如果要单独设置这些,需要使用 `num_repeats` 和 `class_tokens` 明确指定。
|
||||
|
||||
* `image_dir`
|
||||
* 指定图像目录路径。必填选项。
|
||||
* 图像需要直接放置在目录下。
|
||||
* `class_tokens`
|
||||
* 设置类标记。
|
||||
* 仅在不存在与图像对应的 caption 文件时才在训练中使用。是否使用是按图像判断的。如果没有指定 `class_tokens` 且也找不到 caption 文件,将报错。
|
||||
* `is_reg`
|
||||
* 指定子集中的图像是否用于正则化。如果未指定,则视为 `false`,即视为非正则化图像。
|
||||
|
||||
### 仅fine tuning方式的选项
|
||||
|
||||
fine tuning方式的选项仅存在于子集选项中。
|
||||
|
||||
#### 子集的选项
|
||||
|
||||
fine tuning方式子集的设置相关选项。
|
||||
|
||||
| 选项名称 | 设置示例 | `[general]` | `[[datasets]]` | `[[dataset.subsets]]` |
|
||||
| ---- | ---- | ---- | ---- | ---- |
|
||||
| `image_dir` | `‘C:\hoge’` | - | - | o |
|
||||
| `metadata_file` | `'C:\piyo\piyo_md.json'` | - | - | o(必需) |
|
||||
|
||||
* `image_dir`
|
||||
* 指定图像目录路径。与 DreamBooth 方式不同,不是必填的,但建议设置。
|
||||
* 不需要指定的情况是在生成元数据时指定了 `--full_path`。
|
||||
* 图像需要直接放置在目录下。
|
||||
* `metadata_file`
|
||||
* 指定子集使用的元数据文件路径。必填选项。
|
||||
* 与命令行参数 `--in_json` 等效。
|
||||
* 由于子集需要按元数据文件指定,因此避免跨目录创建一个元数据文件。强烈建议为每个图像目录准备元数据文件,并将它们作为单独的子集进行注册。
|
||||
|
||||
### 当可使用caption dropout技术时可以指定的选项
|
||||
|
||||
当可以使用 caption dropout 技术时的选项仅存在于子集选项中。
|
||||
无论是 DreamBooth 方式还是 fine tuning 方式,只要训练方法支持 caption dropout,就可以指定。
|
||||
|
||||
#### 子集的选项
|
||||
|
||||
可使用 caption dropout 的子集的设置相关选项。
|
||||
|
||||
| 选项名称 | `[general]` | `[[datasets]]` | `[[dataset.subsets]]` |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| `caption_dropout_every_n_epochs` | o | o | o |
|
||||
| `caption_dropout_rate` | o | o | o |
|
||||
| `caption_tag_dropout_rate` | o | o | o |
|
||||
|
||||
## 存在重复子集时的行为
|
||||
|
||||
对于 DreamBooth 方式的数据集,如果其中 `image_dir` 相同的子集将被视为重复。
|
||||
对于 fine tuning 方式的数据集,如果其中 `metadata_file` 相同的子集将被视为重复。
|
||||
如果数据集中存在重复的子集,则从第二个开始将被忽略。
|
||||
|
||||
另一方面,如果它们属于不同的数据集,则不会被视为重复。
|
||||
例如,像下面这样在不同的数据集中放置相同的 `image_dir` 的子集,不会被视为重复。
|
||||
这在想要以不同分辨率训练相同图像的情况下很有用。
|
||||
|
||||
```toml
|
||||
# 即使存在于不同的数据集中,也不会被视为重复,两者都将用于训练
|
||||
|
||||
[[datasets]]
|
||||
resolution = 512
|
||||
|
||||
[[datasets.subsets]]
|
||||
image_dir = 'C:\hoge'
|
||||
|
||||
[[datasets]]
|
||||
resolution = 768
|
||||
|
||||
[[datasets.subsets]]
|
||||
image_dir = 'C:\hoge'
|
||||
```
|
||||
|
||||
## 与命令行参数的组合使用
|
||||
|
||||
设置文件中的某些选项与命令行参数选项的作用相同。
|
||||
|
||||
如果传递了设置文件,则会忽略下列命令行参数选项。
|
||||
|
||||
* `--train_data_dir`
|
||||
* `--reg_data_dir`
|
||||
* `--in_json`
|
||||
|
||||
如果同时在命令行参数和设置文件中指定了下列命令行参数选项,则设置文件中的值将优先于命令行参数的值。除非另有说明,否则它们是同名选项。
|
||||
|
||||
| 命令行参数选项 | 优先的设置文件选项 |
|
||||
| ---- | ---- |
|
||||
| `--bucket_no_upscale` | |
|
||||
| `--bucket_reso_steps` | |
|
||||
| `--caption_dropout_every_n_epochs` | |
|
||||
| `--caption_dropout_rate` | |
|
||||
| `--caption_extension` | |
|
||||
| `--caption_tag_dropout_rate` | |
|
||||
| `--color_aug` | |
|
||||
| `--dataset_repeats` | `num_repeats` |
|
||||
| `--enable_bucket` | |
|
||||
| `--face_crop_aug_range` | |
|
||||
| `--flip_aug` | |
|
||||
| `--keep_tokens` | |
|
||||
| `--min_bucket_reso` | |
|
||||
| `--random_crop`| |
|
||||
| `--resolution` | |
|
||||
| `--shuffle_caption` | |
|
||||
| `--train_batch_size` | `batch_size` |
|
||||
|
||||
## 错误指南
|
||||
|
||||
目前,正在使用外部库来检查设置文件是否正确,但维护不够充分,错误消息难以理解。
|
||||
计划在将来改进此问题。
|
||||
|
||||
作为次佳方案,列出一些常见错误和解决方法。
|
||||
如果确信设置正确但仍出现错误,或者完全不明白错误内容,可能是bug,请联系我们。
|
||||
|
||||
* `voluptuous.error.MultipleInvalid: required key not provided @ ...`:: 缺少必填选项的错误。可能忘记指定或错误输入了选项名。
|
||||
* `...`部分显示了错误发生位置。例如,`voluptuous.error.MultipleInvalid: required key not provided @ data['datasets'][0]['subsets'][0]['image_dir']` 意味着在第0个 `datasets` 的第0个 `subsets` 的设置中缺失 `image_dir`。
|
||||
* `voluptuous.error.MultipleInvalid: expected int for dictionary value @ ...`:值的格式错误。输入值的格式可能错误。可以参考本 README 中选项的「设置示例」部分。
|
||||
* `voluptuous.error.MultipleInvalid: extra keys not allowed @ ...`:存在不支持的选项名。可能错误输入或误输入了选项名。
|
||||
|
||||
</document_content>
|
||||
</document>
|
||||
</documents>
|
||||
Loading…
Reference in New Issue