Artificial intelligence can be divided into two categories:weak artificial intelligence and strong artificial intelligence.Weak AI(also known as narrow AI)refers to AI systems that can only exhibit human intelligence in specific task areas.For example,voice recognition system,auto drive system,etc.S
openppl支持了三种模型:onnx、caffe、pytorch,其中pytorch和caffe是通过quantize_torch_model和quantize_caffe_model,先将模型转换成onnx模型,再调用quantize_onnx_model来实现量化的。
empty_ppq_cache
def quantize_torch_model(
model:torch.nn.Module,
calib_dataloader:DataLoader,
calib_steps:int,
input_shape:List[int],
platform:TargetPlatform,
input_dtype:torch.dtype=torch.float,
setting:QuantizationSetting=None,
collate_fn:Callable=None,
inputs:List[Any]=None,
do_quantize:bool=True,
onnx_export_file:str='onnx.model',
device:str='cuda',
verbose:int=0,
)->BaseGraph:
#dump pytorch model to onnx
dump_torch_to_onnx(model=model,onnx_export_file=onnx_export_file,
input_shape=input_shape,input_dtype=input_dtype,
inputs=inputs,device=device)
return quantize_onnx_model(onnx_import_file=onnx_export_file,
calib_dataloader=calib_dataloader,calib_steps=calib_steps,collate_fn=collate_fn,
input_shape=input_shape,input_dtype=input_dtype,inputs=inputs,setting=setting,
platform=platform,device=device,verbose=verbose,do_quantize=do_quantize)