From 0883f95017757912f75235c5a21f6f3cf505550f Mon Sep 17 00:00:00 2001 From: rinsanga Date: Wed, 10 Jul 2024 14:44:03 +0530 Subject: [PATCH] fixed version erroes --- ...2. Training and Detection-checkpoint.ipynb | 816 +++++++++++++++++- 2. Training and Detection.ipynb | 23 +- requirements.txt | 161 ++++ 3 files changed, 945 insertions(+), 55 deletions(-) create mode 100644 requirements.txt diff --git a/.ipynb_checkpoints/2. Training and Detection-checkpoint.ipynb b/.ipynb_checkpoints/2. Training and Detection-checkpoint.ipynb index 15933e28c..c5cfd4fd4 100644 --- a/.ipynb_checkpoints/2. Training and Detection-checkpoint.ipynb +++ b/.ipynb_checkpoints/2. Training and Detection-checkpoint.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "id": "146BB11JpfDA" }, @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "id": "42hJEdo_pfDB" }, @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": { "id": "hbPhYVy_pfDB" }, @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "id": "LwhWZMI0pfDC" }, @@ -2024,16 +2024,17 @@ } ], "source": [ - "VERIFICATION_SCRIPT = os.path.join(paths['APIMODEL_PATH'], 'research', 'object_detection', 'builders', 'model_builder_tf2_test.py')\n", - "# Verify Installation\n", - "!python {VERIFICATION_SCRIPT}" + "!pip install tensorflow==2.13.1" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "outputs": [ { @@ -2124,14 +2125,19 @@ } ], "source": [ - "!pip install tensorflow --upgrade" + "VERIFICATION_SCRIPT = os.path.join(paths['APIMODEL_PATH'], 'research', 'object_detection', 'builders', 'model_builder_tf2_test.py')\n", + "# Verify Installation\n", + "!python {VERIFICATION_SCRIPT}" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "outputs": [ { @@ -2209,6 +2215,7 @@ } ], "source": [ + "#no need to run this\n", "!pip uninstall protobuf matplotlib -y\n", "!pip install protobuf matplotlib==3.2" ] @@ -2952,7 +2959,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { "id": "8TYk4_oIpfDI" }, @@ -2968,7 +2975,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "id": "tDnQg-cYpfDI" }, @@ -2980,7 +2987,7 @@ "\n", "# Restore checkpoint\n", "ckpt = tf.compat.v2.train.Checkpoint(model=detection_model)\n", - "ckpt.restore(os.path.join(paths['CHECKPOINT_PATH'], 'ckpt-3')).expect_partial()\n", + "ckpt.restore(os.path.join(paths['CHECKPOINT_PATH'], 'ckpt-5')).expect_partial()\n", "\n", "@tf.function\n", "def detect_fn(image):\n", @@ -3001,7 +3008,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "id": "Y_MKiuZ4pfDI" }, @@ -3015,7 +3022,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": { "id": "cBDbIhNapfDI" }, @@ -3026,18 +3033,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "id": "Lx3crOhOzITB" }, "outputs": [], "source": [ - "IMAGE_PATH = os.path.join(paths['IMAGE_PATH'], 'test', 'hello.b1c12dc2-91c4-11eb-8963-5cf3709bbcc6.jpg')" + "IMAGE_PATH = os.path.join(paths['IMAGE_PATH'], 'test', 'livelong.02533422-940e-11eb-9dbd-5cf3709bbcc6.jpg')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -3046,7 +3053,20 @@ "id": "Tpzn1SMry1yK", "outputId": "c392a2c5-10fe-4fc4-9998-a1d4c7db2bd3" }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "img = cv2.imread(IMAGE_PATH)\n", "image_np = np.array(img)\n", @@ -3100,7 +3120,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "id": "o_grs6OGpfDJ" }, @@ -3158,7 +3178,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "id": "n4olHB2npfDJ" }, @@ -3169,7 +3189,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": { "id": "0AjO93QDpfDJ" }, @@ -3180,7 +3200,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3188,14 +3208,22 @@ "id": "F6Lsp3tCpfDJ", "outputId": "c3828529-bf06-4df5-d7f3-145890ec3edd" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "python Tensorflow\\models\\research\\object_detection\\exporter_main_v2.py --input_type=image_tensor --pipeline_config_path=Tensorflow\\workspace\\models\\my_ssd_mobnet\\pipeline.config --trained_checkpoint_dir=Tensorflow\\workspace\\models\\my_ssd_mobnet --output_directory=Tensorflow\\workspace\\models\\my_ssd_mobnet\\export\n" + ] + } + ], "source": [ "print(command)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3203,7 +3231,207 @@ "id": "1Sw1ULgHpfDJ", "outputId": "6fd441e1-9fc9-4889-d072-3395c21e40b6" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2021-04-03 11:51:42.281339: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:51:44.712115: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:51:44.712813: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library nvcuda.dll\n", + "2021-04-03 11:51:44.734951: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:51:44.734976: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:51:44.738520: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:51:44.738545: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:51:44.740713: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:51:44.741572: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:51:44.745641: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:51:44.747323: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:51:44.747849: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:51:44.747917: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:51:44.748158: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2021-04-03 11:51:44.748975: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:51:44.749003: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:51:44.749011: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:51:44.749017: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:51:44.749025: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:51:44.749031: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:51:44.749036: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:51:44.749042: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:51:44.749046: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:51:44.749072: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:51:45.185363: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:51:45.185385: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:51:45.185389: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:51:45.185509: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6461 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:51:45.185889: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "WARNING:tensorflow:From D:\\YouTube\\OD\\TFODCourse\\tfod\\lib\\site-packages\\object_detection-0.1-py3.7.egg\\object_detection\\exporter_lib_v2.py:106: calling map_fn_v2 (from tensorflow.python.ops.map_fn) with back_prop=False is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "back_prop=False is deprecated. Consider using tf.stop_gradient instead.\n", + "Instead of:\n", + "results = tf.map_fn(fn, elems, back_prop=False)\n", + "Use:\n", + "results = tf.nest.map_structure(tf.stop_gradient, tf.map_fn(fn, elems))\n", + "W0403 11:51:46.585407 12508 deprecation.py:604] From D:\\YouTube\\OD\\TFODCourse\\tfod\\lib\\site-packages\\object_detection-0.1-py3.7.egg\\object_detection\\exporter_lib_v2.py:106: calling map_fn_v2 (from tensorflow.python.ops.map_fn) with back_prop=False is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "back_prop=False is deprecated. Consider using tf.stop_gradient instead.\n", + "Instead of:\n", + "results = tf.map_fn(fn, elems, back_prop=False)\n", + "Use:\n", + "results = tf.nest.map_structure(tf.stop_gradient, tf.map_fn(fn, elems))\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.182201 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.735328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.735328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.736328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.737328 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:51:57.738330 12508 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "2021-04-03 11:52:03.707161: W tensorflow/python/util/util.cc:348] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:09.159238 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:09.160238 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:09.160238 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:09.160238 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:11.896544 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:11.896544 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:11.896544 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:11.896544 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:11.896544 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:11.896544 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "W0403 11:52:14.030074 12508 save.py:241] Found untraced functions such as WeightSharedConvolutionalBoxPredictor_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxPredictor_layer_call_fn, WeightSharedConvolutionalBoxHead_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxHead_layer_call_fn, WeightSharedConvolutionalBoxPredictor_layer_call_fn while saving (showing 5 of 155). These functions will not be directly callable after loading.\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:14.174074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:14.174074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:14.174074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:14.174074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:14.368074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:14.368074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:14.368074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:14.368074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:14.368074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:14.368074 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "W0403 11:52:14.738204 12508 save.py:241] Found untraced functions such as WeightSharedConvolutionalBoxPredictor_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxPredictor_layer_call_fn, WeightSharedConvolutionalBoxHead_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxHead_layer_call_fn, WeightSharedConvolutionalBoxPredictor_layer_call_fn while saving (showing 5 of 155). These functions will not be directly callable after loading.\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:17.735654 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:17.735654 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:52:17.736654 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:52:17.736654 12508 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Assets written to: Tensorflow\\workspace\\models\\my_ssd_mobnet\\export\\saved_model\\assets\n", + "I0403 11:52:18.462644 12508 builder_impl.py:775] Assets written to: Tensorflow\\workspace\\models\\my_ssd_mobnet\\export\\saved_model\\assets\n", + "INFO:tensorflow:Writing pipeline config file to Tensorflow\\workspace\\models\\my_ssd_mobnet\\export\\pipeline.config\n", + "I0403 11:52:19.186990 12508 config_util.py:254] Writing pipeline config file to Tensorflow\\workspace\\models\\my_ssd_mobnet\\export\\pipeline.config\n" + ] + } + ], "source": [ "!{command}" ] @@ -3219,7 +3447,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3228,14 +3456,69 @@ "outputId": "0c84722e-1c2b-4002-d857-80827ade828a", "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting tensorflowjs\n", + " Using cached tensorflowjs-3.3.0-py3-none-any.whl (63 kB)\n", + "Requirement already satisfied: six<2,>=1.12.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflowjs) (1.15.0)\n", + "Collecting tensorflow-hub<0.10,>=0.7.0\n", + " Using cached tensorflow_hub-0.9.0-py2.py3-none-any.whl (103 kB)\n", + "Requirement already satisfied: h5py<3,>=2.8.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflowjs) (2.10.0)\n", + "Requirement already satisfied: tensorflow<3,>=2.1.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflowjs) (2.4.0)\n", + "Requirement already satisfied: numpy>=1.7 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from h5py<3,>=2.8.0->tensorflowjs) (1.19.5)\n", + "Requirement already satisfied: flatbuffers~=1.12.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (1.12)\n", + "Requirement already satisfied: gast==0.3.3 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (0.3.3)\n", + "Requirement already satisfied: wrapt~=1.12.1 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (1.12.1)\n", + "Requirement already satisfied: tensorboard~=2.4 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (2.4.1)\n", + "Requirement already satisfied: termcolor~=1.1.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (1.1.0)\n", + "Requirement already satisfied: protobuf>=3.9.2 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (3.15.7)\n", + "Requirement already satisfied: wheel~=0.35 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (0.36.2)\n", + "Requirement already satisfied: tensorflow-estimator<2.5.0,>=2.4.0rc0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (2.4.0)\n", + "Requirement already satisfied: absl-py~=0.10 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (0.12.0)\n", + "Requirement already satisfied: opt-einsum~=3.3.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (3.3.0)\n", + "Requirement already satisfied: grpcio~=1.32.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (1.32.0)\n", + "Requirement already satisfied: keras-preprocessing~=1.1.2 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (1.1.2)\n", + "Requirement already satisfied: astunparse~=1.6.3 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (1.6.3)\n", + "Requirement already satisfied: typing-extensions~=3.7.4 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages\\typing_extensions-3.7.4.3-py3.7.egg (from tensorflow<3,>=2.1.0->tensorflowjs) (3.7.4.3)\n", + "Requirement already satisfied: google-pasta~=0.2 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorflow<3,>=2.1.0->tensorflowjs) (0.2.0)\n", + "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (0.4.4)\n", + "Requirement already satisfied: werkzeug>=0.11.15 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (1.0.1)\n", + "Requirement already satisfied: requests<3,>=2.21.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages\\requests-2.25.1-py3.7.egg (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (2.25.1)\n", + "Requirement already satisfied: google-auth<2,>=1.6.3 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (1.28.0)\n", + "Requirement already satisfied: setuptools>=41.0.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (54.2.0)\n", + "Requirement already satisfied: markdown>=2.6.8 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (3.3.4)\n", + "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (1.8.0)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (4.7.2)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (0.2.8)\n", + "Requirement already satisfied: cachetools<5.0,>=2.0.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (4.2.1)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (1.3.0)\n", + "Requirement already satisfied: importlib-metadata in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from markdown>=2.6.8->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (3.10.0)\n", + "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (0.4.8)\n", + "Requirement already satisfied: certifi>=2017.4.17 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (2020.12.5)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (2.10)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (1.26.4)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (3.1.0)\n", + "Requirement already satisfied: zipp>=0.5 in d:\\youtube\\od\\tfodcourse\\tfod\\lib\\site-packages (from importlib-metadata->markdown>=2.6.8->tensorboard~=2.4->tensorflow<3,>=2.1.0->tensorflowjs) (3.4.1)\n", + "Installing collected packages: tensorflow-hub, tensorflowjs\n", + " Attempting uninstall: tensorflow-hub\n", + " Found existing installation: tensorflow-hub 0.11.0\n", + " Uninstalling tensorflow-hub-0.11.0:\n", + " Successfully uninstalled tensorflow-hub-0.11.0\n", + "Successfully installed tensorflow-hub-0.9.0 tensorflowjs-3.3.0\n" + ] + } + ], "source": [ "!pip install tensorflowjs" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": { "id": "0oxbVynHpfDK" }, @@ -3246,7 +3529,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3254,14 +3537,22 @@ "id": "DB2AGNmJpfDK", "outputId": "fbc9f747-f511-47e8-df8f-5ea65cef0374" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensorflowjs_converter --input_format=tf_saved_model --output_node_names='detection_boxes,detection_classes,detection_features,detection_multiclass_scores,detection_scores,num_detections,raw_detection_boxes,raw_detection_scores' --output_format=tfjs_graph_model --signature_name=serving_default Tensorflow\\workspace\\models\\my_ssd_mobnet\\export\\saved_model Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfjsexport\n" + ] + } + ], "source": [ "print(command)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3269,7 +3560,108 @@ "id": "K7rfT4-hpfDK", "outputId": "532707fd-6feb-4bc6-84a3-325b5d16303c" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing weight file Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfjsexport\\model.json...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2021-04-03 11:54:23.153051: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:54:25.644887: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:54:25.645576: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library nvcuda.dll\n", + "2021-04-03 11:54:25.667969: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:54:25.668001: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:54:25.671400: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:54:25.671416: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:54:25.673240: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:54:25.673772: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:54:25.677306: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:54:25.678684: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:54:25.679228: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:54:25.679291: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:54:25.679494: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2021-04-03 11:54:25.680122: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:54:25.680135: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:54:25.680141: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:54:25.680148: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:54:25.680152: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:54:25.680158: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:54:25.680163: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:54:25.680167: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:54:25.680171: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:54:25.680197: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:54:26.114383: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:54:26.114403: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:54:26.114407: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:54:26.114533: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:54:26.114935: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:54:34.068925: I tensorflow/core/grappler/devices.cc:69] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 1\n", + "2021-04-03 11:54:34.069068: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session\n", + "2021-04-03 11:54:34.070081: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:54:34.070099: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:54:34.070106: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:54:34.070112: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:54:34.070119: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:54:34.070123: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:54:34.070130: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:54:34.070134: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:54:34.070141: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:54:34.070164: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:54:34.070202: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:54:34.070208: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:54:34.070211: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:54:34.070267: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:54:34.070284: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:54:34.396918: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:928] Optimization results for grappler item: graph_to_optimize\n", + " function_optimizer: Graph size after: 4000 nodes (3591), 8430 edges (8014), time = 217.05ms.\n", + " function_optimizer: function_optimizer did nothing. time = 4.085ms.\n", + "\n", + "2021-04-03 11:54:37.417793: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:928] Optimization results for grappler item: graph_to_optimize\n", + " debug_stripper: Graph size after: 3683 nodes (0), 8201 edges (0), time = 79.922ms.\n", + " model_pruner: Graph size after: 3232 nodes (-451), 7750 edges (-451), time = 125.865ms.\n", + " constant_folding: Graph size after: 1551 nodes (-1681), 5834 edges (-1916), time = 199.089ms.\n", + " arithmetic_optimizer: Graph size after: 1551 nodes (0), 5834 edges (0), time = 33.234ms.\n", + " dependency_optimizer: Graph size after: 1453 nodes (-98), 1650 edges (-4184), time = 22.074ms.\n", + " model_pruner: Graph size after: 1453 nodes (0), 1650 edges (0), time = 9.534ms.\n", + " constant_folding: Graph size after: 1453 nodes (0), 1650 edges (0), time = 29.71ms.\n", + " arithmetic_optimizer: Graph size after: 1453 nodes (0), 1650 edges (0), time = 22.603ms.\n", + " dependency_optimizer: Graph size after: 1453 nodes (0), 1650 edges (0), time = 14.027ms.\n", + " debug_stripper: debug_stripper did nothing. time = 1.378ms.\n", + " model_pruner: Graph size after: 1453 nodes (0), 1650 edges (0), time = 7.504ms.\n", + " constant_folding: Graph size after: 1453 nodes (0), 1650 edges (0), time = 29.06ms.\n", + " arithmetic_optimizer: Graph size after: 1453 nodes (0), 1650 edges (0), time = 23.745ms.\n", + " dependency_optimizer: Graph size after: 1453 nodes (0), 1650 edges (0), time = 12.714ms.\n", + " model_pruner: Graph size after: 1453 nodes (0), 1650 edges (0), time = 8.842ms.\n", + " constant_folding: Graph size after: 1453 nodes (0), 1650 edges (0), time = 29.59ms.\n", + " arithmetic_optimizer: Graph size after: 1453 nodes (0), 1650 edges (0), time = 23.085ms.\n", + " dependency_optimizer: Graph size after: 1453 nodes (0), 1650 edges (0), time = 14.073ms.\n", + "\n", + "2021-04-03 11:54:45.020557: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:928] Optimization results for grappler item: graph_to_optimize\n", + " remapper: Graph size after: 1415 nodes (-114), 1308 edges (-114), time = 6.93ms.\n", + " constant_folding: Graph size after: 1111 nodes (-304), 1308 edges (0), time = 45.571ms.\n", + " arithmetic_optimizer: Graph size after: 1111 nodes (0), 1308 edges (0), time = 18.394ms.\n", + " dependency_optimizer: Graph size after: 1111 nodes (0), 1308 edges (0), time = 9.992ms.\n", + " remapper: Graph size after: 1111 nodes (0), 1308 edges (0), time = 5.143ms.\n", + " constant_folding: Graph size after: 1111 nodes (0), 1308 edges (0), time = 22.813ms.\n", + " arithmetic_optimizer: Graph size after: 1111 nodes (0), 1308 edges (0), time = 18.23ms.\n", + " dependency_optimizer: Graph size after: 1111 nodes (0), 1308 edges (0), time = 9.571ms.\n", + "\n" + ] + } + ], "source": [ "!{command}" ] @@ -3296,7 +3688,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": { "id": "XviMtewLpfDK" }, @@ -3307,7 +3699,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": { "id": "us86cjC4pfDL" }, @@ -3318,7 +3710,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3326,14 +3718,22 @@ "id": "n1r5YO3rpfDL", "outputId": "5fcdf7a4-eee2-4365-f1ca-1751968379ea" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "python Tensorflow\\models\\research\\object_detection\\export_tflite_graph_tf2.py --pipeline_config_path=Tensorflow\\workspace\\models\\my_ssd_mobnet\\pipeline.config --trained_checkpoint_dir=Tensorflow\\workspace\\models\\my_ssd_mobnet --output_directory=Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\n" + ] + } + ], "source": [ "print(command)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3341,14 +3741,256 @@ "id": "I-xWpHN8pfDL", "outputId": "7f6bacd8-d077-43b5-c131-5b081fba24a4" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2021-04-03 11:55:05.530772: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:08.004889: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:55:08.005672: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library nvcuda.dll\n", + "2021-04-03 11:55:08.028532: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:08.028559: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:08.032092: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:08.032116: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:08.033961: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:08.034525: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:08.038018: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:08.039361: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:08.039837: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:08.039899: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:08.040128: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2021-04-03 11:55:08.040849: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:08.040866: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:08.040873: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:08.040882: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:08.040897: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:08.040905: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:08.040912: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:08.040919: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:08.040924: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:08.040953: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:08.479708: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:55:08.479731: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:55:08.479735: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:55:08.479858: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:55:08.480359: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:55:13.777905: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:13.777932: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:13.777938: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:13.777947: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:13.777952: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:13.777959: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:13.777963: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:13.777971: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:13.777975: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:13.778002: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:13.778043: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:55:13.778049: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:55:13.778052: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:55:13.778142: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:55:13.778159: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:55:13.794562: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:196] None of the MLIR optimization passes are enabled (registered 0 passes)\n", + "2021-04-03 11:55:14.883921: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:14.883947: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:14.883954: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:14.883960: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:14.883966: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:14.883971: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:14.883977: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:14.883983: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:14.883987: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:14.884071: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:14.884109: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2021-04-03 11:55:14.884114: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:55:14.884117: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:55:14.884182: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:55:14.884197: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.360029 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.925411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.926413 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n", + "W0403 11:55:15.927411 15552 save_impl.py:78] Skipping full serialization of Keras layer , because it is not built.\n", + "2021-04-03 11:55:22.118760: W tensorflow/python/util/util.cc:348] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.\n", + "2021-04-03 11:55:23.021692: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:23.021718: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:23.021724: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:23.021731: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:23.021737: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:23.021742: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:23.021748: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:23.021754: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:23.021758: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:23.021783: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:23.021821: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:55:23.021825: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:55:23.021828: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:55:23.021886: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:55:23.021901: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:27.221577 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:27.221577 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:27.222574 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:27.222574 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:29.965919 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:29.965919 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:29.965919 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:29.965919 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:29.965919 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:29.966920 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "W0403 11:55:32.109875 15552 save.py:241] Found untraced functions such as WeightSharedConvolutionalBoxPredictor_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxPredictor_layer_call_fn, WeightSharedConvolutionalBoxHead_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxHead_layer_call_fn, WeightSharedConvolutionalBoxPredictor_layer_call_fn while saving (showing 5 of 155). These functions will not be directly callable after loading.\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:32.256875 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:32.256875 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:32.256875 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:32.257873 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:32.455873 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:32.455873 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:32.455873 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:32.455873 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:32.456872 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:32.456872 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "W0403 11:55:32.827284 15552 save.py:241] Found untraced functions such as WeightSharedConvolutionalBoxPredictor_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxPredictor_layer_call_fn, WeightSharedConvolutionalBoxHead_layer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxHead_layer_call_fn, WeightSharedConvolutionalBoxPredictor_layer_call_fn while saving (showing 5 of 155). These functions will not be directly callable after loading.\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:35.860894 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:35.860894 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "I0403 11:55:35.860894 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], False), {}).\n", + "INFO:tensorflow:Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "I0403 11:55:35.860894 15552 def_function.py:1170] Unsupported signature for serialization: (([(, TensorSpec(shape=(None, 40, 40, 32), dtype=tf.float32, name='image_features/0/1')), (, TensorSpec(shape=(None, 20, 20, 96), dtype=tf.float32, name='image_features/1/1')), (, TensorSpec(shape=(None, 10, 10, 1280), dtype=tf.float32, name='image_features/2/1'))], True), {}).\n", + "INFO:tensorflow:Assets written to: Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model\\assets\n", + "I0403 11:55:36.624916 15552 builder_impl.py:775] Assets written to: Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model\\assets\n" + ] + } + ], "source": [ "!{command}" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": { "id": "iJfYMbN6pfDL" }, @@ -3360,7 +4002,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -3376,7 +4018,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3384,14 +4026,22 @@ "id": "E8GwUeoFpfDL", "outputId": "fac43ea4-cc85-471b-a362-e994b06fd583" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tflite_convert --saved_model_dir=Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model --output_file=Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model\\detect.tflite --input_shapes=1,300,300,3 --input_arrays=normalized_input_image_tensor --output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3' --inference_type=FLOAT --allow_custom_ops\n" + ] + } + ], "source": [ "print(command)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -3399,7 +4049,79 @@ "id": "Nbd7gqHMpfDL", "outputId": "7c8fe6d5-2415-4641-8548-39d425c202f7" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2021-04-03 11:55:38.653963: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:41.159460: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:55:41.160164: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library nvcuda.dll\n", + "2021-04-03 11:55:41.183623: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:41.183649: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:41.187402: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:41.187424: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:41.189452: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:41.190052: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:41.193535: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:41.194888: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:41.195377: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:41.195440: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:41.195644: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2021-04-03 11:55:41.196333: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:41.196347: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:41.196353: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:41.196361: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:41.196366: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:41.196373: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:41.196378: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:41.196385: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:41.196389: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:41.196414: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:41.624429: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:55:41.624448: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:55:41.624452: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:55:41.624581: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:55:41.624988: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:55:50.392224: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:316] Ignored output_format.\n", + "2021-04-03 11:55:50.392245: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:319] Ignored drop_control_dependency.\n", + "2021-04-03 11:55:50.392250: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:325] Ignored change_concat_input_ranges.\n", + "2021-04-03 11:55:50.392901: I tensorflow/cc/saved_model/reader.cc:32] Reading SavedModel from: Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model\n", + "2021-04-03 11:55:50.467288: I tensorflow/cc/saved_model/reader.cc:55] Reading meta graph with tags { serve }\n", + "2021-04-03 11:55:50.467341: I tensorflow/cc/saved_model/reader.cc:93] Reading SavedModel debug info (if present) from: Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model\n", + "2021-04-03 11:55:50.467439: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:55:50.467446: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] \n", + "2021-04-03 11:55:50.467452: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n", + "2021-04-03 11:55:50.748887: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:196] None of the MLIR optimization passes are enabled (registered 0 passes)\n", + "2021-04-03 11:55:50.790035: I tensorflow/cc/saved_model/loader.cc:206] Restoring SavedModel bundle.\n", + "2021-04-03 11:55:51.366069: I tensorflow/cc/saved_model/loader.cc:190] Running initialization op on SavedModel bundle at path: Tensorflow\\workspace\\models\\my_ssd_mobnet\\tfliteexport\\saved_model\n", + "2021-04-03 11:55:51.623706: I tensorflow/cc/saved_model/loader.cc:277] SavedModel load for tags { serve }; Status: success: OK. Took 1230797 microseconds.\n", + "2021-04-03 11:55:52.694959: I tensorflow/compiler/mlir/tensorflow/utils/dump_mlir_util.cc:194] disabling MLIR crash reproducer, set env var `MLIR_CRASH_REPRODUCER_DIRECTORY` to enable.\n", + "2021-04-03 11:55:53.295613: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: \n", + "pciBusID: 0000:2b:00.0 name: GeForce RTX 2070 SUPER computeCapability: 7.5\n", + "coreClock: 1.785GHz coreCount: 40 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 417.29GiB/s\n", + "2021-04-03 11:55:53.295643: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll\n", + "2021-04-03 11:55:53.295652: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll\n", + "2021-04-03 11:55:53.295658: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll\n", + "2021-04-03 11:55:53.295666: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll\n", + "2021-04-03 11:55:53.295671: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll\n", + "2021-04-03 11:55:53.295678: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll\n", + "2021-04-03 11:55:53.295683: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll\n", + "2021-04-03 11:55:53.295689: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll\n", + "2021-04-03 11:55:53.295714: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0\n", + "2021-04-03 11:55:53.295753: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:\n", + "2021-04-03 11:55:53.295759: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0 \n", + "2021-04-03 11:55:53.295762: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N \n", + "2021-04-03 11:55:53.295817: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6611 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2070 SUPER, pci bus id: 0000:2b:00.0, compute capability: 7.5)\n", + "2021-04-03 11:55:53.295834: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set\n" + ] + } + ], "source": [ "!{command}" ] @@ -3462,9 +4184,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.11.7" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/2. Training and Detection.ipynb b/2. Training and Detection.ipynb index 7827d4dd7..c5cfd4fd4 100644 --- a/2. Training and Detection.ipynb +++ b/2. Training and Detection.ipynb @@ -2024,16 +2024,17 @@ } ], "source": [ - "VERIFICATION_SCRIPT = os.path.join(paths['APIMODEL_PATH'], 'research', 'object_detection', 'builders', 'model_builder_tf2_test.py')\n", - "# Verify Installation\n", - "!python {VERIFICATION_SCRIPT}" + "!pip install tensorflow==2.13.1" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "outputs": [ { @@ -2124,14 +2125,19 @@ } ], "source": [ - "!pip install tensorflow --upgrade" + "VERIFICATION_SCRIPT = os.path.join(paths['APIMODEL_PATH'], 'research', 'object_detection', 'builders', 'model_builder_tf2_test.py')\n", + "# Verify Installation\n", + "!python {VERIFICATION_SCRIPT}" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "outputs": [ { @@ -2209,6 +2215,7 @@ } ], "source": [ + "#no need to run this\n", "!pip uninstall protobuf matplotlib -y\n", "!pip install protobuf matplotlib==3.2" ] @@ -4177,9 +4184,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.11.7" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..8d28dba22 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,161 @@ +absl-py==1.4.0 +apache-beam==2.57.0 +array-record==0.4.0 +asttokens==2.4.1 +astunparse==1.6.3 +async-timeout==4.0.3 +attrs==23.2.0 +avro-python3==1.10.2 +backcall==0.2.0 +backports.zoneinfo==0.2.1 +bleach==6.1.0 +cachetools==5.3.3 +certifi==2024.7.4 +charset-normalizer==3.3.2 +click==8.1.7 +cloudpickle==2.2.1 +colorama==0.4.6 +comm==0.2.2 +contextlib2==21.6.0 +contourpy==1.1.1 +crcmod==1.7 +cycler==0.12.1 +Cython==3.0.10 +debugpy==1.8.2 +decorator==5.1.1 +dill==0.3.1.1 +dm-tree==0.1.8 +dnspython==2.6.1 +docopt==0.6.2 +etils==1.3.0 +executing==2.0.1 +fastavro==1.9.5 +fasteners==0.19 +flatbuffers==24.3.25 +fonttools==4.53.1 +gast==0.4.0 +gin-config==0.5.0 +google-api-core==2.19.1 +google-api-python-client==2.136.0 +google-auth==2.32.0 +google-auth-httplib2==0.2.0 +google-auth-oauthlib==1.0.0 +google-pasta==0.2.0 +googleapis-common-protos==1.63.2 +grpcio==1.64.1 +h5py==3.11.0 +hdfs==2.7.3 +httplib2==0.22.0 +idna==3.7 +immutabledict==4.2.0 +importlib_metadata==8.0.0 +importlib_resources==6.4.0 +ipykernel==6.29.5 +ipython==8.12.3 +jedi==0.19.1 +joblib==1.4.2 +Js2Py==0.74 +jsonpickle==3.2.2 +jsonschema==4.23.0 +jsonschema-specifications==2023.12.1 +jupyter_client==8.6.2 +jupyter_core==5.7.2 +kaggle==1.6.14 +keras==2.13.1 +kiwisolver==1.4.5 +libclang==18.1.1 +lvis==0.5.3 +lxml==5.2.2 +Markdown==3.6 +MarkupSafe==2.1.5 +matplotlib==3.7.5 +matplotlib-inline==0.1.7 +nest-asyncio==1.6.0 +numpy==1.24.3 +oauth2client==4.1.3 +oauthlib==3.2.2 +object-detection==0.1 +objsize==0.7.0 +opencv-python==4.10.0.84 +opencv-python-headless==4.10.0.84 +opt-einsum==3.3.0 +orjson==3.10.6 +packaging==24.1 +pandas==2.0.3 +parso==0.8.4 +pexpect==4.9.0 +pickleshare==0.7.5 +pillow==10.4.0 +pkgutil_resolve_name==1.3.10 +platformdirs==4.2.2 +portalocker==2.10.0 +promise==2.3 +prompt_toolkit==3.0.47 +proto-plus==1.24.0 +protobuf==3.20.3 +psutil==6.0.0 +ptyprocess==0.7.0 +pure-eval==0.2.2 +py-cpuinfo==9.0.0 +pyarrow==16.1.0 +pyarrow-hotfix==0.6 +pyasn1==0.6.0 +pyasn1_modules==0.4.0 +pycocotools==2.0.7 +pydot==1.4.2 +Pygments==2.18.0 +pyjsparser==2.7.1 +pymongo==4.8.0 +pyparsing==2.4.7 +python-dateutil==2.9.0.post0 +python-slugify==8.0.4 +pytz==2024.1 +PyYAML==6.0.1 +pyzmq==26.0.3 +redis==5.0.7 +referencing==0.35.1 +regex==2024.5.15 +requests==2.31.0 +requests-oauthlib==2.0.0 +rpds-py==0.19.0 +rsa==4.9 +sacrebleu==2.2.0 +scikit-learn==1.3.2 +scipy==1.10.1 +sentencepiece==0.2.0 +seqeval==1.2.2 +six==1.16.0 +stack-data==0.6.3 +tabulate==0.9.0 +tensorboard==2.13.0 +tensorboard-data-server==0.7.2 +tensorflow==2.13.1 +tensorflow-datasets==4.9.2 +tensorflow-estimator==2.13.0 +tensorflow-hub==0.16.1 +tensorflow-io==0.34.0 +tensorflow-io-gcs-filesystem==0.34.0 +tensorflow-metadata==1.14.0 +tensorflow-model-optimization==0.8.0 +tensorflow-text==2.13.0 +termcolor==2.4.0 +text-unidecode==1.3 +tf-keras==2.15.0 +tf-models-official==2.13.2 +tf-slim==1.1.0 +threadpoolctl==3.5.0 +toml==0.10.2 +tornado==6.4.1 +tqdm==4.66.4 +traitlets==5.14.3 +typing_extensions==4.5.0 +tzdata==2024.1 +tzlocal==5.2 +uritemplate==4.1.1 +urllib3==2.2.2 +wcwidth==0.2.13 +webencodings==0.5.1 +Werkzeug==3.0.3 +wrapt==1.16.0 +zipp==3.19.2 +zstandard==0.22.0