tf2onnx を使用して、テンソルフローで保存されたモデルを ONNX 形式に変換しました。
python3 -m tf2onnx.convert --saved-model saved_model/ --output onnx/model.onnx --opset 11
変換は正常に機能し、CPU を使用して ONNX モデルで推論を実行できます。
onnxruntime-gpu
GPU で推論を実行するためにインストールしたところ、エラーが発生しました。
RuntimeException: [ONNXRuntimeError] : 6 : RUNTIME_EXCEPTION : Non-zero status code returned while running Relu node. Name:'FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/conv1/Relu' Status Message: /onnxruntime_src/onnxruntime/core/providers/cuda/cuda_call.cc:97 bool onnxruntime::CudaCall(ERRTYPE, const char*, const char*, ERRTYPE, const char*) [with ERRTYPE = cudaError; bool THRW = true] /onnxruntime_src/onnxruntime/core/providers/cuda/cuda_call.cc:91 bool onnxruntime::CudaCall(ERRTYPE, const char*, const char*, ERRTYPE, const char*) [with ERRTYPE = cudaError; bool THRW = true] CUDA failure 2: out of memory ; GPU=0 ; hostname=coincoin; expr=cudaMalloc((void**)&p, size);
Stacktrace:
Stacktrace:
Titan RTX (24 GB の RAM) である GPU を使用しているのは私だけです。このモデルは、10GB の GPU の RAM を使用して、テンソルフローで保存されたモデル バージョンを使用して、GPU で正常に実行されます。
バージョンは次のとおりです。
- テンソルフロー 1.14.0
- CUDA10.0
- CuDNN 7.6.5
- onnx 1.6.0
- onnxruntime 1.1.0
- tf2onnx 1.9.2
- パイソン3.6
- Ubuntu 18.04