LLaVA-Phi3 invalid JSON file.
- Dominant language
- Python
- Stars
- 5.2k
- Forks
- 448
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 26
Description
hi, can I knew the exact syntax, mine is still error:
```python
model = dict(
freeze_llm=True,
freeze_visual_encoder=True,
llm=dict(
attn_implementation='eager',
pretrained_model_name_or_path='/home/oem/xtuner/pretrained/phi-3/',
type='transformers.AutoModelForCausalLM.from_pretrained',
trust_remote_code=True),
pretrained_pth='/home/oem/xtuner/pretrained/phi-3/',
type='xtuner.model.LLaVAModel',
visual_encoder=dict(
type=CLIPVisionModel.from_pretrained,
pretrained_model_name_or_path=visual_encoder_name_or_path))
```
it said I have no config.json
```bash
Traceback (most recent call last):
File "/home/oem/xtuner/xtuner/tools/train.py", line 360, in
main()
File "/home/oem/xtuner/xtuner/tools/train.py", line 356, in main
runner.train()
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/runner/_flexible_runner.py", line 1182, in train
self.strategy.prepare(
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/_strategy/deepspeed.py", line 381, in prepare
model = self.build_model(model)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/_strategy/base.py", line 306, in build_model
model = MODELS.build(model)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/registry/registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/registry/build_functions.py", line 232, in build_model_from_cfg
return build_from_cfg(cfg, registry, default_args)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/registry/build_functions.py", line 121, in build_from_cfg
obj = obj_cls(**args) # type: ignore
File "/home/oem/xtuner/xtuner/model/llava.py", line 61, in __init__
llm = self._dispatch_lm_model_cfg(llm, max_position_embeddings)
File "/home/oem/xtuner/xtuner/model/llava.py", line 269, in _dispatch_lm_model_cfg
llm_cfg = AutoConfig.from_pretrained(
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/models/auto/configuration_auto.py", line 965, in from_pretrained
config_dict, unused_kwargs = PretrainedConfig.get_config_dict(pretrained_model_name_or_path, **kwargs)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/configuration_utils.py", line 632, in get_config_dict
config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/configuration_utils.py", line 689, in _get_config_dict
resolved_config_file = cached_file(
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/utils/hub.py", line 373, in cached_file
raise EnvironmentError(
OSError: /home/oem/xtuner/pretrained/phi-3/ does not appear to have a file named config.json. Checkout 'https://huggingface.co//home/oem/xtuner/pretrained/phi-3//tree/None' for available files.
```
even when I specified the .pth it still give me error:
```python
model = dict(
freeze_llm=True,
freeze_visual_encoder=True,
llm=dict(
attn_implementation='eager',
pretrained_model_name_or_path='/home/oem/xtuner/pretrained/phi-3/model.pth',
type='transformers.AutoModelForCausalLM.from_pretrained',
trust_remote_code=True),
pretrained_pth='/home/oem/xtuner/pretrained/phi-3/model.pth',
type='xtuner.model.LLaVAModel',
visual_encoder=dict(
type=CLIPVisionModel.from_pretrained,
pretrained_model_name_or_path=visual_encoder_name_or_path))
```
```bash
Traceback (most recent call last):
File "/home/oem/xtuner/xtuner/tools/train.py", line 360, in
main()
File "/home/oem/xtuner/xtuner/tools/train.py", line 356, in main
runner.train()
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/runner/_flexible_runner.py", line 1182, in train
self.strategy.prepare(
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/_strategy/deepspeed.py", line 381, in prepare
model = self.build_model(model)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/_strategy/base.py", line 306, in build_model
model = MODELS.build(model)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/registry/registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/registry/build_functions.py", line 232, in build_model_from_cfg
return build_from_cfg(cfg, registry, default_args)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/mmengine/registry/build_functions.py", line 121, in build_from_cfg
obj = obj_cls(**args) # type: ignore
File "/home/oem/xtuner/xtuner/model/llava.py", line 61, in __init__
llm = self._dispatch_lm_model_cfg(llm, max_position_embeddings)
File "/home/oem/xtuner/xtuner/model/llava.py", line 269, in _dispatch_lm_model_cfg
llm_cfg = AutoConfig.from_pretrained(
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/models/auto/configuration_auto.py", line 965, in from_pretrained
config_dict, unused_kwargs = PretrainedConfig.get_config_dict(pretrained_model_name_or_path, **kwargs)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/configuration_utils.py", line 632, in get_config_dict
config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/configuration_utils.py", line 726, in _get_config_dict
raise EnvironmentError(
OSError: It looks like the config file at '/home/oem/xtuner/pretrained/phi-3/model.pth' is not a valid JSON file.
Traceback (most recent call last):
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/configuration_utils.py", line 722, in _get_config_dict
config_dict = cls._dict_from_json_file(resolved_config_file)
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/site-packages/transformers/configuration_utils.py", line 825, in _dict_from_json_file
text = reader.read()
File "/home/oem/anaconda3/envs/xtuner-env/lib/python3.10/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 64: invalid start byte
```
Contributor guide
Research direction
Read xtuner/model/llava.py at _dispatch_lm_model_cfg and the training entry point in xtuner/tools/train.py, then compare the supplied paths with the model files expected by Transformers. Reproduce the configuration failure and establish whether the issue requires documentation or a code change so a valid LLaVA-Phi3 model setup no longer produces the reported errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100