Skip to content

Commit 0be754e

Browse files
NO-JIRA: tests(fix): remove unused tensorboard import (fixes #2077) (#2111)
* opendatahub-io/notebooks32077: fix: remove unused tensorboard import (Fixes #2077) - Remove unused 'import tensorboard' from test_notebook.ipynb - Fixes Ruff F401 error: unused import - TensorBoard functionality still works via tf.keras.callbacks.TensorBoard * ❯ uv run ruff check jupyter/rocm/tensorflow/ubi9-python-3.12/test/test_notebook.ipynb All checks passed! --------- Signed-off-by: Pramod Toraskar <[email protected]> Co-authored-by: Jiri Daněk <[email protected]>
1 parent 6a36d64 commit 0be754e

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

jupyter/rocm/tensorflow/ubi9-python-3.12/test/test_notebook.ipynb

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,49 +7,53 @@
77
"metadata": {},
88
"outputs": [],
99
"source": [
10-
"from pathlib import Path\n",
1110
"import json\n",
1211
"import re\n",
1312
"import unittest\n",
13+
"from pathlib import Path\n",
14+
"from platform import python_version\n",
15+
"\n",
1416
"import tensorflow as tf\n",
15-
"import tensorboard\n",
1617
"import tf2onnx\n",
17-
"from platform import python_version\n",
18+
"\n",
1819
"\n",
1920
"def get_major_minor(s):\n",
20-
" return '.'.join(s.split('.')[:2])\n",
21+
" return \".\".join(s.split(\".\")[:2])\n",
22+
"\n",
2123
"\n",
2224
"def load_expected_versions() -> dict:\n",
23-
" lock_file = Path('./expected_versions.json')\n",
25+
" lock_file = Path(\"./expected_versions.json\")\n",
2426
" data = {}\n",
2527
"\n",
26-
" with open(lock_file, 'r') as file:\n",
28+
" with open(lock_file, \"r\") as file:\n",
2729
" data = json.load(file)\n",
2830
"\n",
29-
" return data \n",
31+
" return data\n",
32+
"\n",
3033
"\n",
3134
"def get_expected_version(dependency_name: str) -> str:\n",
3235
" raw_value = expected_versions.get(dependency_name)\n",
33-
" raw_version = re.sub(r'^\\D+', '', raw_value)\n",
34-
" return get_major_minor(raw_version) \n",
36+
" raw_version = re.sub(r\"^\\D+\", \"\", raw_value)\n",
37+
" return get_major_minor(raw_version)\n",
38+
"\n",
3539
"\n",
3640
"class TestTensorflowNotebook(unittest.TestCase):\n",
37-
" \n",
41+
"\n",
3842
" def test_python_version(self):\n",
39-
" expected_major_minor = get_expected_version('Python')\n",
40-
" actual_major_minor = get_major_minor(python_version()) \n",
43+
" expected_major_minor = get_expected_version(\"Python\")\n",
44+
" actual_major_minor = get_major_minor(python_version())\n",
4145
" self.assertEqual(actual_major_minor, expected_major_minor, \"incorrect version\")\n",
42-
" \n",
46+
"\n",
4347
" def test_tensorflow_version(self):\n",
44-
" expected_major_minor = get_expected_version('ROCm-TensorFlow')\n",
45-
" actual_major_minor = get_major_minor(tf.__version__) \n",
48+
" expected_major_minor = get_expected_version(\"ROCm-TensorFlow\")\n",
49+
" actual_major_minor = get_major_minor(tf.__version__)\n",
4650
" self.assertEqual(actual_major_minor, expected_major_minor, \"incorrect version\")\n",
47-
" \n",
51+
"\n",
4852
" def test_tf2onnx_conversion(self):\n",
4953
" # Replace this with an actual TensorFlow model conversion using tf2onnx\n",
5054
" model = tf.keras.Sequential([tf.keras.layers.Dense(1, input_shape=(10,))])\n",
5155
" onnx_model = tf2onnx.convert.from_keras(model)\n",
52-
" \n",
56+
"\n",
5357
" self.assertTrue(onnx_model is not None)\n",
5458
"\n",
5559
" def test_mnist_model(self):\n",
@@ -59,41 +63,45 @@
5963
" x_train, x_test = x_train / 255.0, x_test / 255.0\n",
6064
" model = tf.keras.models.Sequential([\n",
6165
" tf.keras.layers.Flatten(input_shape=(28, 28)),\n",
62-
" tf.keras.layers.Dense(128, activation='relu'),\n",
66+
" tf.keras.layers.Dense(128, activation=\"relu\"),\n",
6367
" tf.keras.layers.Dropout(0.2),\n",
6468
" tf.keras.layers.Dense(10)\n",
6569
" ])\n",
6670
" predictions = model(x_train[:1]).numpy()\n",
67-
" predictions\n",
71+
" assert predictions\n",
6872
" tf.nn.softmax(predictions).numpy()\n",
6973
" loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)\n",
7074
" loss_fn(y_train[:1], predictions).numpy()\n",
71-
" model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])\n",
75+
" model.compile(optimizer=\"adam\", loss=loss_fn, metrics=[\"accuracy\"])\n",
7276
" model.fit(x_train, y_train, epochs=5)\n",
73-
" model.evaluate(x_test, y_test, verbose=2)\n",
77+
" model.evaluate(x_test, y_test, verbose=2)\n",
7478
" probability_model = tf.keras.Sequential([\n",
7579
" model,\n",
7680
" tf.keras.layers.Softmax()\n",
7781
" ])\n",
7882
" probability_model(x_test[:5])\n",
7983
"\n",
8084
" def test_tensorboard(self):\n",
85+
" # Check tensorboard is installed\n",
86+
" import tensorboard as _ # noqa: PLC0415, F401\n",
87+
"\n",
8188
" # Create a simple model\n",
8289
" model = tf.keras.Sequential([\n",
83-
" tf.keras.layers.Dense(10, input_shape=(5,), activation='relu'),\n",
90+
" tf.keras.layers.Dense(10, input_shape=(5,), activation=\"relu\"),\n",
8491
" tf.keras.layers.Dense(1)\n",
8592
" ])\n",
8693
" # Compile the model\n",
87-
" model.compile(optimizer='adam', loss='mse')\n",
94+
" model.compile(optimizer=\"adam\", loss=\"mse\")\n",
8895
" # Generate some example data\n",
8996
" x_train = tf.random.normal((100, 5))\n",
9097
" y_train = tf.random.normal((100, 1))\n",
9198
" # Create a TensorBoard callback\n",
92-
" log_dir = './logs'\n",
99+
" log_dir = \"./logs\"\n",
93100
" tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir)\n",
94101
" # Train the model\n",
95102
" model.fit(x_train, y_train, epochs=2, callbacks=[tensorboard_callback])\n",
96103
"\n",
104+
"\n",
97105
"expected_versions = load_expected_versions()\n",
98106
"\n",
99107
"suite = unittest.TestLoader().loadTestsFromTestCase(TestTensorflowNotebook)\n",

0 commit comments

Comments
 (0)