diff --git a/jupyter/rocm/tensorflow/ubi9-python-3.12/test/test_notebook.ipynb b/jupyter/rocm/tensorflow/ubi9-python-3.12/test/test_notebook.ipynb index 65dd25cb1c..fe3596dc24 100644 --- a/jupyter/rocm/tensorflow/ubi9-python-3.12/test/test_notebook.ipynb +++ b/jupyter/rocm/tensorflow/ubi9-python-3.12/test/test_notebook.ipynb @@ -7,49 +7,53 @@ "metadata": {}, "outputs": [], "source": [ - "from pathlib import Path\n", "import json\n", "import re\n", "import unittest\n", + "from pathlib import Path\n", + "from platform import python_version\n", + "\n", "import tensorflow as tf\n", - "import tensorboard\n", "import tf2onnx\n", - "from platform import python_version\n", + "\n", "\n", "def get_major_minor(s):\n", - " return '.'.join(s.split('.')[:2])\n", + " return \".\".join(s.split(\".\")[:2])\n", + "\n", "\n", "def load_expected_versions() -> dict:\n", - " lock_file = Path('./expected_versions.json')\n", + " lock_file = Path(\"./expected_versions.json\")\n", " data = {}\n", "\n", - " with open(lock_file, 'r') as file:\n", + " with open(lock_file, \"r\") as file:\n", " data = json.load(file)\n", "\n", - " return data \n", + " return data\n", + "\n", "\n", "def get_expected_version(dependency_name: str) -> str:\n", " raw_value = expected_versions.get(dependency_name)\n", - " raw_version = re.sub(r'^\\D+', '', raw_value)\n", - " return get_major_minor(raw_version) \n", + " raw_version = re.sub(r\"^\\D+\", \"\", raw_value)\n", + " return get_major_minor(raw_version)\n", + "\n", "\n", "class TestTensorflowNotebook(unittest.TestCase):\n", - " \n", + "\n", " def test_python_version(self):\n", - " expected_major_minor = get_expected_version('Python')\n", - " actual_major_minor = get_major_minor(python_version()) \n", + " expected_major_minor = get_expected_version(\"Python\")\n", + " actual_major_minor = get_major_minor(python_version())\n", " self.assertEqual(actual_major_minor, expected_major_minor, \"incorrect version\")\n", - " \n", + "\n", " def test_tensorflow_version(self):\n", - " expected_major_minor = get_expected_version('ROCm-TensorFlow')\n", - " actual_major_minor = get_major_minor(tf.__version__) \n", + " expected_major_minor = get_expected_version(\"ROCm-TensorFlow\")\n", + " actual_major_minor = get_major_minor(tf.__version__)\n", " self.assertEqual(actual_major_minor, expected_major_minor, \"incorrect version\")\n", - " \n", + "\n", " def test_tf2onnx_conversion(self):\n", " # Replace this with an actual TensorFlow model conversion using tf2onnx\n", " model = tf.keras.Sequential([tf.keras.layers.Dense(1, input_shape=(10,))])\n", " onnx_model = tf2onnx.convert.from_keras(model)\n", - " \n", + "\n", " self.assertTrue(onnx_model is not None)\n", "\n", " def test_mnist_model(self):\n", @@ -59,18 +63,18 @@ " x_train, x_test = x_train / 255.0, x_test / 255.0\n", " model = tf.keras.models.Sequential([\n", " tf.keras.layers.Flatten(input_shape=(28, 28)),\n", - " tf.keras.layers.Dense(128, activation='relu'),\n", + " tf.keras.layers.Dense(128, activation=\"relu\"),\n", " tf.keras.layers.Dropout(0.2),\n", " tf.keras.layers.Dense(10)\n", " ])\n", " predictions = model(x_train[:1]).numpy()\n", - " predictions\n", + " assert predictions\n", " tf.nn.softmax(predictions).numpy()\n", " loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)\n", " loss_fn(y_train[:1], predictions).numpy()\n", - " model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])\n", + " model.compile(optimizer=\"adam\", loss=loss_fn, metrics=[\"accuracy\"])\n", " model.fit(x_train, y_train, epochs=5)\n", - " model.evaluate(x_test, y_test, verbose=2)\n", + " model.evaluate(x_test, y_test, verbose=2)\n", " probability_model = tf.keras.Sequential([\n", " model,\n", " tf.keras.layers.Softmax()\n", @@ -78,22 +82,26 @@ " probability_model(x_test[:5])\n", "\n", " def test_tensorboard(self):\n", + " # Check tensorboard is installed\n", + " import tensorboard as _ # noqa: PLC0415, F401\n", + "\n", " # Create a simple model\n", " model = tf.keras.Sequential([\n", - " tf.keras.layers.Dense(10, input_shape=(5,), activation='relu'),\n", + " tf.keras.layers.Dense(10, input_shape=(5,), activation=\"relu\"),\n", " tf.keras.layers.Dense(1)\n", " ])\n", " # Compile the model\n", - " model.compile(optimizer='adam', loss='mse')\n", + " model.compile(optimizer=\"adam\", loss=\"mse\")\n", " # Generate some example data\n", " x_train = tf.random.normal((100, 5))\n", " y_train = tf.random.normal((100, 1))\n", " # Create a TensorBoard callback\n", - " log_dir = './logs'\n", + " log_dir = \"./logs\"\n", " tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir)\n", " # Train the model\n", " model.fit(x_train, y_train, epochs=2, callbacks=[tensorboard_callback])\n", "\n", + "\n", "expected_versions = load_expected_versions()\n", "\n", "suite = unittest.TestLoader().loadTestsFromTestCase(TestTensorflowNotebook)\n",