-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
OpenCV(4.7.0-dev) Error: Assertion failed (interp_mode != "tf_half_pixel_for_nn") #23745
Copy link
Copy link
Closed
Closed
Copy link
Labels
category: dnncategory: dnn (onnx)ONNX suport issues in DNN moduleONNX suport issues in DNN modulefeature
Description
System Information
General configuration for OpenCV 4.7.0-dev =====================================
Version control: 4.7.0-389-g9fa014edcd
Extra modules:
Location (extra): C:/lib/opencv_contrib/modules
Version control (extra): 4.7.0-54-g8dfeed73
Platform:
Timestamp: 2023-06-05T09:49:58Z
Host: Windows 10.0.22621 AMD64
CMake: 3.26.1
CMake generator: Visual Studio 17 2022
CMake build tool: C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe
MSVC: 1935
Configuration: Debug Release
CPU/HW features:
Baseline: SSE SSE2 SSE3
requested: SSE3
Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
SSE4_1 (18 files): + SSSE3 SSE4_1
SSE4_2 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2
FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
AVX (8 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
AVX2 (36 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
AVX512_SKX (8 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
C/C++:
Built as dynamic libs?: YES
C++ standard: 11
C++ Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe (ver 19.35.32215.0)
C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /MD /O2 /Ob2 /DNDEBUG
C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /MDd /Zi /Ob0 /Od /RTC1
C Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe
C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MD /O2 /Ob2 /DNDEBUG
C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /MDd /Zi /Ob0 /Od /RTC1
Linker flags (Release): /machine:x64 /INCREMENTAL:NO
Linker flags (Debug): /machine:x64 /debug /INCREMENTAL
ccache: NO
Precompiled headers: YES
Extra dependencies: cudart_static.lib nppc.lib nppial.lib nppicc.lib nppidei.lib nppif.lib nppig.lib nppim.lib nppist.lib nppisu.lib nppitc.lib npps.lib cublas.lib cudnn.lib cufft.lib -LIBPATH:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1/lib/x64
3rdparty dependencies:
OpenCV modules:
To be built: alphamat aruco barcode bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dnn_superres dpm face features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform java line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency sfm shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab viz wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto
Disabled: world
Disabled by dependency: -
Unavailable: cvv freetype hdf julia matlab ovis python2
Applications: tests perf_tests examples apps
Documentation: doxygen python javadoc
Non-free algorithms: YES
Windows RT support: NO
GUI: WIN32UI
Win32 UI: YES
OpenGL support: YES (opengl32 glu32)
VTK support: YES (ver 9.2.5)
Media I/O:
ZLib: optimized C:/install/zlib/lib/zlib.lib debug C:/install/zlib/lib/zlibd.lib (ver 1.2.13) JPEG: build-libjpeg-turbo (ver 2.1.3-62)
SIMD Support Request: YES
SIMD Support: NO
WEBP: build (ver encoder: 0x020f)
PNG: optimized C:/install/libpng/lib/libpng16.lib debug C:/install/libpng/lib/libpng16d.lib (ver 1.6.40)
TIFF: build (ver 42 - 4.2.0)
JPEG 2000: build (ver 2.5.0)
OpenEXR: build (ver 2.3.0)
HDR: YES
SUNRASTER: YES
PXM: YES
PFM: YES
Video I/O:
DC1394: NO
FFMPEG: YES (prebuilt binaries)
avcodec: YES (58.134.100)
avformat: YES (58.76.100)
avutil: YES (56.70.100)
swscale: YES (5.9.100)
avresample: YES (4.0.0)
GStreamer: NO
DirectShow: YES
Media Foundation: YES
DXVA: YES
Parallel framework: Concurrency
Other third-party libraries:
Intel IPP: 2021.8 [2021.8.0]
at: C:/lib/build/opencv/3rdparty/ippicv/ippicv_win/icv
Intel IPP IW: sources (2021.8.0)
at: C:/lib/build/opencv/3rdparty/ippicv/ippicv_win/iw
Lapack: YES (C:/Program Files (x86)/Intel/oneAPI/mkl/2023.0.0/lib/intel64/mkl_intel_lp64.lib C:/Program Files (x86)/Intel/oneAPI/mkl/2023.0.0/lib/intel64/mkl_sequential.lib C:/Program Files (x86)/Intel/oneAPI/mkl/2023.0.0/lib/intel64/mkl_core.lib)
OpenVINO: YES (2022.3.0)
Eigen: YES (ver ..)
Custom HAL: NO
Protobuf: build (3.19.1)
Flatbuffers: builtin/3rdparty (23.5.9)
NVIDIA CUDA: YES (ver 12.1, CUFFT CUBLAS)
NVIDIA GPU arch: 86
NVIDIA PTX archs:
cuDNN: YES (ver 8.8.0)
OpenCL: YES (NVD3D11)
Include path: C:/lib/opencv/3rdparty/include/opencl/1.2
Link libraries: Dynamic load
Python 3:
Interpreter: C:/Program Files/Python310/python.exe (ver 3.10.10)
Libraries: optimized C:/Program Files/Python310/libs/python310.lib debug C:/Program Files/Python310/libs/python310_d.lib (ver 3.10.10)
numpy: C:/Users/laurent/AppData/Roaming/Python/Python310/site-packages/numpy/core/include (ver 1.23.5)
install path: C:/Users/laurent/AppData/Roaming/Python/Python310/site-packages/cv2/python-3.10
Python (for build): C:/Program Files/Python310/python.exe
Java:
ant: C:/apache-ant-1.10.13/bin/ant.bat (ver 1.10.13)
JNI: C:/Program Files/Java/jdk-19/include C:/Program Files/Java/jdk-19/include/win32 C:/Program Files/Java/jdk-19/include
Java wrappers: YES
Java tests: YES
Install to: C:/install/opencv
-----------------------------------------------------------------
Detailed description
I train my own cedn network using tensorflow 2.12.0
I used this script to freeze and convert .pb to .onnx (https://medium.com/nerd-for-tech/how-to-convert-tensorflow2-model-to-onnx-using-tf2onnx-when-there-is-custom-ops-6e703376ef20):
# freeze model
import tensorflow as tf
from tensorflow import keras
from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2
import numpy as np
from tensorflow.python.util import compat
from tf2onnx import tf_loader
from tf2onnx.tfonnx import process_tf_graph
from tf2onnx.optimizer import optimize_graph
from tf2onnx import utils, constants
from tf2onnx.handler import tf_op
class perte(tf.keras.losses.Loss):
def __init__(self):
super().__init__()
def call(self,y_vrai,y_pred):
mse1 = tf.reduce_sum(tf.square(tf.subtract(y_vrai,y_pred)), [0, 1, 2])
mse2 = tf.reduce_sum(y_vrai * tf.square(y_vrai-y_pred), [0, 1, 2])
return 10*mse2+mse1
mon_modele = tf.keras.models.load_model("c:/tmp/log_dirtocd/cedn_pb",
custom_objects={'perte':perte()},
compile=False)
infer = mon_modele.signatures["serving_default"]
f = tf.function(infer).get_concrete_function(tf.TensorSpec(shape=mon_modele.inputs[0].shape,
dtype=mon_modele.inputs[0].dtype))
frozen_func = convert_variables_to_constants_v2(f)
graph_def = frozen_func.graph.as_graph_def()
output_names = [out.name for out in frozen_func.outputs]
input_names = [inp.name for inp in frozen_func.inputs]
extra_opset = [utils.make_opsetid(constants.CONTRIB_OPS_DOMAIN, 1)]
with tf.Graph().as_default() as tf_graph:
tf.import_graph_def(frozen_func.graph.as_graph_def(), name='')
with tf_loader.tf_session(graph=tf_graph):
g = process_tf_graph(tf_graph, input_names=input_names,
output_names=output_names, extra_opset=extra_opset)
onnx_graph = optimize_graph(g)
model_proto = onnx_graph.make_model("converted")
utils.save_protobuf("model2b.onnx", model_proto)
print("Conversion ONNX complete!")
I tried too
python -m tf2onnx.convert --saved-model c:/tmp/log_dirtocd/cedn_pb --output c:/tmp/cedn.onnx --opset 11
but results does not change. opset must be >=11
My c++ code is
dnn::Net my_net;
utils::logging::setLogLevel(utils::logging::LogLevel::LOG_LEVEL_VERBOSE);
my_net = dnn::readNet("C:/tmp/cedn/model2b.onnx");
I run program and I ve got an execption :
[DEBUG:0@11.168] global system.cpp:2842 cv::details::setFPDenormalsIgnoreHint core: update FP mxcsr flags = 0x00009fe0
[DEBUG:0@11.172] global onnx_importer.cpp:269 cv::dnn::dnn4_v20221220::ONNXImporter::ONNXImporter DNN/ONNX: processing ONNX model from file: C:/tmp/cedn/model2b.onnx
[ INFO:0@11.687] global onnx_importer.cpp:835 cv::dnn::dnn4_v20221220::ONNXImporter::populateNet DNN/ONNX: loading ONNX v8 model produced by 'tf2onnx':1.14.0 8f8d49. Number of nodes = 54, initializers = 45, inputs = 1, outputs = 1
[DEBUG:0@11.689] global onnx_importer.cpp:723 cv::dnn::dnn4_v20221220::ONNXImporter::parseOperatorSet DNN/ONNX: using non-standard ONNX opset[1]: domain='ai.onnx.ml' version=2
[DEBUG:0@11.689] global onnx_importer.cpp:723 cv::dnn::dnn4_v20221220::ONNXImporter::parseOperatorSet DNN/ONNX: using non-standard ONNX opset[2]: domain='ai.onnx.contrib' version=1
[ INFO:0@11.689] global onnx_importer.cpp:728 cv::dnn::dnn4_v20221220::ONNXImporter::parseOperatorSet DNN/ONNX: ONNX opset version = 15
[ INFO:0@11.690] global onnx_importer.cpp:743 cv::dnn::dnn4_v20221220::ONNXImporter::parseOperatorSet DNN/ONNX: unknown domain='ai.onnx.contrib' version=15. No dispatch map, you may need to register 'custom' layers.
[ INFO:0@11.690] global onnx_importer.cpp:743 cv::dnn::dnn4_v20221220::ONNXImporter::parseOperatorSet DNN/ONNX: unknown domain='ai.onnx.ml' version=15. No dispatch map, you may need to register 'custom' layers.
[DEBUG:0@11.700] global onnx_importer.cpp:842 cv::dnn::dnn4_v20221220::ONNXImporter::populateNet DNN/ONNX: graph simplified to 54 nodes
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[0 as 'scales__146'] shape=[ 4 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[1 as 'roi__133'] shape=[ 0 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[2 as 'new_shape__187'] shape=[ 4 ] data_type=7
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[3 as 'Func/StatefulPartitionedCall/input/_9__12'] shape=[ 256 128 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[4 as 'Func/StatefulPartitionedCall/input/_8__33'] shape=[ 128 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[5 as 'Func/StatefulPartitionedCall/input/_7__32'] shape=[ 128 128 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[6 as 'Func/StatefulPartitionedCall/input/_6__30'] shape=[ 128 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[7 as 'Func/StatefulPartitionedCall/input/_5__26'] shape=[ 128 64 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[8 as 'Func/StatefulPartitionedCall/input/_4__6'] shape=[ 64 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[9 as 'Func/StatefulPartitionedCall/input/_42__22'] shape=[ 1 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[10 as 'Func/StatefulPartitionedCall/input/_41__17'] shape=[ 1 32 5 5 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[11 as 'Func/StatefulPartitionedCall/input/_40__11'] shape=[ 32 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[12 as 'Func/StatefulPartitionedCall/input/_3__42'] shape=[ 64 64 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[13 as 'Func/StatefulPartitionedCall/input/_39__27'] shape=[ 32 64 5 5 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[14 as 'Func/StatefulPartitionedCall/input/_38__31'] shape=[ 64 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[15 as 'Func/StatefulPartitionedCall/input/_37__29'] shape=[ 64 128 5 5 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[16 as 'Func/StatefulPartitionedCall/input/_36__25'] shape=[ 128 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[17 as 'Func/StatefulPartitionedCall/input/_35__21'] shape=[ 128 256 5 5 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[18 as 'Func/StatefulPartitionedCall/input/_34__16'] shape=[ 256 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[19 as 'Func/StatefulPartitionedCall/input/_33__10'] shape=[ 256 512 5 5 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[20 as 'Func/StatefulPartitionedCall/input/_32__47'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[21 as 'Func/StatefulPartitionedCall/input/_31__24'] shape=[ 512 512 5 5 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[22 as 'Func/StatefulPartitionedCall/input/_30__46'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[23 as 'Func/StatefulPartitionedCall/input/_2__19'] shape=[ 64 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[24 as 'Func/StatefulPartitionedCall/input/_29__9'] shape=[ 512 4096 1 1 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[25 as 'Func/StatefulPartitionedCall/input/_28__39'] shape=[ 4096 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[26 as 'Func/StatefulPartitionedCall/input/_27__37'] shape=[ 4096 512 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[27 as 'Func/StatefulPartitionedCall/input/_26__20'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[28 as 'Func/StatefulPartitionedCall/input/_25__15'] shape=[ 512 512 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[29 as 'Func/StatefulPartitionedCall/input/_24__35'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[30 as 'Func/StatefulPartitionedCall/input/_23__8'] shape=[ 512 512 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[31 as 'Func/StatefulPartitionedCall/input/_22__41'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[32 as 'Func/StatefulPartitionedCall/input/_21__38'] shape=[ 512 512 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[33 as 'Func/StatefulPartitionedCall/input/_20__36'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[34 as 'Func/StatefulPartitionedCall/input/_1__43'] shape=[ 64 3 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[35 as 'Func/StatefulPartitionedCall/input/_19__14'] shape=[ 512 512 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[36 as 'Func/StatefulPartitionedCall/input/_18__45'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[37 as 'Func/StatefulPartitionedCall/input/_17__23'] shape=[ 512 512 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[38 as 'Func/StatefulPartitionedCall/input/_16__44'] shape=[ 512 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[39 as 'Func/StatefulPartitionedCall/input/_15__28'] shape=[ 512 256 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[40 as 'Func/StatefulPartitionedCall/input/_14__40'] shape=[ 256 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[41 as 'Func/StatefulPartitionedCall/input/_13__18'] shape=[ 256 256 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[42 as 'Func/StatefulPartitionedCall/input/_12__7'] shape=[ 256 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[43 as 'Func/StatefulPartitionedCall/input/_11__34'] shape=[ 256 256 3 3 ] data_type=1
global onnx_importer.cpp:365 cv::dnn::dnn4_v20221220::dumpTensorProto DNN/ONNX: initializer[44 as 'Func/StatefulPartitionedCall/input/_10__13'] shape=[ 256 ] data_type=1
[DEBUG:0@11.770] global onnx_importer.cpp:867 cv::dnn::dnn4_v20221220::ONNXImporter::populateNet DNN/ONNX: input[0] dim[0] = <unk__188> (dynamic)
[DEBUG:0@11.770] global onnx_importer.cpp:882 cv::dnn::dnn4_v20221220::ONNXImporter::populateNet DNN/ONNX: input[0 as 'args_0:0'] shape=[ 0 224 224 3 ]
[DEBUG:0@11.773] global onnx_importer.cpp:340 cv::dnn::dnn4_v20221220::dumpValueInfoProto DNN/ONNX: output[0] dim[0] = <unk__189> (dynamic)
[DEBUG:0@11.773] global onnx_importer.cpp:349 cv::dnn::dnn4_v20221220::dumpValueInfoProto DNN/ONNX: output[0 as 'Identity:0'] shape=[ 0 224 224 1 ]
[ INFO:0@11.773] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Transpose]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv1a/BiasAdd__53) from domain='ai.onnx'
[ INFO:0@11.779] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv1a/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.785] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv1a/Relu) from domain='ai.onnx'
[ INFO:0@11.789] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv1b/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.789] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv1b/Relu) from domain='ai.onnx'
[ INFO:0@11.789] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [MaxPool]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/mpconv1/MaxPool) from domain='ai.onnx'
[ INFO:0@11.792] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv2a/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.792] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv2a/Relu) from domain='ai.onnx'
[ INFO:0@11.792] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv2b/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.792] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv2b/Relu) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [MaxPool]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/mpconv2/MaxPool) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv3a/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv3a/Relu) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv3b/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv3b/Relu) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv3c/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv3c/Relu) from domain='ai.onnx'
[ INFO:0@11.793] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [MaxPool]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/mpconv3/MaxPool) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv4a/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv4a/Relu) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv4b/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv4b/Relu) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv4c/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv4c/Relu) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [MaxPool]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/mpconv4/MaxPool) from domain='ai.onnx'
[ INFO:0@11.794] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv5a/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv5a/Relu) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv5b/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv5b/Relu) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv5c/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv5c/Relu) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [MaxPool]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/mpconv5/MaxPool) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv6/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.795] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/conv6/Relu) from domain='ai.onnx'
[ INFO:0@11.796] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Conv]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/deconv6/BiasAdd) from domain='ai.onnx'
[ INFO:0@11.796] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Relu]:(onnx_node!StatefulPartitionedCall/StatefulPartitionedCall/model/deconv6/Relu) from domain='ai.onnx'
[ INFO:0@11.796] global onnx_importer.cpp:1006 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [Resize]:(onnx_node!Resize__137) from domain='ai.onnx'
OpenCV(4.7.0-dev) Error: Assertion failed (interp_mode != "tf_half_pixel_for_nn") in cv::dnn::dnn4_v20221220::ONNXImporter::parseResize, file C:\lib\opencv\modules\dnn\src\onnx\onnx_importer.cpp, line 2772
[ERROR:0@11.802] global onnx_importer.cpp:1064 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode DNN/ONNX: ERROR during processing node with 3 inputs and 1 outputs: [Resize]:(onnx_node!Resize__137) from domain='ai.onnx'
[ INFO:0@11.802] global onnx_importer.cpp:1068 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode Input[0] = 'StatefulPartitionedCall/StatefulPartitionedCall/model/deconv6/Relu:0'
[ INFO:0@11.802] global onnx_importer.cpp:1068 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode Input[1] = 'roi__133'
[ INFO:0@11.802] global onnx_importer.cpp:1068 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode Input[2] = 'scales__146'
[ INFO:0@11.802] global onnx_importer.cpp:1072 cv::dnn::dnn4_v20221220::ONNXImporter::handleNode Output[0] = 'Resize__137:0'
OpenCV(4.7.0-dev) Error: Unspecified error (> Node [Resize@ai.onnx]:(onnx_node!Resize__137) parse error: OpenCV(4.7.0-dev) C:\lib\opencv\modules\dnn\src\onnx\onnx_importer.cpp:2772: error: (-215:Assertion failed) interp_mode != "tf_half_pixel_for_nn" in function 'cv::dnn::dnn4_v20221220::ONNXImporter::parseResize'
> ) in cv::dnn::dnn4_v20221220::ONNXImporter::handleNode, file C:\lib\opencv\modules\dnn\src\onnx\onnx_importer.cpp, line 1083
Steps to reproduce
All data can be downloaded
TF2 model
ONNX model
Issue submission checklist
- I report the issue, it's not a question
- I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
- I updated to the latest OpenCV version and the issue is still there
- There is reproducer code and related data files (videos, images, onnx, etc)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
category: dnncategory: dnn (onnx)ONNX suport issues in DNN moduleONNX suport issues in DNN modulefeature