{
  "id": 462997,
  "title": "KerasCV ImageClassifier ValueError",
  "url": "/competitions/UBC-OCEAN/discussion/462997",
  "author_name": "Patrick",
  "post_date": "2023-12-22T17:06:27.256000",
  "votes": 0,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Hi, I'm trying to use the Keras ImageClassifier for transfer learning but is running into issues, can someone help point out the problem and a fix? Thanks!</p>\n<p><a href=\"https://keras.io/api/keras_cv/models/\" target=\"_blank\">https://keras.io/api/keras_cv/models/</a></p>\n<p>Code:</p>\n<pre><code>model = keras_cv.models.RetinaNet.from_preset(\n    ,\n    num_classes=,\n    bounding_box_format=,\n)\n</code></pre>\n<p>Error:</p>\n<pre><code>Attaching   model  to your Kaggle notebook...\nAttaching   model  to your Kaggle notebook...\nAttaching   model  to your Kaggle notebook...\n\n---------------------------------------------------------------------------\nValueError                                Traceback (most recent call last)\nCell In[], line \n----&gt;  model = keras_cv.models.RetinaNet.from_preset(\n           ,\n           num_classes=,\n           \n       )\n\nFile /opt/conda/lib/python3/site-packages/keras_cv/src/models/task.py:,  Task.__init_subclass__.&lt;&gt;.from_preset(calling_cls, *args, **kwargs)\n      ():\n--&gt;       (cls, calling_cls).from_preset(*args, **kwargs)\n\nFile /opt/conda/lib/python3/site-packages/keras_cv/src/models/task.py:,  Task.from_preset(cls, preset, load_weights, input_shape, **kwargs)\n     \n      (preset_cls, Backbone):\n--&gt;      backbone = load_from_preset(\n             preset,\n             load_weights=load_weights,\n         )\n          cls(backbone=backbone, **kwargs)\n     \n\nFile /opt/conda/lib/python3/site-packages/keras_cv/src/utils/preset_utils.py:,  load_from_preset(preset, load_weights, input_shape, config_file, config_overrides)\n      load_weights     config[]   :\n         weights_path = get_file(preset, config[])\n--&gt;      layer.load_weights(weights_path)\n      layer\n\nFile /opt/conda/lib/python3/site-packages/keras/src/utils/traceback_utils.py:,  filter_traceback.&lt;&gt;.error_handler(*args, **kwargs)\n          filtered_tb = _process_traceback_frames(e.__traceback__)\n          \n          \n---&gt;       e.with_traceback(filtered_tb)  \n      :\n           filtered_tb\n\nFile /opt/conda/lib/python3/site-packages/keras/src/engine/base_layer.py:,  Layer.load_own_variables(self, store)\n    all_vars = self._trainable_weights + self._non_trainable_weights\n     (store.keys()) != (all_vars):\n-&gt;       ValueError(\n            \n            \n            \n            \n        )\n     i, v  (all_vars):\n        \n        v.assign(store[])\n\nValueError: Layer  expected  variables, but received  variables during loading. Expected: [, ]\n</code></pre>",
  "messages": [
    {
      "id": 2570922,
      "postDate": "2023-12-22T17:44:52.727Z",
      "content": "<p>Also tried the sample code in </p>\n<p><a href=\"https://www.kaggle.com/models/keras/resnetv2/frameworks/Keras/variations/resnet50_v2_imagenet_classifier/versions/1\" target=\"_blank\">https://www.kaggle.com/models/keras/resnetv2/frameworks/Keras/variations/resnet50_v2_imagenet_classifier/versions/1</a></p>\n<p>But got</p>\n<blockquote>\n  <p>ValueError: Layer 'conv1_conv' expected 2 variables, but received 0 variables during loading. Expected: ['conv1_conv/kernel:0', 'conv1_conv/bias:0']</p>\n</blockquote>",
      "rawMarkdown": "Also tried the sample code in \n\nhttps://www.kaggle.com/models/keras/resnetv2/frameworks/Keras/variations/resnet50_v2_imagenet_classifier/versions/1\n\nBut got\n\n>ValueError: Layer 'conv1_conv' expected 2 variables, but received 0 variables during loading. Expected: ['conv1_conv/kernel:0', 'conv1_conv/bias:0']"
    },
    {
      "id": 2570865,
      "postDate": "2023-12-22T17:06:27.257Z",
      "content": "<p>Hi, I'm trying to use the Keras ImageClassifier for transfer learning but is running into issues, can someone help point out the problem and a fix? Thanks!</p>\n<p><a href=\"https://keras.io/api/keras_cv/models/\" target=\"_blank\">https://keras.io/api/keras_cv/models/</a></p>\n<p>Code:</p>\n<pre><code>model = keras_cv.models.RetinaNet.from_preset(\n    ,\n    num_classes=,\n    bounding_box_format=,\n)\n</code></pre>\n<p>Error:</p>\n<pre><code>Attaching   model  to your Kaggle notebook...\nAttaching   model  to your Kaggle notebook...\nAttaching   model  to your Kaggle notebook...\n\n---------------------------------------------------------------------------\nValueError                                Traceback (most recent call last)\nCell In[], line \n----&gt;  model = keras_cv.models.RetinaNet.from_preset(\n           ,\n           num_classes=,\n           \n       )\n\nFile /opt/conda/lib/python3/site-packages/keras_cv/src/models/task.py:,  Task.__init_subclass__.&lt;&gt;.from_preset(calling_cls, *args, **kwargs)\n      ():\n--&gt;       (cls, calling_cls).from_preset(*args, **kwargs)\n\nFile /opt/conda/lib/python3/site-packages/keras_cv/src/models/task.py:,  Task.from_preset(cls, preset, load_weights, input_shape, **kwargs)\n     \n      (preset_cls, Backbone):\n--&gt;      backbone = load_from_preset(\n             preset,\n             load_weights=load_weights,\n         )\n          cls(backbone=backbone, **kwargs)\n     \n\nFile /opt/conda/lib/python3/site-packages/keras_cv/src/utils/preset_utils.py:,  load_from_preset(preset, load_weights, input_shape, config_file, config_overrides)\n      load_weights     config[]   :\n         weights_path = get_file(preset, config[])\n--&gt;      layer.load_weights(weights_path)\n      layer\n\nFile /opt/conda/lib/python3/site-packages/keras/src/utils/traceback_utils.py:,  filter_traceback.&lt;&gt;.error_handler(*args, **kwargs)\n          filtered_tb = _process_traceback_frames(e.__traceback__)\n          \n          \n---&gt;       e.with_traceback(filtered_tb)  \n      :\n           filtered_tb\n\nFile /opt/conda/lib/python3/site-packages/keras/src/engine/base_layer.py:,  Layer.load_own_variables(self, store)\n    all_vars = self._trainable_weights + self._non_trainable_weights\n     (store.keys()) != (all_vars):\n-&gt;       ValueError(\n            \n            \n            \n            \n        )\n     i, v  (all_vars):\n        \n        v.assign(store[])\n\nValueError: Layer  expected  variables, but received  variables during loading. Expected: [, ]\n</code></pre>",
      "rawMarkdown": "Hi, I'm trying to use the Keras ImageClassifier for transfer learning but is running into issues, can someone help point out the problem and a fix? Thanks!\n\nhttps://keras.io/api/keras_cv/models/\n\nCode:\n```python\nmodel = keras_cv.models.RetinaNet.from_preset(\n    \"resnet50_v2_imagenet\",\n    num_classes=20,\n    bounding_box_format=\"xywh\",\n)\n```\n\nError:\n```python\nAttaching 'config.json' from model 'keras/resnetv2/keras/resnet50_v2_imagenet/1' to your Kaggle notebook...\nAttaching 'config.json' from model 'keras/resnetv2/keras/resnet50_v2_imagenet/1' to your Kaggle notebook...\nAttaching 'model.weights.h5' from model 'keras/resnetv2/keras/resnet50_v2_imagenet/1' to your Kaggle notebook...\n\n---------------------------------------------------------------------------\nValueError                                Traceback (most recent call last)\nCell In[4], line 1\n----> 1 model = keras_cv.models.RetinaNet.from_preset(\n      2     \"resnet50_v2_imagenet\",\n      3     num_classes=20,\n      4     #bounding_box_format=\"xywh\",\n      5 )\n\nFile /opt/conda/lib/python3.10/site-packages/keras_cv/src/models/task.py:168, in Task.__init_subclass__.<locals>.from_preset(calling_cls, *args, **kwargs)\n    167 def from_preset(calling_cls, *args, **kwargs):\n--> 168     return super(cls, calling_cls).from_preset(*args, **kwargs)\n\nFile /opt/conda/lib/python3.10/site-packages/keras_cv/src/models/task.py:124, in Task.from_preset(cls, preset, load_weights, input_shape, **kwargs)\n    122 # Backbone case.\n    123 if issubclass(preset_cls, Backbone):\n--> 124     backbone = load_from_preset(\n    125         preset,\n    126         load_weights=load_weights,\n    127     )\n    128     return cls(backbone=backbone, **kwargs)\n    130 # Task case.\n\nFile /opt/conda/lib/python3.10/site-packages/keras_cv/src/utils/preset_utils.py:167, in load_from_preset(preset, load_weights, input_shape, config_file, config_overrides)\n    165 if load_weights is not False and config[\"weights\"] is not None:\n    166     weights_path = get_file(preset, config[\"weights\"])\n--> 167     layer.load_weights(weights_path)\n    169 return layer\n\nFile /opt/conda/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py:70, in filter_traceback.<locals>.error_handler(*args, **kwargs)\n     67     filtered_tb = _process_traceback_frames(e.__traceback__)\n     68     # To get the full stack trace, call:\n     69     # `tf.debugging.disable_traceback_filtering()`\n---> 70     raise e.with_traceback(filtered_tb) from None\n     71 finally:\n     72     del filtered_tb\n\nFile /opt/conda/lib/python3.10/site-packages/keras/src/engine/base_layer.py:3539, in Layer.load_own_variables(self, store)\n   3537 all_vars = self._trainable_weights + self._non_trainable_weights\n   3538 if len(store.keys()) != len(all_vars):\n-> 3539     raise ValueError(\n   3540         f\"Layer '{self.name}' expected {len(all_vars)} variables, \"\n   3541         \"but received \"\n   3542         f\"{len(store.keys())} variables during loading. \"\n   3543         f\"Expected: {[v.name for v in all_vars]}\"\n   3544     )\n   3545 for i, v in enumerate(all_vars):\n   3546     # TODO(rchao): check shapes and raise errors.\n   3547     v.assign(store[f\"{i}\"])\n\nValueError: Layer 'conv1_conv' expected 2 variables, but received 0 variables during loading. Expected: ['conv1_conv/kernel:0', 'conv1_conv/bias:0']\n```"
    }
  ],
  "comments": [
    {
      "id": 2570922,
      "author_name": "Patrick",
      "author_url": "",
      "post_date": "2023-12-22T17:44:52.727000",
      "content": "<p>Also tried the sample code in </p>\n<p><a href=\"https://www.kaggle.com/models/keras/resnetv2/frameworks/Keras/variations/resnet50_v2_imagenet_classifier/versions/1\" target=\"_blank\">https://www.kaggle.com/models/keras/resnetv2/frameworks/Keras/variations/resnet50_v2_imagenet_classifier/versions/1</a></p>\n<p>But got</p>\n<blockquote>\n  <p>ValueError: Layer 'conv1_conv' expected 2 variables, but received 0 variables during loading. Expected: ['conv1_conv/kernel:0', 'conv1_conv/bias:0']</p>\n</blockquote>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2570922": "Also tried the sample code in \n\nhttps://www.kaggle.com/models/keras/resnetv2/frameworks/Keras/variations/resnet50_v2_imagenet_classifier/versions/1\n\nBut got\n\n>ValueError: Layer 'conv1_conv' expected 2 variables, but received 0 variables during loading. Expected: ['conv1_conv/kernel:0', 'conv1_conv/bias:0']",
    "2570865": "Hi, I'm trying to use the Keras ImageClassifier for transfer learning but is running into issues, can someone help point out the problem and a fix? Thanks!\n\nhttps://keras.io/api/keras_cv/models/\n\nCode:\n```python\nmodel = keras_cv.models.RetinaNet.from_preset(\n    \"resnet50_v2_imagenet\",\n    num_classes=20,\n    bounding_box_format=\"xywh\",\n)\n```\n\nError:\n```python\nAttaching 'config.json' from model 'keras/resnetv2/keras/resnet50_v2_imagenet/1' to your Kaggle notebook...\nAttaching 'config.json' from model 'keras/resnetv2/keras/resnet50_v2_imagenet/1' to your Kaggle notebook...\nAttaching 'model.weights.h5' from model 'keras/resnetv2/keras/resnet50_v2_imagenet/1' to your Kaggle notebook...\n\n---------------------------------------------------------------------------\nValueError                                Traceback (most recent call last)\nCell In[4], line 1\n----> 1 model = keras_cv.models.RetinaNet.from_preset(\n      2     \"resnet50_v2_imagenet\",\n      3     num_classes=20,\n      4     #bounding_box_format=\"xywh\",\n      5 )\n\nFile /opt/conda/lib/python3.10/site-packages/keras_cv/src/models/task.py:168, in Task.__init_subclass__.<locals>.from_preset(calling_cls, *args, **kwargs)\n    167 def from_preset(calling_cls, *args, **kwargs):\n--> 168     return super(cls, calling_cls).from_preset(*args, **kwargs)\n\nFile /opt/conda/lib/python3.10/site-packages/keras_cv/src/models/task.py:124, in Task.from_preset(cls, preset, load_weights, input_shape, **kwargs)\n    122 # Backbone case.\n    123 if issubclass(preset_cls, Backbone):\n--> 124     backbone = load_from_preset(\n    125         preset,\n    126         load_weights=load_weights,\n    127     )\n    128     return cls(backbone=backbone, **kwargs)\n    130 # Task case.\n\nFile /opt/conda/lib/python3.10/site-packages/keras_cv/src/utils/preset_utils.py:167, in load_from_preset(preset, load_weights, input_shape, config_file, config_overrides)\n    165 if load_weights is not False and config[\"weights\"] is not None:\n    166     weights_path = get_file(preset, config[\"weights\"])\n--> 167     layer.load_weights(weights_path)\n    169 return layer\n\nFile /opt/conda/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py:70, in filter_traceback.<locals>.error_handler(*args, **kwargs)\n     67     filtered_tb = _process_traceback_frames(e.__traceback__)\n     68     # To get the full stack trace, call:\n     69     # `tf.debugging.disable_traceback_filtering()`\n---> 70     raise e.with_traceback(filtered_tb) from None\n     71 finally:\n     72     del filtered_tb\n\nFile /opt/conda/lib/python3.10/site-packages/keras/src/engine/base_layer.py:3539, in Layer.load_own_variables(self, store)\n   3537 all_vars = self._trainable_weights + self._non_trainable_weights\n   3538 if len(store.keys()) != len(all_vars):\n-> 3539     raise ValueError(\n   3540         f\"Layer '{self.name}' expected {len(all_vars)} variables, \"\n   3541         \"but received \"\n   3542         f\"{len(store.keys())} variables during loading. \"\n   3543         f\"Expected: {[v.name for v in all_vars]}\"\n   3544     )\n   3545 for i, v in enumerate(all_vars):\n   3546     # TODO(rchao): check shapes and raise errors.\n   3547     v.assign(store[f\"{i}\"])\n\nValueError: Layer 'conv1_conv' expected 2 variables, but received 0 variables during loading. Expected: ['conv1_conv/kernel:0', 'conv1_conv/bias:0']\n```"
  }
}