|
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | 14 |
|
| 15 | +import ast |
15 | 16 | import unittest |
| 17 | +from pathlib import Path |
16 | 18 |
|
17 | 19 | from ..alm_tester import ALMModelTester |
18 | 20 | from ..causal_lm_tester import CausalLMModelTester |
| 21 | +from ..models.mistral_large4.test_modeling_mistral_large4 import MistralLarge4VisionText2TextModelTester |
19 | 22 | from ..multimodal_tester import MultiModalModelTester |
20 | 23 | from ..vlm_tester import VLMModelTester |
21 | 24 |
|
@@ -60,13 +63,6 @@ def test_audio_model_overrides_modality_defaults(self): |
60 | 63 | self.assertEqual(tester(self).num_mel_bins, 24) |
61 | 64 | self.assertEqual(tester(self, num_mel_bins=16).num_mel_bins, 16) |
62 | 65 |
|
63 | | - def test_defaults_are_fresh_for_each_instance(self): |
64 | | - tester = self._tester_class(VLMModelTester) |
65 | | - first, second = tester(self), tester(self) |
66 | | - first.no_rope_layers.append(0) |
67 | | - self.assertEqual(second.no_rope_layers, [1, 0]) |
68 | | - self.assertEqual(tester.get_small_config_defaults()["no_rope_layers"], [1, 0]) |
69 | | - |
70 | 66 | def test_inherited_hook_keeps_existing_vision_defaults(self): |
71 | 67 | class LegacyTester(VLMModelTester): |
72 | 68 | def _check_required_attributes(self): |
@@ -152,20 +148,21 @@ def test_mutable_defaults_and_overrides_are_isolated(self): |
152 | 148 | class Tester(VLMModelTester): |
153 | 149 | small_config_overrides = {"no_rope_layers": [1, 0]} |
154 | 150 |
|
| 151 | + def _check_required_attributes(self): |
| 152 | + pass |
| 153 | + |
155 | 154 | values = Tester.get_small_config_defaults() |
156 | 155 | values["vision_rope_parameters"]["rope_theta"] = 1 |
157 | 156 | values["no_rope_layers"].append(1) |
| 157 | + first, second = Tester(self), Tester(self) |
| 158 | + first.no_rope_layers.append(0) |
158 | 159 | fresh = Tester.get_small_config_defaults() |
159 | 160 | self.assertEqual(fresh["vision_rope_parameters"]["rope_theta"], 10_000) |
160 | 161 | self.assertEqual(fresh["no_rope_layers"], [1, 0]) |
| 162 | + self.assertEqual(second.no_rope_layers, [1, 0]) |
161 | 163 | self.assertEqual(Tester.small_config_overrides["no_rope_layers"], [1, 0]) |
162 | 164 |
|
163 | 165 | def test_mistral_overrides_are_a_literal_and_preserve_test_dimensions(self): |
164 | | - import ast |
165 | | - from pathlib import Path |
166 | | - |
167 | | - from ..models.mistral_large4.test_modeling_mistral_large4 import MistralLarge4VisionText2TextModelTester |
168 | | - |
169 | 166 | path = Path(__file__).parents[1] / "models/mistral_large4/test_modeling_mistral_large4.py" |
170 | 167 | tree = ast.parse(path.read_text()) |
171 | 168 | cls = next(node for node in tree.body if isinstance(node, ast.ClassDef) and node.name.endswith("ModelTester")) |
|
0 commit comments