()
| 961 | } |
| 962 | |
| 963 | def main() -> None: |
| 964 | dir_model = args.model |
| 965 | fname_out = args.outfile |
| 966 | model_size = args.model_size |
| 967 | |
| 968 | hparams = Model.load_hparams(dir_model) |
| 969 | |
| 970 | with torch.inference_mode(): |
| 971 | model_class = Model.from_model_architecture(hparams["architectures"][0]) |
| 972 | model_instance = model_class(dir_model, ftype_map[args.outtype], fname_out, args.bigendian, args.use_temp_file) |
| 973 | model_instance.set_params(model_size) |
| 974 | |
| 975 | logger.info("Set model parameters") |
| 976 | model_instance.set_gguf_parameters() |
| 977 | |
| 978 | logger.info("Set model tokenizer") |
| 979 | model_instance.set_vocab() |
| 980 | |
| 981 | if args.vocab_only: |
| 982 | logger.info(f"Exporting model vocab to '{fname_out}'") |
| 983 | model_instance.write_vocab() |
| 984 | else: |
| 985 | logger.info(f"Exporting model to '{fname_out}'") |
| 986 | model_instance.write() |
| 987 | |
| 988 | logger.info(f"Model successfully exported to '{fname_out}'") |
| 989 | |
| 990 | def read_gguf_file(gguf_file_path): |
| 991 | """ |
no test coverage detected