Open2
PyTorch からダイレクトに ONNX の Float16 をエクスポートするワークアラウンド
import clip
import onnxruntime as ort
import torch
model_name = "MODEL_NAME.onnx"
model = ....
with torch.autocast("cuda", dtype=torch.float16):
x = torch.randn(1, 3, 224, 224, device="cuda")
# # Export the model
torch.onnx.export(
model, # model being run
x, # model input (or a tuple for multiple inputs)
model_name, # where to save the model (can be a file or file-like object)
opset_version=16,
export_params=True, # store the trained parameter weights inside the model file
do_constant_folding=True, # whether to execute constant folding for optimization
input_names=["image"], # the model's input names
output_names=["output"], # the model's output names
dynamic_axes={
"image": {0: "batch_size"}, # variable length axes
"output": {0: "batch_size"},
},
)
```