diff --git a/README.md b/README.md index 3d444cf5..6e8bea4f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Trainng Stable Cascade Stage C +# Training Stable Cascade Stage C This is an experimental feature. There may be bugs. @@ -63,9 +63,9 @@ After that, run `finetune/prepare_buckets_latents.py` with the `--stable_cascade 学習中のサンプル画像生成は Perviewer で行われます。Previewer は EfficientNetEncoder の latents を画像に変換する簡易的な decoder です。 -SDXL の向けの一部のオプションは単に無視されるか、エラーになります(特に `--noise_offset` などのノイズ関係)。`--vae_batch_size` および `--no_half_vae` はそのまま EffcientNetEncoder に適用されます(mixed precision に `bf16` 指定時は `--no_half_vae` は不要のようです)。 +SDXL の向けの一部のオプションは単に無視されるか、エラーになります(特に `--noise_offset` などのノイズ関係)。`--vae_batch_size` および `--no_half_vae` はそのまま EfficientNetEncoder に適用されます(mixed precision に `bf16` 指定時は `--no_half_vae` は不要のようです)。 -latents および Text Encoder 出力キャッシュのためのオプションはそのまま使用できますが、EffcientNetEncoder は VAE よりもかなり軽量のため、メモリが特に厳しい場合以外はキャッシュを使用する必要はないかもしれません。 +latents および Text Encoder 出力キャッシュのためのオプションはそのまま使用できますが、EfficientNetEncoder は VAE よりもかなり軽量のため、メモリが特に厳しい場合以外はキャッシュを使用する必要はないかもしれません。 メモリ消費を抑えるための `--gradient_checkpointing` 、`--full_bf16`、`--full_fp16`(未テスト)はそのまま使用できます。 diff --git a/library/stable_cascade.py b/library/stable_cascade.py index 1912d29f..cbccaa9b 100644 --- a/library/stable_cascade.py +++ b/library/stable_cascade.py @@ -54,8 +54,8 @@ class VectorQuantize(nn.Module): def __init__(self, embedding_size, k, ema_decay=0.99, ema_loss=False): """ Takes an input of variable size (as long as the last dimension matches the embedding size). - Returns one tensor containing the nearest neigbour embeddings to each of the inputs, - with the same size as the input, vq and commitment components for the loss as a touple + Returns one tensor containing the nearest neighbour embeddings to each of the inputs, + with the same size as the input, vq and commitment components for the loss as a tuple in the second output and the indices of the quantized vectors in the third: quantized, (vq_loss, commit_loss), indices """ @@ -1282,10 +1282,10 @@ class BaseSchedule: return None def setup(self, *args, **kwargs): - raise NotImplementedError("this method needs to be overriden") + raise NotImplementedError("this method needs to be overridden") def schedule(self, *args, **kwargs): - raise NotImplementedError("this method needs to be overriden") + raise NotImplementedError("this method needs to be overridden") def __call__(self, t, *args, shift=1, **kwargs): if isinstance(t, torch.Tensor): @@ -1383,7 +1383,7 @@ class BaseNoiseCond: pass # this method is optional, override it if required def cond(self, logSNR): - raise NotImplementedError("this method needs to be overriden") + raise NotImplementedError("this method needs to be overridden") def __call__(self, logSNR): if self.shift != 1: