app.py Failing for Python 3.9
I successfully installed Donut using a Python3.9 virtual environment.
/opt/homebrew/bin/python3.9 -m venv pyenv3.9
source pyenv3.9/bin/activate
pip install .I did need to install gradio separately because it is not listed in the dependencies of the setup.py file
However when I try and run the demo app it generates an error
% python app.py config.json: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 405/405 [00:00<00:00, 147kB/s] pytorch_model.bin: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.01G/1.01G [00:50<00:00, 20.0MB/s] tokenizer_config.json: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 535/535 [00:00<00:00, 366kB/s] sentencepiece.bpe.model: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.30M/1.30M [00:00<00:00, 1.34MB/s] added_tokens.json: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 229/229 [00:00<00:00, 338kB/s] special_tokens_map.json: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 478/478 [00:00<00:00, 472kB/s] tokenizer.json: 4.01MB [00:02, 1.36MB/s] Traceback (most recent call last): File "/Users/john/Projects/donut/app.py", line 49, in pretrained_model = DonutModel.from_pretrained(args.pretrained_path) File "/Users/john/Projects/donut/donut/model.py", line 597, in from_pretrained model = super(DonutModel, cls).from_pretrained(pretrained_model_name_or_path, revision="official", *model_args, **kwargs) File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/transformers/modeling_utils.py", line 277, in _wrapper return func(*args, **kwargs) File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/transformers/modeling_utils.py", line 5048, in from_pretrained ) = cls._load_pretrained_model( File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/transformers/modeling_utils.py", line 5468, in _load_pretrained_model _error_msgs, disk_offload_index = load_shard_file(args) File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/transformers/modeling_utils.py", line 843, in load_shard_file disk_offload_index = _load_state_dict_into_meta_model( File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 120, in decorate_context return func(*args, **kwargs) File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/transformers/modeling_utils.py", line 770, in _load_state_dict_into_meta_model _load_parameter_into_model(model, param_name, param.to(param_device)) File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/transformers/modeling_utils.py", line 667, in _load_parameter_into_model module.load_state_dict({param_type: tensor}, strict=False, assign=True) File "/Users/john/Projects/donut/pyenv3.9/lib/python3.9/site-packages/torch/nn/modules/module.py", line 2624, in load_state_dict raise RuntimeError( RuntimeError: Error(s) in loading state_dict for Linear: size mismatch for weight: copying a param with shape torch.Size([512, 1024]) from checkpoint, the shape in current model is torch.Size([256, 512]). model.safetensors: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 803M/803M [00:48<00:00, 16.6MB/s]
Source: clovaai/donut