pls help: how to use model.onnx ?
#ENV:debian OS, python 3.7
#code
import onnxruntime as ort
import numpy as np
import onnx
model = onnx.load("/root/model_fp16.onnx")
ir_version = model.ir_version
print(f"Model IR version: {ir_version}")
#ERROR:
model = onnx.load("/root/model_fp16.onnx")
File "/usr/local/lib/python3.7/dist-packages/onnx/init.py", line 170, in load_model
model = load_model_from_string(s, format=format)
File "/usr/local/lib/python3.7/dist-packages/onnx/init.py", line 212, in load_model_from_string
return _deserialize(s, ModelProto())
File "/usr/local/lib/python3.7/dist-packages/onnx/init.py", line 143, in _deserialize
decoded = typing.cast(Optional[int], proto.ParseFromString(s))
google.protobuf.message.DecodeError: Error parsing message
You can import onnx model in a similar way than with transformers:
from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForCausalLM
import torch
import os
# Specify the local path to your cloned repository
# git clone https://huggingface.co/HuggingFaceTB/SmolLM-1.7B-Instruct
repo_path = "path/to/local/repo"
# cp repo_path/onnx/model.onnx repo_path/model.onnx -> moove the onnx model you want to the main folder
# Load the tokenizer and model from local paths
tokenizer = AutoTokenizer.from_pretrained(repo_path)
model = ORTModelForCausalLM.from_pretrained(repo_path)
# Prepare the input using the chat template
messages = [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": "What is the capital of France ?"}
]
# Apply the chat template
input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
# Generate the response
inputs = tokenizer(input_text, return_tensors="pt")
gen_tokens = model.generate(**inputs, do_sample=True, temperature=0.2, top_p=0.9, min_length=20, max_length=100)
# Decode and print the output
output = tokenizer.batch_decode(gen_tokens, skip_special_tokens=True)
print(output[0])