Format import using isort --profile black --gitignore --lai 2 .
This commit is contained in:
@@ -11,6 +11,7 @@ import yaml
|
|||||||
|
|
||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
|
|
||||||
|
|
||||||
# If not cuda available, set possible devices to cpu
|
# If not cuda available, set possible devices to cpu
|
||||||
cuda_available = torch.cuda.is_available()
|
cuda_available = torch.cuda.is_available()
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from style_bert_vits2.models.hyper_parameters import HyperParametersData
|
|||||||
from style_bert_vits2.models.utils import load_filepaths_and_text, load_wav_to_torch
|
from style_bert_vits2.models.utils import load_filepaths_and_text, load_wav_to_torch
|
||||||
from style_bert_vits2.nlp import cleaned_text_to_sequence
|
from style_bert_vits2.nlp import cleaned_text_to_sequence
|
||||||
|
|
||||||
|
|
||||||
"""Multi speaker version"""
|
"""Multi speaker version"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
|
import json
|
||||||
import os
|
import os
|
||||||
from style_bert_vits2.constants import DEFAULT_STYLE
|
|
||||||
from style_bert_vits2.logging import logger
|
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import json
|
|
||||||
|
from style_bert_vits2.constants import DEFAULT_STYLE
|
||||||
|
from style_bert_vits2.logging import logger
|
||||||
|
|
||||||
|
|
||||||
def set_style_config(json_path, output_path):
|
def set_style_config(json_path, output_path):
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
|
import warnings
|
||||||
|
|
||||||
import torch
|
import torch
|
||||||
import torch.utils.data
|
import torch.utils.data
|
||||||
from librosa.filters import mel as librosa_mel_fn
|
from librosa.filters import mel as librosa_mel_fn
|
||||||
import warnings
|
|
||||||
|
|
||||||
# warnings.simplefilter(action='ignore', category=FutureWarning)
|
# warnings.simplefilter(action='ignore', category=FutureWarning)
|
||||||
warnings.filterwarnings(action="ignore")
|
warnings.filterwarnings(action="ignore")
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import argparse
|
import argparse
|
||||||
from webui.train import preprocess_all
|
|
||||||
from multiprocessing import cpu_count
|
from multiprocessing import cpu_count
|
||||||
|
|
||||||
|
from webui.train import preprocess_all
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ from style_bert_vits2.logging import logger
|
|||||||
from style_bert_vits2.nlp import clean_text
|
from style_bert_vits2.nlp import clean_text
|
||||||
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
||||||
|
|
||||||
|
|
||||||
preprocess_text_config = config.preprocess_text_config
|
preprocess_text_config = config.preprocess_text_config
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,10 @@ import pyloudnorm as pyln
|
|||||||
import soundfile
|
import soundfile
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
from config import config
|
||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
||||||
from config import config
|
|
||||||
|
|
||||||
DEFAULT_BLOCK_SIZE: float = 0.400 # seconds
|
DEFAULT_BLOCK_SIZE: float = 0.400 # seconds
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ from style_bert_vits2.nlp import bert_models
|
|||||||
from style_bert_vits2.nlp.japanese import pyopenjtalk_worker as pyopenjtalk
|
from style_bert_vits2.nlp.japanese import pyopenjtalk_worker as pyopenjtalk
|
||||||
from style_bert_vits2.tts_model import TTSModel, TTSModelHolder
|
from style_bert_vits2.tts_model import TTSModel, TTSModelHolder
|
||||||
|
|
||||||
|
|
||||||
ln = config.server_config.language
|
ln = config.server_config.language
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1
slice.py
1
slice.py
@@ -11,6 +11,7 @@ from tqdm import tqdm
|
|||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
||||||
|
|
||||||
|
|
||||||
vad_model, utils = torch.hub.load(
|
vad_model, utils = torch.hub.load(
|
||||||
repo_or_dir="snakers4/silero-vad",
|
repo_or_dir="snakers4/silero-vad",
|
||||||
model="silero_vad",
|
model="silero_vad",
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from config import config
|
|||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
from style_bert_vits2.tts_model import TTSModel
|
from style_bert_vits2.tts_model import TTSModel
|
||||||
|
|
||||||
|
|
||||||
warnings.filterwarnings("ignore")
|
warnings.filterwarnings("ignore")
|
||||||
|
|
||||||
mos_result_dir = Path("mos_results")
|
mos_result_dir = Path("mos_results")
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
import math
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
|
|
||||||
import math
|
|
||||||
import torch
|
import torch
|
||||||
from torch import nn
|
from torch import nn
|
||||||
from torch.nn import functional as F
|
from torch.nn import functional as F
|
||||||
|
|||||||
@@ -3,9 +3,10 @@
|
|||||||
コードと完全に一致している保証はない。あくまで参考程度とすること。
|
コードと完全に一致している保証はない。あくまで参考程度とすること。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from typing import Any, Optional, Union
|
||||||
|
|
||||||
import torch
|
import torch
|
||||||
from torch.nn import functional as F
|
from torch.nn import functional as F
|
||||||
from typing import Any, Optional, Union
|
|
||||||
|
|
||||||
|
|
||||||
def init_weights(m: torch.nn.Module, mean: float = 0.0, std: float = 0.01) -> None:
|
def init_weights(m: torch.nn.Module, mean: float = 0.0, std: float = 0.01) -> None:
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
from typing import Any, cast, Optional, Union
|
from typing import Any, Optional, Union, cast
|
||||||
|
|
||||||
import torch
|
import torch
|
||||||
from numpy.typing import NDArray
|
from numpy.typing import NDArray
|
||||||
|
|
||||||
from style_bert_vits2.constants import Languages
|
from style_bert_vits2.constants import Languages
|
||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
from style_bert_vits2.models import commons
|
from style_bert_vits2.models import commons, utils
|
||||||
from style_bert_vits2.models import utils
|
|
||||||
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
||||||
from style_bert_vits2.models.models import SynthesizerTrn
|
from style_bert_vits2.models.models import SynthesizerTrn
|
||||||
from style_bert_vits2.models.models_jp_extra import (
|
from style_bert_vits2.models.models_jp_extra import (
|
||||||
|
|||||||
@@ -7,10 +7,7 @@ from torch.nn import Conv1d, Conv2d, ConvTranspose1d
|
|||||||
from torch.nn import functional as F
|
from torch.nn import functional as F
|
||||||
from torch.nn.utils import remove_weight_norm, spectral_norm, weight_norm
|
from torch.nn.utils import remove_weight_norm, spectral_norm, weight_norm
|
||||||
|
|
||||||
from style_bert_vits2.models import attentions
|
from style_bert_vits2.models import attentions, commons, modules, monotonic_alignment
|
||||||
from style_bert_vits2.models import commons
|
|
||||||
from style_bert_vits2.models import modules
|
|
||||||
from style_bert_vits2.models import monotonic_alignment
|
|
||||||
from style_bert_vits2.nlp.symbols import NUM_LANGUAGES, NUM_TONES, SYMBOLS
|
from style_bert_vits2.nlp.symbols import NUM_LANGUAGES, NUM_TONES, SYMBOLS
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,7 @@ from torch.nn import Conv1d, Conv2d, ConvTranspose1d
|
|||||||
from torch.nn import functional as F
|
from torch.nn import functional as F
|
||||||
from torch.nn.utils import remove_weight_norm, spectral_norm, weight_norm
|
from torch.nn.utils import remove_weight_norm, spectral_norm, weight_norm
|
||||||
|
|
||||||
from style_bert_vits2.models import attentions
|
from style_bert_vits2.models import attentions, commons, modules, monotonic_alignment
|
||||||
from style_bert_vits2.models import commons
|
|
||||||
from style_bert_vits2.models import modules
|
|
||||||
from style_bert_vits2.models import monotonic_alignment
|
|
||||||
from style_bert_vits2.nlp.symbols import NUM_LANGUAGES, NUM_TONES, SYMBOLS
|
from style_bert_vits2.nlp.symbols import NUM_LANGUAGES, NUM_TONES, SYMBOLS
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,11 @@
|
|||||||
コードと完全に一致している保証はない。あくまで参考程度とすること。
|
コードと完全に一致している保証はない。あくまで参考程度とすること。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
import numba
|
import numba
|
||||||
import torch
|
import torch
|
||||||
from numpy import int32, float32, zeros
|
from numpy import float32, int32, zeros
|
||||||
from typing import Any
|
|
||||||
|
|
||||||
|
|
||||||
def maximum_path(neg_cent: torch.Tensor, mask: torch.Tensor) -> torch.Tensor:
|
def maximum_path(neg_cent: torch.Tensor, mask: torch.Tensor) -> torch.Tensor:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import os
|
|||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any, Optional, Union, TYPE_CHECKING
|
from typing import TYPE_CHECKING, Any, Optional, Union
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import torch
|
import torch
|
||||||
@@ -15,6 +15,7 @@ from style_bert_vits2.logging import logger
|
|||||||
from style_bert_vits2.models.utils import checkpoints # type: ignore
|
from style_bert_vits2.models.utils import checkpoints # type: ignore
|
||||||
from style_bert_vits2.models.utils import safetensors # type: ignore
|
from style_bert_vits2.models.utils import safetensors # type: ignore
|
||||||
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
# tensorboard はライブラリとしてインストールされている場合は依存関係に含まれないため、型チェック時のみインポートする
|
# tensorboard はライブラリとしてインストールされている場合は依存関係に含まれないため、型チェック時のみインポートする
|
||||||
from torch.utils.tensorboard import SummaryWriter
|
from torch.utils.tensorboard import SummaryWriter
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Optional, TYPE_CHECKING
|
from typing import TYPE_CHECKING, Optional
|
||||||
|
|
||||||
from style_bert_vits2.constants import Languages
|
from style_bert_vits2.constants import Languages
|
||||||
from style_bert_vits2.nlp.symbols import (
|
from style_bert_vits2.nlp.symbols import (
|
||||||
@@ -7,6 +7,7 @@ from style_bert_vits2.nlp.symbols import (
|
|||||||
SYMBOLS,
|
SYMBOLS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# __init__.py は配下のモジュールをインポートした時点で実行される
|
# __init__.py は配下のモジュールをインポートした時点で実行される
|
||||||
# PyTorch のインポートは重いので、型チェック時以外はインポートしない
|
# PyTorch のインポートは重いので、型チェック時以外はインポートしない
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@@ -99,10 +100,10 @@ def cleaned_text_to_sequence(
|
|||||||
cleaned_phones: list[str], tones: list[int], language: Languages
|
cleaned_phones: list[str], tones: list[int], language: Languages
|
||||||
) -> tuple[list[int], list[int], list[int]]:
|
) -> tuple[list[int], list[int], list[int]]:
|
||||||
"""
|
"""
|
||||||
テキスト文字列を、テキスト内の記号に対応する一連の ID に変換する
|
音素リスト・アクセントリスト・言語を、テキスト内の対応する ID に変換する
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
cleaned_phones (list[str]): clean_text() でクリーニングされた音素のリスト (?)
|
cleaned_phones (list[str]): clean_text() でクリーニングされた音素のリスト
|
||||||
tones (list[int]): 各音素のアクセント
|
tones (list[int]): 各音素のアクセント
|
||||||
language (Languages): テキストの言語
|
language (Languages): テキストの言語
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ Style-Bert-VITS2 の学習・推論に必要な各言語ごとの BERT モデル
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import gc
|
import gc
|
||||||
from typing import cast, Optional, Union
|
from typing import Optional, Union, cast
|
||||||
|
|
||||||
import torch
|
import torch
|
||||||
from transformers import (
|
from transformers import (
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import re
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import jieba.posseg as psg
|
import jieba.posseg as psg
|
||||||
from pypinyin import lazy_pinyin, Style
|
from pypinyin import Style, lazy_pinyin
|
||||||
|
|
||||||
from style_bert_vits2.nlp.chinese.tone_sandhi import ToneSandhi
|
from style_bert_vits2.nlp.chinese.tone_sandhi import ToneSandhi
|
||||||
from style_bert_vits2.nlp.symbols import PUNCTUATIONS
|
from style_bert_vits2.nlp.symbols import PUNCTUATIONS
|
||||||
|
|||||||
@@ -13,8 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import jieba
|
import jieba
|
||||||
from pypinyin import lazy_pinyin
|
from pypinyin import Style, lazy_pinyin
|
||||||
from pypinyin import Style
|
|
||||||
|
|
||||||
|
|
||||||
class ToneSandhi:
|
class ToneSandhi:
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import re
|
import re
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
|
||||||
from num2words import num2words
|
from num2words import num2words
|
||||||
|
|
||||||
from style_bert_vits2.nlp.symbols import PUNCTUATIONS
|
from style_bert_vits2.nlp.symbols import PUNCTUATIONS
|
||||||
|
|||||||
@@ -17,12 +17,13 @@ from fastapi import HTTPException
|
|||||||
|
|
||||||
from style_bert_vits2.constants import DEFAULT_USER_DICT_DIR
|
from style_bert_vits2.constants import DEFAULT_USER_DICT_DIR
|
||||||
from style_bert_vits2.nlp.japanese import pyopenjtalk_worker as pyopenjtalk
|
from style_bert_vits2.nlp.japanese import pyopenjtalk_worker as pyopenjtalk
|
||||||
from style_bert_vits2.nlp.japanese.user_dict.word_model import UserDictWord, WordTypes
|
|
||||||
from style_bert_vits2.nlp.japanese.user_dict.part_of_speech_data import (
|
from style_bert_vits2.nlp.japanese.user_dict.part_of_speech_data import (
|
||||||
MAX_PRIORITY,
|
MAX_PRIORITY,
|
||||||
MIN_PRIORITY,
|
MIN_PRIORITY,
|
||||||
part_of_speech_data,
|
part_of_speech_data,
|
||||||
)
|
)
|
||||||
|
from style_bert_vits2.nlp.japanese.user_dict.word_model import UserDictWord, WordTypes
|
||||||
|
|
||||||
|
|
||||||
# root_dir = engine_root()
|
# root_dir = engine_root()
|
||||||
# save_dir = get_save_dir()
|
# save_dir = get_save_dir()
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from style_bert_vits2.nlp.japanese.user_dict.word_model import (
|
|||||||
WordTypes,
|
WordTypes,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
MIN_PRIORITY = USER_DICT_MIN_PRIORITY
|
MIN_PRIORITY = USER_DICT_MIN_PRIORITY
|
||||||
MAX_PRIORITY = USER_DICT_MAX_PRIORITY
|
MAX_PRIORITY = USER_DICT_MAX_PRIORITY
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ from typing import List, Optional
|
|||||||
|
|
||||||
from pydantic import BaseModel, Field, validator
|
from pydantic import BaseModel, Field, validator
|
||||||
|
|
||||||
|
|
||||||
USER_DICT_MIN_PRIORITY = 0
|
USER_DICT_MIN_PRIORITY = 0
|
||||||
USER_DICT_MAX_PRIORITY = 10
|
USER_DICT_MAX_PRIORITY = 10
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import argparse
|
import argparse
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
|
||||||
import warnings
|
import warnings
|
||||||
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import torch
|
import torch
|
||||||
@@ -11,9 +11,11 @@ from style_bert_vits2.logging import logger
|
|||||||
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
||||||
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
||||||
|
|
||||||
|
|
||||||
warnings.filterwarnings("ignore", category=UserWarning)
|
warnings.filterwarnings("ignore", category=UserWarning)
|
||||||
from pyannote.audio import Inference, Model
|
from pyannote.audio import Inference, Model
|
||||||
|
|
||||||
|
|
||||||
model = Model.from_pretrained("pyannote/wespeaker-voxceleb-resnet34-LM")
|
model = Model.from_pretrained("pyannote/wespeaker-voxceleb-resnet34-LM")
|
||||||
inference = Inference(model, window="whole")
|
inference = Inference(model, window="whole")
|
||||||
device = torch.device(config.style_gen_config.device)
|
device = torch.device(config.style_gen_config.device)
|
||||||
|
|||||||
@@ -24,8 +24,7 @@ from data_utils import (
|
|||||||
from losses import discriminator_loss, feature_loss, generator_loss, kl_loss
|
from losses import discriminator_loss, feature_loss, generator_loss, kl_loss
|
||||||
from mel_processing import mel_spectrogram_torch, spec_to_mel_torch
|
from mel_processing import mel_spectrogram_torch, spec_to_mel_torch
|
||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
from style_bert_vits2.models import commons
|
from style_bert_vits2.models import commons, utils
|
||||||
from style_bert_vits2.models import utils
|
|
||||||
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
||||||
from style_bert_vits2.models.models import (
|
from style_bert_vits2.models.models import (
|
||||||
DurationDiscriminator,
|
DurationDiscriminator,
|
||||||
@@ -35,6 +34,7 @@ from style_bert_vits2.models.models import (
|
|||||||
from style_bert_vits2.nlp.symbols import SYMBOLS
|
from style_bert_vits2.nlp.symbols import SYMBOLS
|
||||||
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
||||||
|
|
||||||
|
|
||||||
torch.backends.cuda.matmul.allow_tf32 = True
|
torch.backends.cuda.matmul.allow_tf32 = True
|
||||||
torch.backends.cudnn.allow_tf32 = (
|
torch.backends.cudnn.allow_tf32 = (
|
||||||
True # If encontered training problem,please try to disable TF32.
|
True # If encontered training problem,please try to disable TF32.
|
||||||
|
|||||||
@@ -24,8 +24,7 @@ from data_utils import (
|
|||||||
from losses import WavLMLoss, discriminator_loss, feature_loss, generator_loss, kl_loss
|
from losses import WavLMLoss, discriminator_loss, feature_loss, generator_loss, kl_loss
|
||||||
from mel_processing import mel_spectrogram_torch, spec_to_mel_torch
|
from mel_processing import mel_spectrogram_torch, spec_to_mel_torch
|
||||||
from style_bert_vits2.logging import logger
|
from style_bert_vits2.logging import logger
|
||||||
from style_bert_vits2.models import commons
|
from style_bert_vits2.models import commons, utils
|
||||||
from style_bert_vits2.models import utils
|
|
||||||
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
from style_bert_vits2.models.hyper_parameters import HyperParameters
|
||||||
from style_bert_vits2.models.models_jp_extra import (
|
from style_bert_vits2.models.models_jp_extra import (
|
||||||
DurationDiscriminator,
|
DurationDiscriminator,
|
||||||
@@ -36,6 +35,7 @@ from style_bert_vits2.models.models_jp_extra import (
|
|||||||
from style_bert_vits2.nlp.symbols import SYMBOLS
|
from style_bert_vits2.nlp.symbols import SYMBOLS
|
||||||
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
from style_bert_vits2.utils.stdout_wrapper import SAFE_STDOUT
|
||||||
|
|
||||||
|
|
||||||
torch.backends.cuda.matmul.allow_tf32 = True
|
torch.backends.cuda.matmul.allow_tf32 = True
|
||||||
torch.backends.cudnn.allow_tf32 = (
|
torch.backends.cudnn.allow_tf32 = (
|
||||||
True # If encontered training problem,please try to disable TF32.
|
True # If encontered training problem,please try to disable TF32.
|
||||||
|
|||||||
Reference in New Issue
Block a user