Download train/scripts/check_inputs.py from yuhos16/SkinGPT-R1: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/yuhos16/SkinGPT-R1/resolve/main/train/scripts/check_inputs.py
- Command line
-
hf download hf://yuhos16/SkinGPT-R1/train/scripts/check_inputs.py
-
curl -L -o check_inputs.py https://huggingface.co/yuhos16/SkinGPT-R1/resolve/main/train/scripts/check_inputs.py
1.62 kB
| """Check external assets required by the SFT launcher, without loading a model.""" | |
| import json | |
| import os | |
| from pathlib import Path | |
| root = Path(__file__).resolve().parents[1] | |
| model = Path(os.environ.get('SKINGPT_MODEL_DIR', root / 'external/base_model')) | |
| dataset = Path(os.environ.get('SKINGPT_DATASET_DIR', root / 'data')) | |
| images = Path(os.environ.get('SKINGPT_IMAGE_ROOT', root / 'external/images')) | |
| features = Path(os.environ.get('SKINGPT_FEATURE_ROOT', root / 'external/teacher_features')) | |
| errors = [] | |
| for label, path in [('base model config', model / 'config.json'), | |
| ('dataset registry', dataset / 'dataset_info.json')]: | |
| if not path.is_file(): | |
| errors.append(f'Missing {label}: {path}') | |
| for label, path in [('images', images), ('teacher features', features)]: | |
| if not path.is_dir(): | |
| errors.append(f'Missing {label} directory: {path}') | |
| if (dataset / 'dataset_info.json').is_file(): | |
| entries = json.loads((dataset / 'dataset_info.json').read_text()) | |
| expected = json.loads((root / 'data/dataset_info.json').read_text()) | |
| for name, registration in expected.items(): | |
| path = dataset / registration['file_name'] | |
| if not path.is_file(): | |
| errors.append(f'Missing training file: {path}') | |
| if entries.get(name) != registration: | |
| errors.append(f'Dataset registration differs from the registered SFT mapping: {name}') | |
| if errors: | |
| raise SystemExit('External training assets must be supplied:\n- ' + '\n- '.join(errors)) | |
| print('External asset locations are present. This check does not validate every image, feature, or model weight.') | |