I append float16 datatype map to solve this problem, but the followed issue comes up:
Traceback (most recent call last):
File "resnet.py", line 53, in <module>
nnf_execute()
File "resnet.py", line 48, in nnf_execute
executor({input_name: data_desc}, {output_name: nnf_out_desc})
File "/workspace/v-leiwang3/nnfusion/src/python/nnfusion/executor.py", line 181, in __call__
self.feed_data(*args, **kwargs)
File "/workspace/v-leiwang3/nnfusion/src/python/nnfusion/executor.py", line 203, in feed_data
raise Exception(
Exception: Shape or type mismatch for NNFusion model input input, expect [(64, 3, 224, 224), half], feed [(64, 3, 224, 224), float16]
This was caused by the para_info.json generated by nnfusion codegen, the input and output datatype is half while the nnfusion jit gave the datatype float16 and caused this mismatch exception.
🐛 Bug. nnfusion jit data type mismatch with float16 precision
Use nnfusion python interface to compile and build a resnet50.float16.onnx model, I got several issues.
Firstly, nnfusion jit currently doesn't support float16 datatype in dtypes.py :
I append
float16
datatype map to solve this problem, but the followed issue comes up:This was caused by the para_info.json generated by nnfusion codegen, the input and output datatype is
half
while the nnfusion jit gave the datatypefloat16
and caused this mismatch exception.