Row 36008

Row ID: 36008 | Dataset Entry | Axioma AXP Content Repository

Content Data

This page contains data entry 36008 from the Axioma AXP content repository. The structured data below represents the complete record for this entry.

I tested models and code in [https://github.com/deepcam-cn/FaceQuality](https://github.com/deepcam-cn/FaceQuality)

I converted model to onnx :

import torch import onnx from models.model_resnet import ResNet, FaceQuality import os import argparse parser = argparse.ArgumentParser(description='PyTorch Face Quality test') parser.add_argument('--backbone', default='face_quality_model/backbone.pth', type=str, metavar='PATH', help='path to backbone model') parser.add_argument('--quality', default='face_quality_model/quality.pth', type=str, metavar='PATH', help='path to quality model') parser.add_argument('--database', default='/Users/tulpar/Downloads/_FoundPersons.db', type=str, metavar='PATH', help='path to SQLite database') parser.add_argument('--cpu', dest='cpu', action='store_true', help='evaluate model on cpu') parser.add_argument('--gpu', default=0, type=int, help='index of gpu to run') def load_state_dict(model, state_dict): all_keys = {k for k in state_dict.keys()} for k in all_keys: if k.startswith('module.'): state_dict[k[7:]] = state_dict.pop(k) model_dict = model.state_dict() pretrained_dict = {k: v for k, v in state_dict.items() if k in model_dict and v.size() == model_dict[k].size()} if len(pretrained_dict) == len(model_dict): print("all params loaded") else: not_loaded_keys = {k for k in pretrained_dict.keys() if k not in model_dict.keys()} print("not loaded keys:", not_loaded_keys) model_dict.update(pretrained_dict) model.load_state_dict(model_dict) args = parser.parse_args() # Load the PyTorch models BACKBONE = ResNet(num_layers=100, feature_dim=512) QUALITY = FaceQuality(512 * 7 * 7) if os.path.isfile(args.backbone): print("Loading Backbone Checkpoint '{}'".format(args.backbone)) checkpoint = torch.load(args.backbone, map_location='cpu') load_state_dict(BACKBONE, checkpoint) if os.path.isfile(args.quality): print("Loading Quality Checkpoint '{}'".format(args.quality)) checkpoint = torch.load(args.quality, map_location='cpu') load_state_dict(QUALITY, checkpoint) # Set the models to evaluation mode BACKBONE.eval() QUALITY.eval() # Create a dummy input with the correct shape expected by the model (assuming 3 channels, 112x112 image) dummy_input = torch.randn(1, 3, 112, 112) # Adjust channels and dimensions if your model expects differently # Convert the PyTorch models to ONNX torch.onnx.export(BACKBONE, dummy_input, 'backbone.onnx', opset_version=11) # Specify opset version if needed torch.onnx.export(QUALITY, torch.randn(1, 512 * 7 * 7), 'quality.onnx', opset_version=11) print("Converted models to ONNX successfully!") But the inference code for onnx giving error : how to convert correctly and make the inference /Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py Traceback (most recent call last): File "/Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py", line 74, in <module> main(parser.parse_args()) File "/Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py", line 64, in main face_quality = get_face_quality(args.backbone, args.quality, DEVICE, left_image) File "/Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py", line 35, in get_face_quality quality_output = quality_session.run(None, {'input.1': backbone_output[0].reshape(1, -1)}) File "/Users/tulpar/Projects/venv/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 192, in run return self._sess.run(output_names, input_feed, run_options) onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Got invalid dimensions for input: input.1 for the following indices index: 1 Got: 512 Expected: 25088 Please fix either the inputs or the model. Process finished with exit code 1

FieldValue
text I tested models and code in [https://github.com/deepcam-cn/FaceQuality](https://github.com/deepcam-cn/FaceQuality) I converted model to onnx : import torch import onnx from models.model_resnet import ResNet, FaceQuality import os import argparse parser = argparse.ArgumentParser(description='PyTorch Face Quality test') parser.add_argument('--backbone', default='face_quality_model/backbone.pth', type=str, metavar='PATH', help='path to…
label r/pytorch
dataType post
communityName r/pytorch
datetime 2024-05-21
username_encoded Z0FBQUFBQm5Lak1KdnlFalJHenV1V0NwQWxTX0phMkpKMk1uMUNKUFRaNXZKMkpaeHVQMHd4UWwxMXY1bVl0aUR6dWtuTlhHT002U0x2NU9QY25hWXkwSnJ6Q0xpdzVHbmc5RXBpLW9yR3l0LUNIZ1EwYjliSUE9
url_encoded Z0FBQUFBQm5Lak9ZSE9QcGp1T2hGNVcyUDlQQlhHQWdISlY3LWd1dHljdHlwUnNQUzFhUElSbWExQW15UFk2ZlNGZUtNRUxVTXlBSkVxZ25kcTdFYVF0ZzNUMG9Ya1Etb2ZjX0w4M3lnYkVKUzNDbmNlUzVFQkRzM09xaV9CdUc5SVU3cjdvc1NQb1FmUGdhSlVFNExWQkxpWF9sbklnbjVOV1FrOVYyb29yVjN6eHBBWXZEazlFWmxkb0UwYnl0a2V4MS1IZGdjN3U4

Raw Record

{
  "text": "I tested models and code in [https://github.com/deepcam-cn/FaceQuality](https://github.com/deepcam-cn/FaceQuality)\n\nI converted model to onnx :\n\n    import torch\n    import onnx\n    from models.model_resnet import ResNet, FaceQuality\n    import os\n    import argparse\n    \n    \n    parser = argparse.ArgumentParser(description='PyTorch Face Quality test')\n    parser.add_argument('--backbone', default='face_quality_model/backbone.pth', type=str, metavar='PATH',\n                        help='path to backbone model')\n    parser.add_argument('--quality', default='face_quality_model/quality.pth', type=str, metavar='PATH',\n                        help='path to quality model')\n    parser.add_argument('--database', default='/Users/tulpar/Downloads/_FoundPersons.db', type=str, metavar='PATH',\n                        help='path to SQLite database')\n    parser.add_argument('--cpu', dest='cpu', action='store_true',\n                        help='evaluate model on cpu')\n    parser.add_argument('--gpu', default=0, type=int,\n                        help='index of gpu to run')\n    \n    \n    def load_state_dict(model, state_dict):\n        all_keys = {k for k in state_dict.keys()}\n        for k in all_keys:\n            if k.startswith('module.'):\n                state_dict[k[7:]] = state_dict.pop(k)\n        model_dict = model.state_dict()\n        pretrained_dict = {k: v for k, v in state_dict.items() if k in model_dict and v.size() == model_dict[k].size()}\n        if len(pretrained_dict) == len(model_dict):\n            print(\"all params loaded\")\n        else:\n            not_loaded_keys = {k for k in pretrained_dict.keys() if k not in model_dict.keys()}\n            print(\"not loaded keys:\", not_loaded_keys)\n        model_dict.update(pretrained_dict)\n        model.load_state_dict(model_dict)\n    \n    \n    args = parser.parse_args()\n    # Load the PyTorch models\n    BACKBONE = ResNet(num_layers=100, feature_dim=512)\n    QUALITY = FaceQuality(512 * 7 * 7)\n    \n    if os.path.isfile(args.backbone):\n        print(\"Loading Backbone Checkpoint '{}'\".format(args.backbone))\n        checkpoint = torch.load(args.backbone, map_location='cpu')\n        load_state_dict(BACKBONE, checkpoint)\n    \n    if os.path.isfile(args.quality):\n        print(\"Loading Quality Checkpoint '{}'\".format(args.quality))\n        checkpoint = torch.load(args.quality, map_location='cpu')\n        load_state_dict(QUALITY, checkpoint)\n    \n    # Set the models to evaluation mode\n    BACKBONE.eval()\n    QUALITY.eval()\n    \n    # Create a dummy input with the correct shape expected by the model (assuming 3 channels, 112x112 image)\n    dummy_input = torch.randn(1, 3, 112, 112)  # Adjust channels and dimensions if your model expects differently\n    # Convert the PyTorch models to ONNX\n    torch.onnx.export(BACKBONE, dummy_input, 'backbone.onnx', opset_version=11)  # Specify opset version if needed\n    torch.onnx.export(QUALITY, torch.randn(1, 512 * 7 * 7), 'quality.onnx', opset_version=11)\n    \n    print(\"Converted models to ONNX successfully!\")\n    \n    \n    \n    \n    \n    But the inference code for onnx giving error :\n    \n    \n    \n    how to convert correctly and make the inference \n    \n    \n    \n    \n    \n    /Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py\n    Traceback (most recent call last):\n      File \"/Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py\", line 74, in <module>\n        main(parser.parse_args())\n      File \"/Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py\", line 64, in main\n        face_quality = get_face_quality(args.backbone, args.quality, DEVICE, left_image)\n      File \"/Users/tulpar/Projects/FaceQuality/onnxFaceQualityCalcFoundDb.py\", line 35, in get_face_quality\n        quality_output = quality_session.run(None, {'input.1': backbone_output[0].reshape(1, -1)})\n      File \"/Users/tulpar/Projects/venv/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py\", line 192, in run\n        return self._sess.run(output_names, input_feed, run_options)\n    onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Got invalid dimensions for input: input.1 for the following indices\n     index: 1 Got: 512 Expected: 25088\n     Please fix either the inputs or the model.\n    \n    Process finished with exit code 1",
  "label": "r/pytorch",
  "dataType": "post",
  "communityName": "r/pytorch",
  "datetime": "2024-05-21",
  "username_encoded": "Z0FBQUFBQm5Lak1KdnlFalJHenV1V0NwQWxTX0phMkpKMk1uMUNKUFRaNXZKMkpaeHVQMHd4UWwxMXY1bVl0aUR6dWtuTlhHT002U0x2NU9QY25hWXkwSnJ6Q0xpdzVHbmc5RXBpLW9yR3l0LUNIZ1EwYjliSUE9",
  "url_encoded": "Z0FBQUFBQm5Lak9ZSE9QcGp1T2hGNVcyUDlQQlhHQWdISlY3LWd1dHljdHlwUnNQUzFhUElSbWExQW15UFk2ZlNGZUtNRUxVTXlBSkVxZ25kcTdFYVF0ZzNUMG9Ya1Etb2ZjX0w4M3lnYkVKUzNDbmNlUzVFQkRzM09xaV9CdUc5SVU3cjdvc1NQb1FmUGdhSlVFNExWQkxpWF9sbklnbjVOV1FrOVYyb29yVjN6eHBBWXZEazlFWmxkb0UwYnl0a2V4MS1IZGdjN3U4"
}

Entry Information