ai-content-maker/.venv/Lib/site-packages/thinc/tests/test_examples.py

59 lines
1.7 KiB
Python
Raw Normal View History

2024-05-03 04:18:51 +03:00
import os
from pathlib import Path
import pytest
@pytest.fixture
def test_files(nb_file):
pytest.importorskip("nbconvert")
pytest.importorskip("nbformat")
import nbconvert
import nbformat
from nbconvert.preprocessors import ExecutePreprocessor
if not Path(nb_file).exists():
return
kernel_name = os.environ.get("NOTEBOOK_KERNEL", "python3")
with open(nb_file) as f:
nb = nbformat.read(f, as_version=4)
proc = ExecutePreprocessor(timeout=600, kernel_name=kernel_name)
proc.allow_errors = True
proc.preprocess(nb, {"metadata": {"path": "/"}})
cells_with_outputs = [c for c in nb.cells if "outputs" in c]
for cell in cells_with_outputs:
for output in cell["outputs"]:
if output.output_type == "error":
for l in output.traceback:
print(l)
raise Exception(f"{output.ename}: {output.evalue}")
@pytest.mark.parametrize(
"nb_file",
(
"examples/01_intro_model_definition_methods.ipynb",
"examples/05_benchmarking_layers.ipynb",
),
)
def test_ipython_notebooks(test_files: None):
...
@pytest.mark.skip(reason="these notebooks need special software or hardware")
@pytest.mark.parametrize(
"nb_file",
(
"examples/00_intro_to_thinc.ipynb",
"examples/02_transformers_tagger_bert.ipynb",
"examples/03_pos_tagger_basic_cnn.ipynb",
"examples/03_textcat_basic_neural_bow.ipynb",
"examples/04_configure_gpu_memory.ipynb",
"examples/04_parallel_training_ray.ipynb",
"examples/05_visualizing_models.ipynb",
"examples/06_predicting_like_terms.ipynb",
),
)
def test_ipython_notebooks_slow(test_files: None):
...