We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
KeyError: 'LinearHead is not in the head registry'
use config
```python
model = dict(
    head=dict(
        type='LinearHead',
        num_classes=1000,
        in_channels=2048,
        loss=dict(
            type='LabelSmoothLoss',
            loss_weight=1.0,
            label_smooth_val=0.1,
            num_classes=1000),
    ))
```

got trackback
```python
Traceback (most recent call last):
  File "/home/code/open_mmlab_codebase/huatian_bump_blur_cls/tools/train.py", line 177, in <module>
    main()
  File "/home/code/open_mmlab_codebase/huatian_bump_blur_cls/tools/train.py", line 151, in main
    model = build_classifier(cfg.model)
  File "/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py", line 38, in build_classifier
    return build(cfg, CLASSIFIERS)
  File "/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py", line 18, in build
    return build_from_cfg(cfg, registry, default_args)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/utils/registry.py", line 171, in build_from_cfg
    return obj_cls(**args)
  File "/home/code/open_mmlab_codebase/mmclassification/mmcls/models/classifiers/image.py", line 18, in __init__
    self.head = build_head(head)
  File "/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py", line 26, in build_head
    return build(cfg, HEADS)
  File "/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py", line 18, in build
    return build_from_cfg(cfg, registry, default_args)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/utils/registry.py", line 164, in build_from_cfg
    f'{obj_type} is not in the {registry.name} registry')
KeyError: 'LinearHead is not in the head registry'
```

