Skip to content

Commit

Permalink
Handle missing tensorflow for integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Hartorn committed Sep 18, 2023
1 parent 496af24 commit 4b1bcd9
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 36 deletions.
4 changes: 3 additions & 1 deletion python-client/tests/fixtures/imdb.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
from pathlib import Path

import pytest
from keras.utils import text_dataset_from_directory, get_file

batch_size = 32
seed = 42


@pytest.fixture()
def imdb_data():
# Import put here to avoid failure when resolving tests
from keras.utils import text_dataset_from_directory, get_file

dataset = get_file(
"aclImdb",
"https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz",
Expand Down
13 changes: 7 additions & 6 deletions python-client/tests/models/tensorflow/test_mnist.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
import tensorflow as tf
from tensorflow import keras
import pytest
from giskard import Dataset

import tests.utils
from giskard import Dataset
from giskard.models.tensorflow import TensorFlowModel

tf = pytest.importorskip("tensorflow")


# Define a simple sequential model
def create_model():
model = tf.keras.Sequential(
[
keras.layers.Dense(512, activation="relu", input_shape=(784,)),
keras.layers.Dropout(0.2),
keras.layers.Dense(10, activation="softmax"),
tf.keras.layers.Dense(512, activation="relu", input_shape=(784,)),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation="softmax"),
]
)

Expand Down
24 changes: 12 additions & 12 deletions python-client/tests/models/tensorflow/test_text_classification.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import pandas as pd
import pytest
from tensorflow.keras import layers

import tensorflow as tf
import tests.utils
from giskard import Dataset
from giskard.models.tensorflow import TensorFlowModel

tf = pytest.importorskip("tensorflow")

@pytest.mark.slow
def test_text_classification_1d_output(imdb_data):

raw_train_ds, raw_test_ds = imdb_data

test_dataset = {"Review": [], "Label": []}
Expand All @@ -36,11 +36,11 @@ def test_text_classification_1d_output(imdb_data):

model = tf.keras.Sequential(
[
layers.Embedding(max_features + 1, embedding_dim),
layers.Dropout(0.2),
layers.GlobalAveragePooling1D(),
layers.Dropout(0.2),
layers.Dense(1),
tf.keras.layers.Embedding(max_features + 1, embedding_dim),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.GlobalAveragePooling1D(),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(1),
]
)

Expand Down Expand Up @@ -101,11 +101,11 @@ def test_text_classification_2d_output(imdb_data):

model = tf.keras.Sequential(
[
layers.Embedding(max_features + 1, embedding_dim),
layers.Dropout(0.2),
layers.GlobalAveragePooling1D(),
layers.Dropout(0.2),
layers.Dense(2),
tf.keras.layers.Embedding(max_features + 1, embedding_dim),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.GlobalAveragePooling1D(),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(2),
tf.keras.layers.Softmax(),
]
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

import pandas as pd
import pytest
import tensorflow as tf
from sklearn import model_selection

import tests.utils
from giskard import Dataset
from giskard.models.tensorflow import TensorFlowModel

tf = pytest.importorskip("tensorflow")

def test_text_classification_tfhub():
hub = pytest.importorskip("tensorflow_hub")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
from transformers import AutoTokenizer, TFAutoModel

from giskard import Dataset
import logging

import pandas as pd
import tensorflow as tf
import numpy as np
import logging
import pandas as pd
import pytest
from transformers import AutoTokenizer, TFAutoModel

import tests.utils
from giskard import Dataset
from giskard.models.tensorflow import TensorFlowModel

tf = pytest.importorskip("tensorflow")

logging.basicConfig(level=logging.INFO)


Expand Down Expand Up @@ -96,16 +96,6 @@ def get_inputs(tokenizer, sentences, max_length):
return inputs


pd.set_option("display.max_colwidth", None)

models = {"complaints": "comp_debiased_10"}
special_tokens = []
max_length = {"complaints": 64}
intent = "complaints"
tokenizer, transformer_model = load_transformer_models("distilbert-base-multilingual-cased", special_tokens)
model = get_model(max_length.get(intent), transformer_model, num_labels=1, name_model=models.get(intent))


@pytest.mark.skip(
reason="Loading must be customised to take care of loading the TF and embedded huggingFace model correctly"
)
Expand All @@ -126,6 +116,15 @@ def test_tf_auto_model_as_embedding_layer():
"The app developers are homosexual": 0,
}

pd.set_option("display.max_colwidth", None)

models = {"complaints": "comp_debiased_10"}
special_tokens = []
max_length = {"complaints": 64}
intent = "complaints"
tokenizer, transformer_model = load_transformer_models("distilbert-base-multilingual-cased", special_tokens)
model = get_model(max_length.get(intent), transformer_model, num_labels=1, name_model=models.get(intent))

data = pd.DataFrame(columns=["text", "label"])
data.loc[:, "text"] = data_dict.keys()
data.loc[:, "label"] = data_dict.values()
Expand Down

0 comments on commit 4b1bcd9

Please sign in to comment.