Some checks failed
Self-hosted runner (nightly-past-ci-caller) / Get number (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.11 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.10 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.9 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.8 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.7 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.6 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.5 (push) Has been cancelled
Self-hosted runner (benchmark) / Benchmark (aws-g5-4xlarge-cache) (push) Has been cancelled
Build documentation / build (push) Has been cancelled
Build documentation / build_other_lang (push) Has been cancelled
CodeQL Security Analysis / CodeQL Analysis (push) Has been cancelled
New model PR merged notification / Notify new model (push) Has been cancelled
PR CI / pr-ci (push) Has been cancelled
Slow tests on important models (on Push - A10) / Get all modified files (push) Has been cancelled
Secret Leaks / trufflehog (push) Has been cancelled
Update Transformers metadata / build_and_package (push) Has been cancelled
Slow tests on important models (on Push - A10) / Model CI (push) Has been cancelled
Check Tiny Models / Check tiny models (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Model CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Pipeline CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Example CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / DeepSpeed CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Trainer/FSDP CI (push) Has been cancelled
Nvidia CI - Flash Attn / Setup (push) Has been cancelled
Nvidia CI - Flash Attn / Model CI (push) Has been cancelled
Nvidia CI / Setup (push) Has been cancelled
Nvidia CI / Model CI (push) Has been cancelled
Nvidia CI / Torch pipeline CI (push) Has been cancelled
Nvidia CI / Example CI (push) Has been cancelled
Nvidia CI / Trainer/FSDP CI (push) Has been cancelled
Nvidia CI / DeepSpeed CI (push) Has been cancelled
Nvidia CI / Quantization CI (push) Has been cancelled
Nvidia CI / Kernels CI (push) Has been cancelled
Doctests / Setup (push) Has been cancelled
Doctests / Call doctest jobs (push) Has been cancelled
Doctests / Send results to webhook (push) Has been cancelled
Extras Smoke Test / Get supported Python versions (push) Has been cancelled
Extras Smoke Test / Test extras on Python ${{ matrix.python-version }} (push) Has been cancelled
Extras Smoke Test / Check Slack token availability (push) Has been cancelled
Extras Smoke Test / Notify failures to Slack (push) Has been cancelled
Self-hosted runner (AMD scheduled CI caller) / Trigger Scheduled AMD CI (push) Has been cancelled
Stale Bot / Close Stale Issues (push) Has been cancelled
71 lines
2.3 KiB
Python
71 lines
2.3 KiB
Python
import tempfile
|
|
import unittest
|
|
|
|
from transformers import LlavaConfig
|
|
|
|
|
|
class LlavaConfigTest(unittest.TestCase):
|
|
def test_llava_reload(self):
|
|
"""
|
|
Simple test for reloading default llava configs
|
|
"""
|
|
with tempfile.TemporaryDirectory() as tmp_dir:
|
|
config = LlavaConfig()
|
|
config.save_pretrained(tmp_dir)
|
|
|
|
reloaded = LlavaConfig.from_pretrained(tmp_dir)
|
|
assert config.to_dict() == reloaded.to_dict()
|
|
|
|
def test_pixtral_reload(self):
|
|
"""
|
|
Simple test for reloading pixtral configs
|
|
"""
|
|
vision_config = {
|
|
"model_type": "pixtral",
|
|
"head_dim": 64,
|
|
"hidden_act": "silu",
|
|
"image_size": 1024,
|
|
"is_composition": True,
|
|
"patch_size": 16,
|
|
"rope_theta": 10000.0,
|
|
"tie_word_embeddings": False,
|
|
}
|
|
|
|
text_config = {
|
|
"model_type": "mistral",
|
|
"hidden_size": 5120,
|
|
"head_dim": 128,
|
|
"num_attention_heads": 32,
|
|
"intermediate_size": 14336,
|
|
"is_composition": True,
|
|
"max_position_embeddings": 1024000,
|
|
"num_hidden_layers": 40,
|
|
"num_key_value_heads": 8,
|
|
"rms_norm_eps": 1e-05,
|
|
"rope_theta": 1000000000.0,
|
|
"sliding_window": None,
|
|
"vocab_size": 131072,
|
|
}
|
|
|
|
with tempfile.TemporaryDirectory() as tmp_dir:
|
|
config = LlavaConfig(vision_config=vision_config, text_config=text_config)
|
|
config.save_pretrained(tmp_dir)
|
|
|
|
reloaded = LlavaConfig.from_pretrained(tmp_dir)
|
|
assert config.to_dict() == reloaded.to_dict()
|
|
|
|
def test_arbitrary_reload(self):
|
|
"""
|
|
Simple test for reloading arbitrarily composed subconfigs
|
|
"""
|
|
default_values = LlavaConfig().to_diff_dict()
|
|
default_values["vision_config"]["model_type"] = "pixtral"
|
|
default_values["text_config"]["model_type"] = "opt"
|
|
self.maxDiff = None
|
|
with tempfile.TemporaryDirectory() as tmp_dir:
|
|
config = LlavaConfig(**default_values)
|
|
config.save_pretrained(tmp_dir)
|
|
|
|
reloaded = LlavaConfig.from_pretrained(tmp_dir)
|
|
self.assertDictEqual(config.to_dict(), reloaded.to_dict())
|