__check /mmcls/models/heads/*.py, not exist `LinearHead` registered__

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py`
Content:
```
1 _base_ = ['./resnet50_batch2048_warmup.py']
2 model = dict(
3     head=dict(
4         type='LinearHead',
5         num_classes=1000,
6         in_channels=2048,
7         loss=dict(
8             type='LabelSmoothLoss',
9             loss_weight=1.0,
10             label_smooth_val=0.1,
11             num_classes=1000),
12     ))
13
```

Path: `configs/resnet/resnet50_b32x8_label_smooth_imagenet.py`
Content:
```
1 _base_ = ['./resnet50_imagenet_bs256.py']
2 model = dict(
3     head=dict(
4         type='LinearHead',
5         num_classes=1000,
6         in_channels=2048,
7         loss=dict(
8             type='LabelSmoothLoss',
9             loss_weight=1.0,
10             label_smooth_val=0.1,
11             num_classes=1000),
12     ))
13
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py b/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py
--- a/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py
+++ b/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py
@@ -1,7 +1,7 @@
 _base_ = ['./resnet50_imagenet_bs256.py']
 model = dict(
     head=dict(
-        type='LinearHead',
+        type='LinearClsHead',
         num_classes=1000,
         in_channels=2048,
         loss=dict(
diff --git a/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py b/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py
--- a/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py
+++ b/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py
@@ -1,7 +1,7 @@
 _base_ = ['./resnet50_batch2048_warmup.py']
 model = dict(
     head=dict(
-        type='LinearHead',
+        type='LinearClsHead',
         num_classes=1000,
         in_channels=2048,
         loss=dict(

{"golden_diff": "diff --git a/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py b/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py\n--- a/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py\n+++ b/configs/resnet/resnet50_b32x8_label_smooth_imagenet.py\n@@ -1,7 +1,7 @@\n _base_ = ['./resnet50_imagenet_bs256.py']\n model = dict(\n     head=dict(\n-        type='LinearHead',\n+        type='LinearClsHead',\n         num_classes=1000,\n         in_channels=2048,\n         loss=dict(\ndiff --git a/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py b/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py\n--- a/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py\n+++ b/configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py\n@@ -1,7 +1,7 @@\n _base_ = ['./resnet50_batch2048_warmup.py']\n model = dict(\n     head=dict(\n-        type='LinearHead',\n+        type='LinearClsHead',\n         num_classes=1000,\n         in_channels=2048,\n         loss=dict(\n", "issue": "KeyError: 'LinearHead is not in the head registry'\nuse config\r\n```python\r\nmodel = dict(\r\n    head=dict(\r\n        type='LinearHead',\r\n        num_classes=1000,\r\n        in_channels=2048,\r\n        loss=dict(\r\n            type='LabelSmoothLoss',\r\n            loss_weight=1.0,\r\n            label_smooth_val=0.1,\r\n            num_classes=1000),\r\n    ))\r\n```\r\n\r\ngot trackback\r\n```python\r\nTraceback (most recent call last):\r\n  File \"/home/code/open_mmlab_codebase/huatian_bump_blur_cls/tools/train.py\", line 177, in <module>\r\n    main()\r\n  File \"/home/code/open_mmlab_codebase/huatian_bump_blur_cls/tools/train.py\", line 151, in main\r\n    model = build_classifier(cfg.model)\r\n  File \"/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py\", line 38, in build_classifier\r\n    return build(cfg, CLASSIFIERS)\r\n  File \"/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py\", line 18, in build\r\n    return build_from_cfg(cfg, registry, default_args)\r\n  File \"/opt/conda/lib/python3.7/site-packages/mmcv/utils/registry.py\", line 171, in build_from_cfg\r\n    return obj_cls(**args)\r\n  File \"/home/code/open_mmlab_codebase/mmclassification/mmcls/models/classifiers/image.py\", line 18, in __init__\r\n    self.head = build_head(head)\r\n  File \"/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py\", line 26, in build_head\r\n    return build(cfg, HEADS)\r\n  File \"/home/code/open_mmlab_codebase/mmclassification/mmcls/models/builder.py\", line 18, in build\r\n    return build_from_cfg(cfg, registry, default_args)\r\n  File \"/opt/conda/lib/python3.7/site-packages/mmcv/utils/registry.py\", line 164, in build_from_cfg\r\n    f'{obj_type} is not in the {registry.name} registry')\r\nKeyError: 'LinearHead is not in the head registry'\r\n```\r\n\r\n__check /mmcls/models/heads/*.py, not exist `LinearHead` registered__\n", "before_files": [{"content": "_base_ = ['./resnet50_batch2048_warmup.py']\nmodel = dict(\n    head=dict(\n        type='LinearHead',\n        num_classes=1000,\n        in_channels=2048,\n        loss=dict(\n            type='LabelSmoothLoss',\n            loss_weight=1.0,\n            label_smooth_val=0.1,\n            num_classes=1000),\n    ))\n", "path": "configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py"}, {"content": "_base_ = ['./resnet50_imagenet_bs256.py']\nmodel = dict(\n    head=dict(\n        type='LinearHead',\n        num_classes=1000,\n        in_channels=2048,\n        loss=dict(\n            type='LabelSmoothLoss',\n            loss_weight=1.0,\n            label_smooth_val=0.1,\n            num_classes=1000),\n    ))\n", "path": "configs/resnet/resnet50_b32x8_label_smooth_imagenet.py"}], "after_files": [{"content": "_base_ = ['./resnet50_batch2048_warmup.py']\nmodel = dict(\n    head=dict(\n        type='LinearClsHead',\n        num_classes=1000,\n        in_channels=2048,\n        loss=dict(\n            type='LabelSmoothLoss',\n            loss_weight=1.0,\n            label_smooth_val=0.1,\n            num_classes=1000),\n    ))\n", "path": "configs/resnet/resnet50_b64x32_warmup_label_smooth_imagenet.py"}, {"content": "_base_ = ['./resnet50_imagenet_bs256.py']\nmodel = dict(\n    head=dict(\n        type='LinearClsHead',\n        num_classes=1000,\n        in_channels=2048,\n        loss=dict(\n            type='LabelSmoothLoss',\n            loss_weight=1.0,\n            label_smooth_val=0.1,\n            num_classes=1000),\n    ))\n", "path": "configs/resnet/resnet50_b32x8_label_smooth_imagenet.py"}]}