Update app.py
Browse files
app.py
CHANGED
|
@@ -100,25 +100,24 @@ class ModelConverter:
|
|
| 100 |
def convert_model(self, input_model_id: str) -> Tuple[bool, Optional[str]]:
|
| 101 |
"""
|
| 102 |
Convert the model to ONNX format, always exporting attention maps.
|
| 103 |
-
|
| 104 |
-
|
| 105 |
"""
|
| 106 |
try:
|
| 107 |
-
# 1.
|
| 108 |
model_dir = self.config.repo_path / "models" / input_model_id
|
| 109 |
model_dir.mkdir(parents=True, exist_ok=True)
|
| 110 |
|
| 111 |
# 2. Load and relocate generation parameters
|
| 112 |
config = AutoConfig.from_pretrained(input_model_id)
|
| 113 |
gen_cfg = GenerationConfig.from_model_config(config)
|
| 114 |
-
# Remove generation-specific keys from model config
|
| 115 |
for key in gen_cfg.to_dict().keys():
|
| 116 |
if hasattr(config, key):
|
| 117 |
setattr(config, key, None)
|
| 118 |
config.save_pretrained(model_dir)
|
| 119 |
gen_cfg.save_pretrained(model_dir)
|
| 120 |
|
| 121 |
-
# 3. Build the conversion command
|
| 122 |
cmd = [
|
| 123 |
sys.executable,
|
| 124 |
"-m", "scripts.convert",
|
|
@@ -127,8 +126,6 @@ class ModelConverter:
|
|
| 127 |
"--model_id", input_model_id,
|
| 128 |
"--output_attentions",
|
| 129 |
]
|
| 130 |
-
|
| 131 |
-
# 4. Run the conversion
|
| 132 |
result = subprocess.run(
|
| 133 |
cmd,
|
| 134 |
cwd=self.config.repo_path,
|
|
@@ -137,10 +134,18 @@ class ModelConverter:
|
|
| 137 |
env=os.environ.copy(),
|
| 138 |
)
|
| 139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 140 |
if result.returncode != 0:
|
| 141 |
-
return False,
|
| 142 |
|
| 143 |
-
return True,
|
| 144 |
|
| 145 |
except Exception as e:
|
| 146 |
return False, str(e)
|
|
@@ -250,3 +255,4 @@ def main():
|
|
| 250 |
|
| 251 |
if __name__ == "__main__":
|
| 252 |
main()
|
|
|
|
|
|
| 100 |
def convert_model(self, input_model_id: str) -> Tuple[bool, Optional[str]]:
|
| 101 |
"""
|
| 102 |
Convert the model to ONNX format, always exporting attention maps.
|
| 103 |
+
Relocate generation parameters and suppress tracer warnings.
|
| 104 |
+
Strip out the static relocation warning from stderr.
|
| 105 |
"""
|
| 106 |
try:
|
| 107 |
+
# 1. Prepare a local copy to adjust configs
|
| 108 |
model_dir = self.config.repo_path / "models" / input_model_id
|
| 109 |
model_dir.mkdir(parents=True, exist_ok=True)
|
| 110 |
|
| 111 |
# 2. Load and relocate generation parameters
|
| 112 |
config = AutoConfig.from_pretrained(input_model_id)
|
| 113 |
gen_cfg = GenerationConfig.from_model_config(config)
|
|
|
|
| 114 |
for key in gen_cfg.to_dict().keys():
|
| 115 |
if hasattr(config, key):
|
| 116 |
setattr(config, key, None)
|
| 117 |
config.save_pretrained(model_dir)
|
| 118 |
gen_cfg.save_pretrained(model_dir)
|
| 119 |
|
| 120 |
+
# 3. Build and run the conversion command
|
| 121 |
cmd = [
|
| 122 |
sys.executable,
|
| 123 |
"-m", "scripts.convert",
|
|
|
|
| 126 |
"--model_id", input_model_id,
|
| 127 |
"--output_attentions",
|
| 128 |
]
|
|
|
|
|
|
|
| 129 |
result = subprocess.run(
|
| 130 |
cmd,
|
| 131 |
cwd=self.config.repo_path,
|
|
|
|
| 134 |
env=os.environ.copy(),
|
| 135 |
)
|
| 136 |
|
| 137 |
+
# 4. Filter out the relocation warning from stderr
|
| 138 |
+
filtered_lines = [
|
| 139 |
+
ln
|
| 140 |
+
for ln in result.stderr.splitlines()
|
| 141 |
+
if not ln.startswith("Moving the following attributes")
|
| 142 |
+
]
|
| 143 |
+
stderr = "\n".join(filtered_lines)
|
| 144 |
+
|
| 145 |
if result.returncode != 0:
|
| 146 |
+
return False, stderr
|
| 147 |
|
| 148 |
+
return True, stderr
|
| 149 |
|
| 150 |
except Exception as e:
|
| 151 |
return False, str(e)
|
|
|
|
| 255 |
|
| 256 |
if __name__ == "__main__":
|
| 257 |
main()
|
| 258 |
+
|