Saafke / EDSR_Tensorflow

TensorFlow implementation of 'Enhanced Deep Residual Networks for Single Image Super-Resolution'.
Apache License 2.0
233 stars 72 forks source link

No OpKernel was registered to support Op 'Dequantize'. #2

Closed Saafke closed 4 years ago

Saafke commented 4 years ago

Hi There, I am trying to use your code to test up-scaling of a cropped image. i am on anaconda python 3.5 cuda 10 cudnn 7.4 with tensorflow-gpu==1.15.0. I am getting. can you help to identify the exact version or procedure that i have to use?

Traceback (most recent call last): File "main_1.py", line 73, in run.upscaleFromPb(args.image) File "C:\Users\ASUS\Downloads\EDSR_Tensorflow-master\EDSR_Tensorflow-master\run.py", line 298, in upscaleFromPb output = sess.run(HR_tensor, feed_dict={LR_tensor: LRinput}) File "C:\Users\ASUS\Anaconda3\envs\tengpu\lib\site-packages\tensorflow_core\python\client\session.py", line 956, in run run_metadata_ptr) File "C:\Users\ASUS\Anaconda3\envs\tengpu\lib\site-packages\tensorflow_core\python\client\session.py", line 1180, in _run feed_dict_tensor, options, run_metadata) File "C:\Users\ASUS\Anaconda3\envs\tengpu\lib\site-packages\tensorflow_core\python\client\session.py", line 1359, in _do_run run_metadata) File "C:\Users\ASUS\Anaconda3\envs\tengpu\lib\site-packages\tensorflow_core\python\client\session.py", line 1384, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'Dequantize' used by node resFilter_three (defined at C:\Users\ASUS\Anaconda3\envs\tengpu\lib\site-packages\tensorflow_core\python\framework\ops.py:1748) with these attrs: [mode="MIN_FIRST", T=DT_QUINT8] Registered devices: [CPU, GPU] Registered kernels:

[[resFilter_three]] _Originally posted by @seli07 in https://github.com/Saafke/EDSR_Tensorflow/issues/1#issuecomment-652944157_
Saafke commented 4 years ago

Hi,

I think this is because the model was created under (I believe) tensorflow-gpu=1.12.0. I also see you use windows. Apparently this combination gives your error, see the issue here.

To work around this we can either:

  1. Retrain the model with a higher version of tensorflow. Not recommended as it takes a couple days of training on one powerful GPU.

  2. Use the unquantized version. Unfortunately, I don't have those files any more. So this would also require retraining.

  3. Use OpenCV for the inference part. I believe this should work with windows. You can follow this tutorial. Helpful: see this tutorial for how to install OpenCV 4.3.0 with contrib modules on windows.

  4. Use Linux.

Saafke commented 4 years ago

Original poster said:

Thank you. It worked with the opencv + contrib build process.

muety commented 2 years ago

Does someone, by any chance, have non-quantizes pb files?