Spaces:
Runtime error
Runtime error
File size: 1,125 Bytes
c19ca42 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#!/usr/bin/env python
import os
import sys
import logging
import torch
import diffusers
import safetensors
import safetensors.torch as sf
log = logging.getLogger("sd")
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s | %(message)s')
def convert(model_id, output_name):
if os.path.exists(output_name):
log.error(f'Output already exists: {output_name}')
return
pipe = diffusers.DiffusionPipeline.from_pretrained(model_id)
metadata = { 'model_id': model_id }
model = {}
model['state_dict'] = vars(pipe)['_internal_dict']
for k in model['state_dict'].keys():
# print(k, getattr(pipe, k))
model[k] = getattr(pipe, k)
sf.save_model(model, output_name, metadata=metadata)
# log.info(f'Saved model: {output_name}')
if __name__ == "__main__":
sys.argv.pop(0)
if len(sys.argv) < 2:
log.info('Usage: hf-convert.py <model_id> <output_name>')
sys.exit(1)
log.debug(f'Packages: torch={torch.__version__} diffusers={diffusers.__version__} safetensors={safetensors.__version__}')
convert(sys.argv[0], sys.argv[1])
|