Coder Social home page Coder Social logo

10 : INVALID_GRAPH : Load model from quant_atom/Output/quantized(onnx).onnx.onnx failed:This is an invalid model. Type Error: Type 'tensor(float)' of input parameter (onnx::Conv_322) of operator (QLinearConv) in node (Conv_17) is invalid. about ppq HOT 9 CLOSED

openppl-public avatar openppl-public commented on August 29, 2024
10 : INVALID_GRAPH : Load model from quant_atom/Output/quantized(onnx).onnx.onnx failed:This is an invalid model. Type Error: Type 'tensor(float)' of input parameter (onnx::Conv_322) of operator (QLinearConv) in node (Conv_17) is invalid.

from ppq.

Comments (9)

ZhangZhiPku avatar ZhangZhiPku commented on August 29, 2024

莫慌兄弟,新的exporter问题不止这一个,你先弄回0.6.3

from ppq.

lucasjinreal avatar lucasjinreal commented on August 29, 2024

0.6.3也有bug 阿

from ppq.

ZhangZhiPku avatar ZhangZhiPku commented on August 29, 2024

莫慌,小问题

from ppq.

Menace-Dragon avatar Menace-Dragon commented on August 29, 2024

话说这个问题似乎解决了?

因为我在TRT模式导出的模型,跑onnxruntime也遇到了这个问题,貌似是因为TRTExporter会把zero_point看成fp32格式,而模型用ORT推理就会报错这个问题

from ppq.

ZhangZhiPku avatar ZhangZhiPku commented on August 29, 2024

哦,你说的这个跟他的问题不一样,你的问题更新到最新版本就不会有了。他这个还是会有。

from ppq.

Lilyo avatar Lilyo commented on August 29, 2024

@ZhangZhiPku
兄弟,我也遇到一样的问题,降0.6.3也是,有解吗?

from ppq.

ZhangZhiPku avatar ZhangZhiPku commented on August 29, 2024

啊兄弟你是为啥要导出这个格式啊...这格式没框架认啊...

from ppq.

Lilyo avatar Lilyo commented on August 29, 2024

@ZhangZhiPku

想搞个SparseInst 的模型阿,我把前处理的normalize 移到模型外面后,还是报错误,大佬能帮帮忙吗...

模型从这搬的: https://github.com/hustvl/SparseInst

量化: https://zhuanlan.zhihu.com/p/515855548

from typing import Iterable

import torch
from torch.utils.data import DataLoader

from ppq import BaseGraph, QuantizationSettingFactory, TargetPlatform
from ppq.api import export_ppq_graph, quantize_onnx_model

BATCHSIZE = 1
INPUT_SHAPE = [3, 640, 640]
DEVICE = 'cuda'  # only cuda is fully tested :(  For other executing device there might be bugs.
PLATFORM = TargetPlatform.ORT_OOS_INT8  # identify a target platform for your network.
ONNX_PATH = 'weights/sparse_inst_r50vd_giam_aug_8bc5b3.onnx'

def load_calibration_dataset() -> Iterable:
    return [torch.rand(size=INPUT_SHAPE) for _ in range(8)]


def collate_fn(batch: torch.Tensor) -> torch.Tensor:
    return batch.to(DEVICE)


# create a setting for quantizing your network with PPL CUDA.
quant_setting = QuantizationSettingFactory.pplcuda_setting()
quant_setting.equalization = True  # use layerwise equalization algorithm.
quant_setting.dispatcher = 'conservative'  # dispatch this network in conservertive way.

# Load training data for creating a calibration dataloader.
calibration_dataset = load_calibration_dataset()
calibration_dataloader = DataLoader(
    dataset=calibration_dataset,
    batch_size=BATCHSIZE, shuffle=True)

# quantize your model.
quantized = quantize_onnx_model(
    onnx_import_file=ONNX_PATH, calib_dataloader=calibration_dataloader,
    calib_steps=8, input_shape=[BATCHSIZE] + INPUT_SHAPE,
    setting=quant_setting, collate_fn=collate_fn, platform=PLATFORM,
    device=DEVICE, verbose=1)

# export quantized graph.
export_ppq_graph(graph=quantized, platform=PLATFORM,
                 graph_save_to=ONNX_PATH.split('.')[0] + '_q.onnx',
                 config_save_to=ONNX_PATH.split('.')[0] + '_q.json')

遇到错误:

圖片1

from ppq.

ZhangZhiPku avatar ZhangZhiPku commented on August 29, 2024

@Lilyo 来来你加我个qq 281077761

from ppq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.