Ignore values which are not string in training.py (#3287)

This commit is contained in:
Foxtr0t1337 2023-07-26 06:00:25 +08:00 committed by GitHub
parent 031fe7225e
commit 85b3a26e25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -445,9 +445,9 @@ def do_train(lora_name: str, always_override: bool, save_steps: int, micro_batch
def generate_prompt(data_point: dict[str, str]):
for options, data in format_data.items():
if set(options.split(',')) == set(x[0] for x in data_point.items() if (x[1] is not None and len(x[1].strip()) > 0)):
if set(options.split(',')) == set(x[0] for x in data_point.items() if (type(x[1]) is str and len(x[1].strip()) > 0)):
for key, val in data_point.items():
if val is not None:
if type(val) is str:
data = data.replace(f'%{key}%', val)
return data
raise RuntimeError(f'Data-point "{data_point}" has no keyset match within format "{list(format_data.keys())}"')