Created
July 17, 2024 15:06
-
-
Save nickfox-taterli/9fcec36aa57e8b0156819d5ee978c1e3 to your computer and use it in GitHub Desktop.
tinyimagenet like simple train
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "e46fabe1", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"ename": "TypeError", | |
"evalue": "Unable to convert function return value to a Python type! The signature was\n\t() -> handle", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", | |
"Cell \u001b[1;32mIn[4], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mtf\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(tf\u001b[38;5;241m.\u001b[39m__version__)\n\u001b[0;32m 5\u001b[0m physical_devices \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mconfig\u001b[38;5;241m.\u001b[39mexperimental\u001b[38;5;241m.\u001b[39mlist_physical_devices(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mGPU\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\__init__.py:37\u001b[0m\n\u001b[0;32m 34\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m 35\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtyping\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_typing\u001b[39;00m\n\u001b[1;32m---> 37\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtools\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m module_util \u001b[38;5;28;01mas\u001b[39;00m _module_util\n\u001b[0;32m 38\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlazy_loader\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m LazyLoader \u001b[38;5;28;01mas\u001b[39;00m _LazyLoader\n\u001b[0;32m 40\u001b[0m \u001b[38;5;66;03m# Make sure code inside the TensorFlow codebase can use tf2.enabled() at import.\u001b[39;00m\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\__init__.py:42\u001b[0m\n\u001b[0;32m 37\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01meager\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m context\n\u001b[0;32m 39\u001b[0m \u001b[38;5;66;03m# pylint: enable=wildcard-import\u001b[39;00m\n\u001b[0;32m 40\u001b[0m \n\u001b[0;32m 41\u001b[0m \u001b[38;5;66;03m# Bring in subpackages.\u001b[39;00m\n\u001b[1;32m---> 42\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m data\n\u001b[0;32m 43\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m distribute\n\u001b[0;32m 44\u001b[0m \u001b[38;5;66;03m# from tensorflow.python import keras\u001b[39;00m\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\__init__.py:21\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[38;5;124;03m\"\"\"`tf.data.Dataset` API for input pipelines.\u001b[39;00m\n\u001b[0;32m 16\u001b[0m \n\u001b[0;32m 17\u001b[0m \u001b[38;5;124;03mSee [Importing Data](https://tensorflow.org/guide/data) for an overview.\u001b[39;00m\n\u001b[0;32m 18\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 20\u001b[0m \u001b[38;5;66;03m# pylint: disable=unused-import\u001b[39;00m\n\u001b[1;32m---> 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m experimental\n\u001b[0;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdataset_ops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AUTOTUNE\n\u001b[0;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdataset_ops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Dataset\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\experimental\\__init__.py:96\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[38;5;124;03m\"\"\"Experimental API for building input pipelines.\u001b[39;00m\n\u001b[0;32m 16\u001b[0m \n\u001b[0;32m 17\u001b[0m \u001b[38;5;124;03mThis module contains experimental `Dataset` sources and transformations that can\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 92\u001b[0m \u001b[38;5;124;03m@@UNKNOWN_CARDINALITY\u001b[39;00m\n\u001b[0;32m 93\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 95\u001b[0m \u001b[38;5;66;03m# pylint: disable=unused-import\u001b[39;00m\n\u001b[1;32m---> 96\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m service\n\u001b[0;32m 97\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbatching\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dense_to_ragged_batch\n\u001b[0;32m 98\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbatching\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dense_to_sparse_batch\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\experimental\\service\\__init__.py:419\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2020 The TensorFlow Authors. All Rights Reserved.\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[38;5;66;03m# limitations under the License.\u001b[39;00m\n\u001b[0;32m 14\u001b[0m \u001b[38;5;66;03m# ==============================================================================\u001b[39;00m\n\u001b[0;32m 15\u001b[0m \u001b[38;5;124;03m\"\"\"API for using the tf.data service.\u001b[39;00m\n\u001b[0;32m 16\u001b[0m \n\u001b[0;32m 17\u001b[0m \u001b[38;5;124;03mThis module contains:\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 416\u001b[0m \u001b[38;5;124;03m job of ParameterServerStrategy).\u001b[39;00m\n\u001b[0;32m 417\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m--> 419\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata_service_ops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m distribute\n\u001b[0;32m 420\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata_service_ops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m from_dataset_id\n\u001b[0;32m 421\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata_service_ops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m register_dataset\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\experimental\\ops\\data_service_ops.py:24\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m tf2\n\u001b[0;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compat\n\u001b[1;32m---> 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compression_ops\n\u001b[0;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mservice\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _pywrap_server_lib\n\u001b[0;32m 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mservice\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _pywrap_utils\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\experimental\\ops\\compression_ops.py:16\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2020 The TensorFlow Authors. All Rights Reserved.\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[38;5;66;03m# limitations under the License.\u001b[39;00m\n\u001b[0;32m 14\u001b[0m \u001b[38;5;66;03m# ==============================================================================\u001b[39;00m\n\u001b[0;32m 15\u001b[0m \u001b[38;5;124;03m\"\"\"Ops for compressing and uncompressing dataset elements.\"\"\"\u001b[39;00m\n\u001b[1;32m---> 16\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m structure\n\u001b[0;32m 17\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mops\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m gen_experimental_dataset_ops \u001b[38;5;28;01mas\u001b[39;00m ged_ops\n\u001b[0;32m 20\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcompress\u001b[39m(element):\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\util\\structure.py:23\u001b[0m\n\u001b[0;32m 20\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mwrapt\u001b[39;00m\n\u001b[1;32m---> 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m nest\n\u001b[0;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m composite_tensor\n\u001b[0;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ops\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\data\\util\\nest.py:36\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[38;5;124;03m\"\"\"## Functions for working with arbitrarily nested sequences of elements.\u001b[39;00m\n\u001b[0;32m 17\u001b[0m \n\u001b[0;32m 18\u001b[0m \u001b[38;5;124;03mNOTE(mrry): This fork of the `tensorflow.python.util.nest` module\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 31\u001b[0m \u001b[38;5;124;03m arrays.\u001b[39;00m\n\u001b[0;32m 32\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 34\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_six\u001b[39;00m\n\u001b[1;32m---> 36\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m sparse_tensor \u001b[38;5;28;01mas\u001b[39;00m _sparse_tensor\n\u001b[0;32m 37\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _pywrap_utils\n\u001b[0;32m 38\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m nest\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\framework\\sparse_tensor.py:24\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m tf2\n\u001b[0;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m composite_tensor\n\u001b[1;32m---> 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m constant_op\n\u001b[0;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dtypes\n\u001b[0;32m 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ops\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\framework\\constant_op.py:25\u001b[0m\n\u001b[0;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m types_pb2\n\u001b[0;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01meager\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m context\n\u001b[1;32m---> 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01meager\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m execute\n\u001b[0;32m 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dtypes\n\u001b[0;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m op_callbacks\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\execute.py:23\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m pywrap_tfe\n\u001b[0;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01meager\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m---> 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m dtypes\n\u001b[0;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ops\n\u001b[0;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mframework\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m tensor_shape\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\framework\\dtypes.py:34\u001b[0m\n\u001b[0;32m 31\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtypes\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m trace\n\u001b[0;32m 32\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfunction\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m trace_type\n\u001b[1;32m---> 34\u001b[0m _np_bfloat16 \u001b[38;5;241m=\u001b[39m \u001b[43m_pywrap_bfloat16\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mTF_bfloat16_type\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 37\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mDTypeMeta\u001b[39;00m(\u001b[38;5;28mtype\u001b[39m(_dtypes\u001b[38;5;241m.\u001b[39mDType), abc\u001b[38;5;241m.\u001b[39mABCMeta):\n\u001b[0;32m 38\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n", | |
"\u001b[1;31mTypeError\u001b[0m: Unable to convert function return value to a Python type! The signature was\n\t() -> handle" | |
] | |
} | |
], | |
"source": [ | |
"import tensorflow as tf\n", | |
"\n", | |
"print(tf.__version__)\n", | |
"\n", | |
"physical_devices = tf.config.experimental.list_physical_devices('GPU')\n", | |
"print(\"Physical GPUs: \", physical_devices)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "60fa13bc", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"{'n01443537': 0, 'n01629819': 1, 'n01641577': 2, 'n01644900': 3, 'n01698640': 4, 'n01742172': 5, 'n01768244': 6, 'n01770393': 7, 'n01774384': 8, 'n01774750': 9, 'n01784675': 10, 'n01855672': 11, 'n01882714': 12, 'n01910747': 13, 'n01917289': 14, 'n01944390': 15, 'n01945685': 16, 'n01950731': 17, 'n01983481': 18, 'n01984695': 19, 'n02002724': 20, 'n02056570': 21, 'n02058221': 22, 'n02074367': 23, 'n02085620': 24, 'n02094433': 25, 'n02099601': 26, 'n02099712': 27, 'n02106662': 28, 'n02113799': 29, 'n02123045': 30, 'n02123394': 31, 'n02124075': 32, 'n02125311': 33, 'n02129165': 34, 'n02132136': 35, 'n02165456': 36, 'n02190166': 37, 'n02206856': 38, 'n02226429': 39, 'n02231487': 40, 'n02233338': 41, 'n02236044': 42, 'n02268443': 43, 'n02279972': 44, 'n02281406': 45, 'n02321529': 46, 'n02364673': 47, 'n02395406': 48, 'n02403003': 49, 'n02410509': 50, 'n02415577': 51, 'n02423022': 52, 'n02437312': 53, 'n02480495': 54, 'n02481823': 55, 'n02486410': 56, 'n02504458': 57, 'n02509815': 58, 'n02666196': 59, 'n02669723': 60, 'n02699494': 61, 'n02730930': 62, 'n02769748': 63, 'n02788148': 64, 'n02791270': 65, 'n02793495': 66, 'n02795169': 67, 'n02802426': 68, 'n02808440': 69, 'n02814533': 70, 'n02814860': 71, 'n02815834': 72, 'n02823428': 73, 'n02837789': 74, 'n02841315': 75, 'n02843684': 76, 'n02883205': 77, 'n02892201': 78, 'n02906734': 79, 'n02909870': 80, 'n02917067': 81, 'n02927161': 82, 'n02948072': 83, 'n02950826': 84, 'n02963159': 85, 'n02977058': 86, 'n02988304': 87, 'n02999410': 88, 'n03014705': 89, 'n03026506': 90, 'n03042490': 91, 'n03085013': 92, 'n03089624': 93, 'n03100240': 94, 'n03126707': 95, 'n03160309': 96, 'n03179701': 97, 'n03201208': 98, 'n03250847': 99, 'n03255030': 100, 'n03355925': 101, 'n03388043': 102, 'n03393912': 103, 'n03400231': 104, 'n03404251': 105, 'n03424325': 106, 'n03444034': 107, 'n03447447': 108, 'n03544143': 109, 'n03584254': 110, 'n03599486': 111, 'n03617480': 112, 'n03637318': 113, 'n03649909': 114, 'n03662601': 115, 'n03670208': 116, 'n03706229': 117, 'n03733131': 118, 'n03763968': 119, 'n03770439': 120, 'n03796401': 121, 'n03804744': 122, 'n03814639': 123, 'n03837869': 124, 'n03838899': 125, 'n03854065': 126, 'n03891332': 127, 'n03902125': 128, 'n03930313': 129, 'n03937543': 130, 'n03970156': 131, 'n03976657': 132, 'n03977966': 133, 'n03980874': 134, 'n03983396': 135, 'n03992509': 136, 'n04008634': 137, 'n04023962': 138, 'n04067472': 139, 'n04070727': 140, 'n04074963': 141, 'n04099969': 142, 'n04118538': 143, 'n04133789': 144, 'n04146614': 145, 'n04149813': 146, 'n04179913': 147, 'n04251144': 148, 'n04254777': 149, 'n04259630': 150, 'n04265275': 151, 'n04275548': 152, 'n04285008': 153, 'n04311004': 154, 'n04328186': 155, 'n04356056': 156, 'n04366367': 157, 'n04371430': 158, 'n04376876': 159, 'n04398044': 160, 'n04399382': 161, 'n04417672': 162, 'n04456115': 163, 'n04465501': 164, 'n04486054': 165, 'n04487081': 166, 'n04501370': 167, 'n04507155': 168, 'n04532106': 169, 'n04532670': 170, 'n04540053': 171, 'n04560804': 172, 'n04562935': 173, 'n04596742': 174, 'n04597913': 175, 'n06596364': 176, 'n07579787': 177, 'n07583066': 178, 'n07614500': 179, 'n07615774': 180, 'n07695742': 181, 'n07711569': 182, 'n07715103': 183, 'n07720875': 184, 'n07734744': 185, 'n07747607': 186, 'n07749582': 187, 'n07753592': 188, 'n07768694': 189, 'n07871810': 190, 'n07873807': 191, 'n07875152': 192, 'n07920052': 193, 'n09193705': 194, 'n09246464': 195, 'n09256479': 196, 'n09332890': 197, 'n09428293': 198, 'n12267677': 199}\n" | |
] | |
} | |
], | |
"source": [ | |
"import os\n", | |
"import glob\n", | |
"\n", | |
"# 定义目标路径\n", | |
"target_path = 'E:/tiny-imagenet-200/train/n*'\n", | |
"\n", | |
"# 使用glob模块获取所有目录名\n", | |
"directories = glob.glob(target_path)\n", | |
"\n", | |
"# 提取目录名称,这里使用os.path.basename来获取目录名\n", | |
"dir_names = [os.path.basename(d) for d in directories]\n", | |
"\n", | |
"# 对目录名进行排序\n", | |
"sorted_dir_names = sorted(dir_names)\n", | |
"\n", | |
"# 创建目录名到索引的映射\n", | |
"name_to_index = {name: idx for idx, name in enumerate(sorted_dir_names)}\n", | |
"\n", | |
"# 打印映射结果,检查是否正确映射\n", | |
"print(name_to_index)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "106b9895", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(32, 64, 64, 3)\n", | |
"(32,)\n" | |
] | |
} | |
], | |
"source": [ | |
"import os\n", | |
"# import matplotlib.pyplot as plt\n", | |
"import tensorflow as tf\n", | |
"\n", | |
"# 定义数据目录\n", | |
"data_dir = 'E:/tiny-imagenet-200/train'\n", | |
"\n", | |
"# 创建数据集\n", | |
"dataset = tf.data.Dataset.list_files(str(data_dir + '/n*/*/*'))\n", | |
"\n", | |
"def process_path(file_path):\n", | |
" # 获取标签\n", | |
" parts = tf.strings.split(file_path, os.path.sep)\n", | |
" label = parts[-3]\n", | |
" \n", | |
" # 打印文件路径和提取的标签\n", | |
" # tf.print(\"File path:\", file_path)\n", | |
" # tf.print(\"Extracted label:\", label)\n", | |
" \n", | |
" # 将标签转换为索引值\n", | |
" def get_label_index(label):\n", | |
" label_str = label.numpy().decode('utf-8')\n", | |
" return name_to_index.get(label_str, -1) # 如果找不到,返回 -1 或其他默认值\n", | |
" \n", | |
" label_idx = tf.py_function(get_label_index, [label], tf.int32)\n", | |
" label_idx.set_shape([]) # 标量形状\n", | |
" \n", | |
" # 读取图像文件\n", | |
" image = tf.io.read_file(file_path)\n", | |
" image = tf.image.decode_jpeg(image, channels=3)\n", | |
" image = tf.image.resize(image, [64, 64]) # 调整图像大小\n", | |
" \n", | |
" # 设置图像的形状\n", | |
" image.set_shape([64, 64, 3])\n", | |
" \n", | |
" return image, label_idx\n", | |
"\n", | |
"dataset = dataset.map(process_path, num_parallel_calls=tf.data.AUTOTUNE)\n", | |
"dataset = dataset.shuffle(buffer_size=10000) # 实际大小是10000\n", | |
"dataset = dataset.batch(batch_size=32)\n", | |
"dataset = dataset.prefetch(buffer_size=tf.data.AUTOTUNE)\n", | |
"\n", | |
"for images, labels in dataset.take(1):\n", | |
" print(images.shape);\n", | |
" print(labels.shape);\n", | |
"# images = images.numpy().astype(\"uint8\")\n", | |
"# labels = labels.numpy()\n", | |
"\n", | |
"# plt.figure(figsize=(10, 10))\n", | |
"# for i in range(min(9, images.shape[0])): # 确保显示不超过9个样本\n", | |
"# plt.subplot(3, 3, i + 1)\n", | |
"# plt.imshow(images[i])\n", | |
"# plt.title(str(labels[i])) # 显示标签\n", | |
"# plt.axis(\"off\")\n", | |
"# plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"id": "c83bfa8c", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Model: \"model_3\"\n", | |
"__________________________________________________________________________________________________\n", | |
" Layer (type) Output Shape Param # Connected to \n", | |
"==================================================================================================\n", | |
" input_8 (InputLayer) [(None, 64, 64, 3)] 0 [] \n", | |
" \n", | |
" conv1_pad (ZeroPadding2D) (None, 70, 70, 3) 0 ['input_8[0][0]'] \n", | |
" \n", | |
" conv1_conv (Conv2D) (None, 32, 32, 64) 9472 ['conv1_pad[0][0]'] \n", | |
" \n", | |
" conv1_bn (BatchNormalization) (None, 32, 32, 64) 256 ['conv1_conv[0][0]'] \n", | |
" \n", | |
" conv1_relu (Activation) (None, 32, 32, 64) 0 ['conv1_bn[0][0]'] \n", | |
" \n", | |
" pool1_pad (ZeroPadding2D) (None, 34, 34, 64) 0 ['conv1_relu[0][0]'] \n", | |
" \n", | |
" pool1_pool (MaxPooling2D) (None, 16, 16, 64) 0 ['pool1_pad[0][0]'] \n", | |
" \n", | |
" conv2_block1_1_conv (Conv2D) (None, 16, 16, 64) 4160 ['pool1_pool[0][0]'] \n", | |
" \n", | |
" conv2_block1_1_bn (BatchNormal (None, 16, 16, 64) 256 ['conv2_block1_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block1_1_relu (Activatio (None, 16, 16, 64) 0 ['conv2_block1_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv2_block1_2_conv (Conv2D) (None, 16, 16, 64) 36928 ['conv2_block1_1_relu[0][0]'] \n", | |
" \n", | |
" conv2_block1_2_bn (BatchNormal (None, 16, 16, 64) 256 ['conv2_block1_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block1_2_relu (Activatio (None, 16, 16, 64) 0 ['conv2_block1_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv2_block1_0_conv (Conv2D) (None, 16, 16, 256) 16640 ['pool1_pool[0][0]'] \n", | |
" \n", | |
" conv2_block1_3_conv (Conv2D) (None, 16, 16, 256) 16640 ['conv2_block1_2_relu[0][0]'] \n", | |
" \n", | |
" conv2_block1_0_bn (BatchNormal (None, 16, 16, 256) 1024 ['conv2_block1_0_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block1_3_bn (BatchNormal (None, 16, 16, 256) 1024 ['conv2_block1_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block1_add (Add) (None, 16, 16, 256) 0 ['conv2_block1_0_bn[0][0]', \n", | |
" 'conv2_block1_3_bn[0][0]'] \n", | |
" \n", | |
" conv2_block1_out (Activation) (None, 16, 16, 256) 0 ['conv2_block1_add[0][0]'] \n", | |
" \n", | |
" conv2_block2_1_conv (Conv2D) (None, 16, 16, 64) 16448 ['conv2_block1_out[0][0]'] \n", | |
" \n", | |
" conv2_block2_1_bn (BatchNormal (None, 16, 16, 64) 256 ['conv2_block2_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block2_1_relu (Activatio (None, 16, 16, 64) 0 ['conv2_block2_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv2_block2_2_conv (Conv2D) (None, 16, 16, 64) 36928 ['conv2_block2_1_relu[0][0]'] \n", | |
" \n", | |
" conv2_block2_2_bn (BatchNormal (None, 16, 16, 64) 256 ['conv2_block2_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block2_2_relu (Activatio (None, 16, 16, 64) 0 ['conv2_block2_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv2_block2_3_conv (Conv2D) (None, 16, 16, 256) 16640 ['conv2_block2_2_relu[0][0]'] \n", | |
" \n", | |
" conv2_block2_3_bn (BatchNormal (None, 16, 16, 256) 1024 ['conv2_block2_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block2_add (Add) (None, 16, 16, 256) 0 ['conv2_block1_out[0][0]', \n", | |
" 'conv2_block2_3_bn[0][0]'] \n", | |
" \n", | |
" conv2_block2_out (Activation) (None, 16, 16, 256) 0 ['conv2_block2_add[0][0]'] \n", | |
" \n", | |
" conv2_block3_1_conv (Conv2D) (None, 16, 16, 64) 16448 ['conv2_block2_out[0][0]'] \n", | |
" \n", | |
" conv2_block3_1_bn (BatchNormal (None, 16, 16, 64) 256 ['conv2_block3_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block3_1_relu (Activatio (None, 16, 16, 64) 0 ['conv2_block3_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv2_block3_2_conv (Conv2D) (None, 16, 16, 64) 36928 ['conv2_block3_1_relu[0][0]'] \n", | |
" \n", | |
" conv2_block3_2_bn (BatchNormal (None, 16, 16, 64) 256 ['conv2_block3_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block3_2_relu (Activatio (None, 16, 16, 64) 0 ['conv2_block3_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv2_block3_3_conv (Conv2D) (None, 16, 16, 256) 16640 ['conv2_block3_2_relu[0][0]'] \n", | |
" \n", | |
" conv2_block3_3_bn (BatchNormal (None, 16, 16, 256) 1024 ['conv2_block3_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv2_block3_add (Add) (None, 16, 16, 256) 0 ['conv2_block2_out[0][0]', \n", | |
" 'conv2_block3_3_bn[0][0]'] \n", | |
" \n", | |
" conv2_block3_out (Activation) (None, 16, 16, 256) 0 ['conv2_block3_add[0][0]'] \n", | |
" \n", | |
" conv3_block1_1_conv (Conv2D) (None, 8, 8, 128) 32896 ['conv2_block3_out[0][0]'] \n", | |
" \n", | |
" conv3_block1_1_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block1_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block1_1_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block1_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block1_2_conv (Conv2D) (None, 8, 8, 128) 147584 ['conv3_block1_1_relu[0][0]'] \n", | |
" \n", | |
" conv3_block1_2_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block1_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block1_2_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block1_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block1_0_conv (Conv2D) (None, 8, 8, 512) 131584 ['conv2_block3_out[0][0]'] \n", | |
" \n", | |
" conv3_block1_3_conv (Conv2D) (None, 8, 8, 512) 66048 ['conv3_block1_2_relu[0][0]'] \n", | |
" \n", | |
" conv3_block1_0_bn (BatchNormal (None, 8, 8, 512) 2048 ['conv3_block1_0_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block1_3_bn (BatchNormal (None, 8, 8, 512) 2048 ['conv3_block1_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block1_add (Add) (None, 8, 8, 512) 0 ['conv3_block1_0_bn[0][0]', \n", | |
" 'conv3_block1_3_bn[0][0]'] \n", | |
" \n", | |
" conv3_block1_out (Activation) (None, 8, 8, 512) 0 ['conv3_block1_add[0][0]'] \n", | |
" \n", | |
" conv3_block2_1_conv (Conv2D) (None, 8, 8, 128) 65664 ['conv3_block1_out[0][0]'] \n", | |
" \n", | |
" conv3_block2_1_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block2_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block2_1_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block2_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block2_2_conv (Conv2D) (None, 8, 8, 128) 147584 ['conv3_block2_1_relu[0][0]'] \n", | |
" \n", | |
" conv3_block2_2_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block2_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block2_2_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block2_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block2_3_conv (Conv2D) (None, 8, 8, 512) 66048 ['conv3_block2_2_relu[0][0]'] \n", | |
" \n", | |
" conv3_block2_3_bn (BatchNormal (None, 8, 8, 512) 2048 ['conv3_block2_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block2_add (Add) (None, 8, 8, 512) 0 ['conv3_block1_out[0][0]', \n", | |
" 'conv3_block2_3_bn[0][0]'] \n", | |
" \n", | |
" conv3_block2_out (Activation) (None, 8, 8, 512) 0 ['conv3_block2_add[0][0]'] \n", | |
" \n", | |
" conv3_block3_1_conv (Conv2D) (None, 8, 8, 128) 65664 ['conv3_block2_out[0][0]'] \n", | |
" \n", | |
" conv3_block3_1_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block3_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block3_1_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block3_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block3_2_conv (Conv2D) (None, 8, 8, 128) 147584 ['conv3_block3_1_relu[0][0]'] \n", | |
" \n", | |
" conv3_block3_2_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block3_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block3_2_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block3_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block3_3_conv (Conv2D) (None, 8, 8, 512) 66048 ['conv3_block3_2_relu[0][0]'] \n", | |
" \n", | |
" conv3_block3_3_bn (BatchNormal (None, 8, 8, 512) 2048 ['conv3_block3_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block3_add (Add) (None, 8, 8, 512) 0 ['conv3_block2_out[0][0]', \n", | |
" 'conv3_block3_3_bn[0][0]'] \n", | |
" \n", | |
" conv3_block3_out (Activation) (None, 8, 8, 512) 0 ['conv3_block3_add[0][0]'] \n", | |
" \n", | |
" conv3_block4_1_conv (Conv2D) (None, 8, 8, 128) 65664 ['conv3_block3_out[0][0]'] \n", | |
" \n", | |
" conv3_block4_1_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block4_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block4_1_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block4_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block4_2_conv (Conv2D) (None, 8, 8, 128) 147584 ['conv3_block4_1_relu[0][0]'] \n", | |
" \n", | |
" conv3_block4_2_bn (BatchNormal (None, 8, 8, 128) 512 ['conv3_block4_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block4_2_relu (Activatio (None, 8, 8, 128) 0 ['conv3_block4_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv3_block4_3_conv (Conv2D) (None, 8, 8, 512) 66048 ['conv3_block4_2_relu[0][0]'] \n", | |
" \n", | |
" conv3_block4_3_bn (BatchNormal (None, 8, 8, 512) 2048 ['conv3_block4_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv3_block4_add (Add) (None, 8, 8, 512) 0 ['conv3_block3_out[0][0]', \n", | |
" 'conv3_block4_3_bn[0][0]'] \n", | |
" \n", | |
" conv3_block4_out (Activation) (None, 8, 8, 512) 0 ['conv3_block4_add[0][0]'] \n", | |
" \n", | |
" conv4_block1_1_conv (Conv2D) (None, 4, 4, 256) 131328 ['conv3_block4_out[0][0]'] \n", | |
" \n", | |
" conv4_block1_1_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block1_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block1_1_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block1_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block1_2_conv (Conv2D) (None, 4, 4, 256) 590080 ['conv4_block1_1_relu[0][0]'] \n", | |
" \n", | |
" conv4_block1_2_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block1_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block1_2_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block1_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block1_0_conv (Conv2D) (None, 4, 4, 1024) 525312 ['conv3_block4_out[0][0]'] \n", | |
" \n", | |
" conv4_block1_3_conv (Conv2D) (None, 4, 4, 1024) 263168 ['conv4_block1_2_relu[0][0]'] \n", | |
" \n", | |
" conv4_block1_0_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block1_0_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block1_3_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block1_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block1_add (Add) (None, 4, 4, 1024) 0 ['conv4_block1_0_bn[0][0]', \n", | |
" 'conv4_block1_3_bn[0][0]'] \n", | |
" \n", | |
" conv4_block1_out (Activation) (None, 4, 4, 1024) 0 ['conv4_block1_add[0][0]'] \n", | |
" \n", | |
" conv4_block2_1_conv (Conv2D) (None, 4, 4, 256) 262400 ['conv4_block1_out[0][0]'] \n", | |
" \n", | |
" conv4_block2_1_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block2_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block2_1_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block2_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block2_2_conv (Conv2D) (None, 4, 4, 256) 590080 ['conv4_block2_1_relu[0][0]'] \n", | |
" \n", | |
" conv4_block2_2_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block2_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block2_2_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block2_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block2_3_conv (Conv2D) (None, 4, 4, 1024) 263168 ['conv4_block2_2_relu[0][0]'] \n", | |
" \n", | |
" conv4_block2_3_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block2_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block2_add (Add) (None, 4, 4, 1024) 0 ['conv4_block1_out[0][0]', \n", | |
" 'conv4_block2_3_bn[0][0]'] \n", | |
" \n", | |
" conv4_block2_out (Activation) (None, 4, 4, 1024) 0 ['conv4_block2_add[0][0]'] \n", | |
" \n", | |
" conv4_block3_1_conv (Conv2D) (None, 4, 4, 256) 262400 ['conv4_block2_out[0][0]'] \n", | |
" \n", | |
" conv4_block3_1_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block3_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block3_1_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block3_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block3_2_conv (Conv2D) (None, 4, 4, 256) 590080 ['conv4_block3_1_relu[0][0]'] \n", | |
" \n", | |
" conv4_block3_2_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block3_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block3_2_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block3_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block3_3_conv (Conv2D) (None, 4, 4, 1024) 263168 ['conv4_block3_2_relu[0][0]'] \n", | |
" \n", | |
" conv4_block3_3_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block3_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block3_add (Add) (None, 4, 4, 1024) 0 ['conv4_block2_out[0][0]', \n", | |
" 'conv4_block3_3_bn[0][0]'] \n", | |
" \n", | |
" conv4_block3_out (Activation) (None, 4, 4, 1024) 0 ['conv4_block3_add[0][0]'] \n", | |
" \n", | |
" conv4_block4_1_conv (Conv2D) (None, 4, 4, 256) 262400 ['conv4_block3_out[0][0]'] \n", | |
" \n", | |
" conv4_block4_1_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block4_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block4_1_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block4_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block4_2_conv (Conv2D) (None, 4, 4, 256) 590080 ['conv4_block4_1_relu[0][0]'] \n", | |
" \n", | |
" conv4_block4_2_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block4_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block4_2_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block4_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block4_3_conv (Conv2D) (None, 4, 4, 1024) 263168 ['conv4_block4_2_relu[0][0]'] \n", | |
" \n", | |
" conv4_block4_3_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block4_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block4_add (Add) (None, 4, 4, 1024) 0 ['conv4_block3_out[0][0]', \n", | |
" 'conv4_block4_3_bn[0][0]'] \n", | |
" \n", | |
" conv4_block4_out (Activation) (None, 4, 4, 1024) 0 ['conv4_block4_add[0][0]'] \n", | |
" \n", | |
" conv4_block5_1_conv (Conv2D) (None, 4, 4, 256) 262400 ['conv4_block4_out[0][0]'] \n", | |
" \n", | |
" conv4_block5_1_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block5_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block5_1_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block5_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block5_2_conv (Conv2D) (None, 4, 4, 256) 590080 ['conv4_block5_1_relu[0][0]'] \n", | |
" \n", | |
" conv4_block5_2_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block5_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block5_2_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block5_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block5_3_conv (Conv2D) (None, 4, 4, 1024) 263168 ['conv4_block5_2_relu[0][0]'] \n", | |
" \n", | |
" conv4_block5_3_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block5_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block5_add (Add) (None, 4, 4, 1024) 0 ['conv4_block4_out[0][0]', \n", | |
" 'conv4_block5_3_bn[0][0]'] \n", | |
" \n", | |
" conv4_block5_out (Activation) (None, 4, 4, 1024) 0 ['conv4_block5_add[0][0]'] \n", | |
" \n", | |
" conv4_block6_1_conv (Conv2D) (None, 4, 4, 256) 262400 ['conv4_block5_out[0][0]'] \n", | |
" \n", | |
" conv4_block6_1_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block6_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block6_1_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block6_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block6_2_conv (Conv2D) (None, 4, 4, 256) 590080 ['conv4_block6_1_relu[0][0]'] \n", | |
" \n", | |
" conv4_block6_2_bn (BatchNormal (None, 4, 4, 256) 1024 ['conv4_block6_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block6_2_relu (Activatio (None, 4, 4, 256) 0 ['conv4_block6_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv4_block6_3_conv (Conv2D) (None, 4, 4, 1024) 263168 ['conv4_block6_2_relu[0][0]'] \n", | |
" \n", | |
" conv4_block6_3_bn (BatchNormal (None, 4, 4, 1024) 4096 ['conv4_block6_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv4_block6_add (Add) (None, 4, 4, 1024) 0 ['conv4_block5_out[0][0]', \n", | |
" 'conv4_block6_3_bn[0][0]'] \n", | |
" \n", | |
" conv4_block6_out (Activation) (None, 4, 4, 1024) 0 ['conv4_block6_add[0][0]'] \n", | |
" \n", | |
" conv5_block1_1_conv (Conv2D) (None, 2, 2, 512) 524800 ['conv4_block6_out[0][0]'] \n", | |
" \n", | |
" conv5_block1_1_bn (BatchNormal (None, 2, 2, 512) 2048 ['conv5_block1_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block1_1_relu (Activatio (None, 2, 2, 512) 0 ['conv5_block1_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv5_block1_2_conv (Conv2D) (None, 2, 2, 512) 2359808 ['conv5_block1_1_relu[0][0]'] \n", | |
" \n", | |
" conv5_block1_2_bn (BatchNormal (None, 2, 2, 512) 2048 ['conv5_block1_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block1_2_relu (Activatio (None, 2, 2, 512) 0 ['conv5_block1_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv5_block1_0_conv (Conv2D) (None, 2, 2, 2048) 2099200 ['conv4_block6_out[0][0]'] \n", | |
" \n", | |
" conv5_block1_3_conv (Conv2D) (None, 2, 2, 2048) 1050624 ['conv5_block1_2_relu[0][0]'] \n", | |
" \n", | |
" conv5_block1_0_bn (BatchNormal (None, 2, 2, 2048) 8192 ['conv5_block1_0_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block1_3_bn (BatchNormal (None, 2, 2, 2048) 8192 ['conv5_block1_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block1_add (Add) (None, 2, 2, 2048) 0 ['conv5_block1_0_bn[0][0]', \n", | |
" 'conv5_block1_3_bn[0][0]'] \n", | |
" \n", | |
" conv5_block1_out (Activation) (None, 2, 2, 2048) 0 ['conv5_block1_add[0][0]'] \n", | |
" \n", | |
" conv5_block2_1_conv (Conv2D) (None, 2, 2, 512) 1049088 ['conv5_block1_out[0][0]'] \n", | |
" \n", | |
" conv5_block2_1_bn (BatchNormal (None, 2, 2, 512) 2048 ['conv5_block2_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block2_1_relu (Activatio (None, 2, 2, 512) 0 ['conv5_block2_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv5_block2_2_conv (Conv2D) (None, 2, 2, 512) 2359808 ['conv5_block2_1_relu[0][0]'] \n", | |
" \n", | |
" conv5_block2_2_bn (BatchNormal (None, 2, 2, 512) 2048 ['conv5_block2_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block2_2_relu (Activatio (None, 2, 2, 512) 0 ['conv5_block2_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv5_block2_3_conv (Conv2D) (None, 2, 2, 2048) 1050624 ['conv5_block2_2_relu[0][0]'] \n", | |
" \n", | |
" conv5_block2_3_bn (BatchNormal (None, 2, 2, 2048) 8192 ['conv5_block2_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block2_add (Add) (None, 2, 2, 2048) 0 ['conv5_block1_out[0][0]', \n", | |
" 'conv5_block2_3_bn[0][0]'] \n", | |
" \n", | |
" conv5_block2_out (Activation) (None, 2, 2, 2048) 0 ['conv5_block2_add[0][0]'] \n", | |
" \n", | |
" conv5_block3_1_conv (Conv2D) (None, 2, 2, 512) 1049088 ['conv5_block2_out[0][0]'] \n", | |
" \n", | |
" conv5_block3_1_bn (BatchNormal (None, 2, 2, 512) 2048 ['conv5_block3_1_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block3_1_relu (Activatio (None, 2, 2, 512) 0 ['conv5_block3_1_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv5_block3_2_conv (Conv2D) (None, 2, 2, 512) 2359808 ['conv5_block3_1_relu[0][0]'] \n", | |
" \n", | |
" conv5_block3_2_bn (BatchNormal (None, 2, 2, 512) 2048 ['conv5_block3_2_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block3_2_relu (Activatio (None, 2, 2, 512) 0 ['conv5_block3_2_bn[0][0]'] \n", | |
" n) \n", | |
" \n", | |
" conv5_block3_3_conv (Conv2D) (None, 2, 2, 2048) 1050624 ['conv5_block3_2_relu[0][0]'] \n", | |
" \n", | |
" conv5_block3_3_bn (BatchNormal (None, 2, 2, 2048) 8192 ['conv5_block3_3_conv[0][0]'] \n", | |
" ization) \n", | |
" \n", | |
" conv5_block3_add (Add) (None, 2, 2, 2048) 0 ['conv5_block2_out[0][0]', \n", | |
" 'conv5_block3_3_bn[0][0]'] \n", | |
" \n", | |
" conv5_block3_out (Activation) (None, 2, 2, 2048) 0 ['conv5_block3_add[0][0]'] \n", | |
" \n", | |
" global_average_pooling2d_9 (Gl (None, 2048) 0 ['conv5_block3_out[0][0]'] \n", | |
" obalAveragePooling2D) \n", | |
" \n", | |
" dense_8 (Dense) (None, 200) 409800 ['global_average_pooling2d_9[0][0\n", | |
" ]'] \n", | |
" \n", | |
"==================================================================================================\n", | |
"Total params: 23,997,512\n", | |
"Trainable params: 23,944,392\n", | |
"Non-trainable params: 53,120\n", | |
"__________________________________________________________________________________________________\n", | |
"Epoch 1/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 3.5770 - accuracy: 0.2091" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 218s 65ms/step - loss: 3.5770 - accuracy: 0.2091\n", | |
"Epoch 2/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 2.7366 - accuracy: 0.3473" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 211s 67ms/step - loss: 2.7366 - accuracy: 0.3473\n", | |
"Epoch 3/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 2.2824 - accuracy: 0.4369" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 219s 69ms/step - loss: 2.2824 - accuracy: 0.4369\n", | |
"Epoch 4/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 1.8628 - accuracy: 0.5240" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 219s 69ms/step - loss: 1.8628 - accuracy: 0.5240\n", | |
"Epoch 5/20\n", | |
"3124/3125 [============================>.] - ETA: 0s - loss: 1.4335 - accuracy: 0.6177" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 211s 67ms/step - loss: 1.4334 - accuracy: 0.6177\n", | |
"Epoch 6/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 1.0093 - accuracy: 0.7178" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 215s 68ms/step - loss: 1.0093 - accuracy: 0.7178\n", | |
"Epoch 7/20\n", | |
"3124/3125 [============================>.] - ETA: 0s - loss: 0.6701 - accuracy: 0.8037" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 225s 71ms/step - loss: 0.6700 - accuracy: 0.8037\n", | |
"Epoch 8/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 0.4728 - accuracy: 0.8563" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 236s 75ms/step - loss: 0.4728 - accuracy: 0.8563\n", | |
"Epoch 9/20\n", | |
"3125/3125 [==============================] - ETA: 0s - loss: 0.3704 - accuracy: 0.8873" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op while saving (showing 5 of 53). These functions will not be directly callable after loading.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Assets written to: outputs\\saved_model\\assets\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3125/3125 [==============================] - 230s 73ms/step - loss: 0.3704 - accuracy: 0.8873\n", | |
"Epoch 10/20\n", | |
"1286/3125 [===========>..................] - ETA: 1:54 - loss: 0.2328 - accuracy: 0.9283" | |
] | |
}, | |
{ | |
"ename": "KeyboardInterrupt", | |
"evalue": "", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", | |
"Cell \u001b[1;32mIn[13], line 71\u001b[0m\n\u001b[0;32m 62\u001b[0m tensorboard \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mkeras\u001b[38;5;241m.\u001b[39mcallbacks\u001b[38;5;241m.\u001b[39mTensorBoard(\n\u001b[0;32m 63\u001b[0m log_dir\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moutputs/tf_board_log\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;66;03m# 日志输出目录\u001b[39;00m\n\u001b[0;32m 64\u001b[0m histogram_freq\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m) \u001b[38;5;66;03m# 对于模型中各个层计算激活值和模型权重直方图的频率\u001b[39;00m\n\u001b[0;32m 66\u001b[0m model_checkpoint \u001b[38;5;241m=\u001b[39m tf\u001b[38;5;241m.\u001b[39mkeras\u001b[38;5;241m.\u001b[39mcallbacks\u001b[38;5;241m.\u001b[39mModelCheckpoint(\n\u001b[0;32m 67\u001b[0m filepath\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moutputs/saved_model\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;66;03m# 模型存储路径\u001b[39;00m\n\u001b[0;32m 68\u001b[0m monitor\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124maccuracy\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;66;03m# 被监测的指标,这里监控模型验证集准确度\u001b[39;00m\n\u001b[0;32m 69\u001b[0m save_best_only\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m) \u001b[38;5;66;03m# 只有指标被改善时候存储,如果为 False,则每一轮保存\u001b[39;00m\n\u001b[1;32m---> 71\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdataset\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 72\u001b[0m \u001b[43m \u001b[49m\u001b[43mepochs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m20\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 73\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[43mtensorboard\u001b[49m\u001b[43m,\u001b[49m\u001b[43mmodel_checkpoint\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\keras\\utils\\traceback_utils.py:65\u001b[0m, in \u001b[0;36mfilter_traceback.<locals>.error_handler\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 63\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 64\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m---> 65\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 66\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 67\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m _process_traceback_frames(e\u001b[38;5;241m.\u001b[39m__traceback__)\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\keras\\engine\\training.py:1564\u001b[0m, in \u001b[0;36mModel.fit\u001b[1;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)\u001b[0m\n\u001b[0;32m 1556\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m tf\u001b[38;5;241m.\u001b[39mprofiler\u001b[38;5;241m.\u001b[39mexperimental\u001b[38;5;241m.\u001b[39mTrace(\n\u001b[0;32m 1557\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtrain\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 1558\u001b[0m epoch_num\u001b[38;5;241m=\u001b[39mepoch,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 1561\u001b[0m _r\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m,\n\u001b[0;32m 1562\u001b[0m ):\n\u001b[0;32m 1563\u001b[0m callbacks\u001b[38;5;241m.\u001b[39mon_train_batch_begin(step)\n\u001b[1;32m-> 1564\u001b[0m tmp_logs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain_function\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterator\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1565\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m data_handler\u001b[38;5;241m.\u001b[39mshould_sync:\n\u001b[0;32m 1566\u001b[0m context\u001b[38;5;241m.\u001b[39masync_wait()\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\util\\traceback_utils.py:150\u001b[0m, in \u001b[0;36mfilter_traceback.<locals>.error_handler\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 148\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 149\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 150\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 151\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 152\u001b[0m filtered_tb \u001b[38;5;241m=\u001b[39m _process_traceback_frames(e\u001b[38;5;241m.\u001b[39m__traceback__)\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\def_function.py:915\u001b[0m, in \u001b[0;36mFunction.__call__\u001b[1;34m(self, *args, **kwds)\u001b[0m\n\u001b[0;32m 912\u001b[0m compiler \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mxla\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_jit_compile \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnonXla\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 914\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m OptionalXlaContext(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_jit_compile):\n\u001b[1;32m--> 915\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_call(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwds)\n\u001b[0;32m 917\u001b[0m new_tracing_count \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexperimental_get_tracing_count()\n\u001b[0;32m 918\u001b[0m without_tracing \u001b[38;5;241m=\u001b[39m (tracing_count \u001b[38;5;241m==\u001b[39m new_tracing_count)\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\def_function.py:947\u001b[0m, in \u001b[0;36mFunction._call\u001b[1;34m(self, *args, **kwds)\u001b[0m\n\u001b[0;32m 944\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lock\u001b[38;5;241m.\u001b[39mrelease()\n\u001b[0;32m 945\u001b[0m \u001b[38;5;66;03m# In this case we have created variables on the first call, so we run the\u001b[39;00m\n\u001b[0;32m 946\u001b[0m \u001b[38;5;66;03m# defunned version which is guaranteed to never create variables.\u001b[39;00m\n\u001b[1;32m--> 947\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_stateless_fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwds) \u001b[38;5;66;03m# pylint: disable=not-callable\u001b[39;00m\n\u001b[0;32m 948\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_stateful_fn \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 949\u001b[0m \u001b[38;5;66;03m# Release the lock early so that multiple threads can perform the call\u001b[39;00m\n\u001b[0;32m 950\u001b[0m \u001b[38;5;66;03m# in parallel.\u001b[39;00m\n\u001b[0;32m 951\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lock\u001b[38;5;241m.\u001b[39mrelease()\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py:2496\u001b[0m, in \u001b[0;36mFunction.__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 2493\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_lock:\n\u001b[0;32m 2494\u001b[0m (graph_function,\n\u001b[0;32m 2495\u001b[0m filtered_flat_args) \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_maybe_define_function(args, kwargs)\n\u001b[1;32m-> 2496\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgraph_function\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_flat\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 2497\u001b[0m \u001b[43m \u001b[49m\u001b[43mfiltered_flat_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcaptured_inputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mgraph_function\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcaptured_inputs\u001b[49m\u001b[43m)\u001b[49m\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py:1862\u001b[0m, in \u001b[0;36mConcreteFunction._call_flat\u001b[1;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[0;32m 1858\u001b[0m possible_gradient_type \u001b[38;5;241m=\u001b[39m gradients_util\u001b[38;5;241m.\u001b[39mPossibleTapeGradientTypes(args)\n\u001b[0;32m 1859\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (possible_gradient_type \u001b[38;5;241m==\u001b[39m gradients_util\u001b[38;5;241m.\u001b[39mPOSSIBLE_GRADIENT_TYPES_NONE\n\u001b[0;32m 1860\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m executing_eagerly):\n\u001b[0;32m 1861\u001b[0m \u001b[38;5;66;03m# No tape is watching; skip to running the function.\u001b[39;00m\n\u001b[1;32m-> 1862\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_build_call_outputs(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_inference_function\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 1863\u001b[0m \u001b[43m \u001b[49m\u001b[43mctx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcancellation_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcancellation_manager\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m 1864\u001b[0m forward_backward \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_select_forward_and_backward_functions(\n\u001b[0;32m 1865\u001b[0m args,\n\u001b[0;32m 1866\u001b[0m possible_gradient_type,\n\u001b[0;32m 1867\u001b[0m executing_eagerly)\n\u001b[0;32m 1868\u001b[0m forward_function, args_with_tangents \u001b[38;5;241m=\u001b[39m forward_backward\u001b[38;5;241m.\u001b[39mforward()\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py:499\u001b[0m, in \u001b[0;36m_EagerDefinedFunction.call\u001b[1;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[0;32m 497\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m _InterpolateFunctionError(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m 498\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cancellation_manager \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 499\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[43mexecute\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 500\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msignature\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 501\u001b[0m \u001b[43m \u001b[49m\u001b[43mnum_outputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_num_outputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 502\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 503\u001b[0m \u001b[43m \u001b[49m\u001b[43mattrs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mattrs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 504\u001b[0m \u001b[43m \u001b[49m\u001b[43mctx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mctx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 505\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 506\u001b[0m outputs \u001b[38;5;241m=\u001b[39m execute\u001b[38;5;241m.\u001b[39mexecute_with_cancellation(\n\u001b[0;32m 507\u001b[0m \u001b[38;5;28mstr\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msignature\u001b[38;5;241m.\u001b[39mname),\n\u001b[0;32m 508\u001b[0m num_outputs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_num_outputs,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 511\u001b[0m ctx\u001b[38;5;241m=\u001b[39mctx,\n\u001b[0;32m 512\u001b[0m cancellation_manager\u001b[38;5;241m=\u001b[39mcancellation_manager)\n", | |
"File \u001b[1;32m~\\.conda\\envs\\ml_env\\lib\\site-packages\\tensorflow\\python\\eager\\execute.py:54\u001b[0m, in \u001b[0;36mquick_execute\u001b[1;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[0;32m 52\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m 53\u001b[0m ctx\u001b[38;5;241m.\u001b[39mensure_initialized()\n\u001b[1;32m---> 54\u001b[0m tensors \u001b[38;5;241m=\u001b[39m \u001b[43mpywrap_tfe\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mTFE_Py_Execute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mctx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_handle\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdevice_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mop_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 55\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mattrs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_outputs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 56\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m core\u001b[38;5;241m.\u001b[39m_NotOkStatusException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 57\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m name \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", | |
"\u001b[1;31mKeyboardInterrupt\u001b[0m: " | |
] | |
} | |
], | |
"source": [ | |
"# 创建模型\n", | |
"from tensorflow.keras.applications import ResNet50\n", | |
"from tensorflow.keras.models import Model\n", | |
"\n", | |
"def MobileNetV1_64(input_shape=(64, 64, 3), alpha=1.0, num_classes=200):\n", | |
" model = tf.keras.Sequential([\n", | |
" # Entry flow\n", | |
" tf.keras.layers.Conv2D(int(32 * alpha), (3, 3), strides=(2, 2), padding='same', activation='relu', input_shape=input_shape),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(64 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), strides=(2, 2), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(128 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(128 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), strides=(2, 2), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" \n", | |
" # Middle flow\n", | |
" tf.keras.layers.Conv2D(int(256 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(256 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(256 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(256 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(256 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" \n", | |
" # Exit flow\n", | |
" tf.keras.layers.Conv2D(int(512 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.DepthwiseConv2D((3, 3), strides=(2, 2), padding='same', depth_multiplier=1, activation='relu'),\n", | |
" tf.keras.layers.Conv2D(int(512 * alpha), (1, 1), padding='same', activation='relu'),\n", | |
" tf.keras.layers.GlobalAveragePooling2D(),\n", | |
" tf.keras.layers.Dense(num_classes, activation='softmax')\n", | |
" ])\n", | |
" \n", | |
" return model\n", | |
"\n", | |
"# model = MobileNetV1_64(input_shape=(64, 64, 3), num_classes=200)\n", | |
"\n", | |
"# 加载 MobileNetV2 模型,不包括顶部(全连接层)\n", | |
"# model = MobileNetV2(weights='imagenet', include_top=False, input_shape=(64, 64, 3))\n", | |
"model = ResNet50(weights='imagenet', include_top=False, input_shape=(64, 64, 3))\n", | |
"\n", | |
"# 添加自定义顶部(全连接层)\n", | |
"x = model.output\n", | |
"x = tf.keras.layers.GlobalAveragePooling2D()(x) # 全局平均池化层\n", | |
"x = tf.keras.layers.Dense(200, activation='softmax')(x) # 输出层,200个类别,使用softmax激活函数\n", | |
"\n", | |
"# 编译模型\n", | |
"# model.compile(optimizer='adam',\n", | |
"# loss='sparse_categorical_crossentropy',\n", | |
"# metrics=['accuracy'])\n", | |
"\n", | |
"model = Model(inputs=model.input, outputs=x)\n", | |
"model.compile(optimizer=\"adam\", loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", | |
"\n", | |
"\n", | |
"# 打印模型摘要\n", | |
"model.summary()\n", | |
"\n", | |
"# 训练模型\n", | |
"tensorboard = tf.keras.callbacks.TensorBoard(\n", | |
" log_dir='outputs/tf_board_log', # 日志输出目录\n", | |
" histogram_freq=1) # 对于模型中各个层计算激活值和模型权重直方图的频率\n", | |
"\n", | |
"model_checkpoint = tf.keras.callbacks.ModelCheckpoint(\n", | |
" filepath='outputs/saved_model', # 模型存储路径\n", | |
" monitor='accuracy', # 被监测的指标,这里监控模型验证集准确度\n", | |
" save_best_only=True) # 只有指标被改善时候存储,如果为 False,则每一轮保存\n", | |
"\n", | |
"model.fit(dataset,\n", | |
" epochs=20,\n", | |
" callbacks=[tensorboard,model_checkpoint])\n" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.9.19" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment