| 1864 | |
| 1865 | |
| 1866 | def setup_parser() -> argparse.ArgumentParser: |
| 1867 | parser = argparse.ArgumentParser() |
| 1868 | |
| 1869 | add_logging_arguments(parser) |
| 1870 | args_util.add_sd_models_arguments(parser) |
| 1871 | sai_model_spec.add_model_spec_arguments(parser) |
| 1872 | args_util.add_dataset_arguments(parser, True, True, True) |
| 1873 | args_util.add_training_arguments(parser, True) |
| 1874 | args_util.add_masked_loss_arguments(parser) |
| 1875 | deepspeed_utils.add_deepspeed_arguments(parser) |
| 1876 | args_util.add_optimizer_arguments(parser) |
| 1877 | config_util.add_config_arguments(parser) |
| 1878 | custom_train_functions.add_custom_train_arguments(parser) |
| 1879 | |
| 1880 | parser.add_argument( |
| 1881 | "--cpu_offload_checkpointing", |
| 1882 | action="store_true", |
| 1883 | help="[EXPERIMENTAL] enable offloading of tensors to CPU during checkpointing for U-Net or DiT, if supported" |
| 1884 | " / 勾配チェックポイント時にテンソルをCPUにオフロードする(U-NetまたはDiTのみ、サポートされている場合)", |
| 1885 | ) |
| 1886 | parser.add_argument( |
| 1887 | "--no_metadata", action="store_true", help="do not save metadata in output model / メタデータを出力先モデルに保存しない" |
| 1888 | ) |
| 1889 | parser.add_argument( |
| 1890 | "--save_model_as", |
| 1891 | type=str, |
| 1892 | default="safetensors", |
| 1893 | choices=[None, "ckpt", "pt", "safetensors"], |
| 1894 | help="format to save the model (default is .safetensors) / モデル保存時の形式(デフォルトはsafetensors)", |
| 1895 | ) |
| 1896 | |
| 1897 | parser.add_argument("--unet_lr", type=float, default=None, help="learning rate for U-Net / U-Netの学習率") |
| 1898 | parser.add_argument( |
| 1899 | "--text_encoder_lr", |
| 1900 | type=float, |
| 1901 | default=None, |
| 1902 | nargs="*", |
| 1903 | help="learning rate for Text Encoder, can be multiple / Text Encoderの学習率、複数指定可能", |
| 1904 | ) |
| 1905 | parser.add_argument( |
| 1906 | "--fp8_base_unet", |
| 1907 | action="store_true", |
| 1908 | help="use fp8 for U-Net (or DiT), Text Encoder is fp16 or bf16" |
| 1909 | " / U-Net(またはDiT)にfp8を使用する。Text Encoderはfp16またはbf16", |
| 1910 | ) |
| 1911 | |
| 1912 | parser.add_argument( |
| 1913 | "--network_weights", type=str, default=None, help="pretrained weights for network / 学習するネットワークの初期重み" |
| 1914 | ) |
| 1915 | parser.add_argument( |
| 1916 | "--network_module", type=str, default=None, help="network module to train / 学習対象のネットワークのモジュール" |
| 1917 | ) |
| 1918 | parser.add_argument( |
| 1919 | "--network_dim", |
| 1920 | type=int, |
| 1921 | default=None, |
| 1922 | help="network dimensions (depends on each network) / モジュールの次元数(ネットワークにより定義は異なります)", |
| 1923 | ) |