Open Ankan1998 opened 3 years ago
Have you tried tf.raw_ops.MutableHashTable
?
https://www.tensorflow.org/api_docs/python/tf/raw_ops/MutableHashTable
The interface seems like it should do the same as tf.contrib.lookup.MutableHashTable
In my minimal TF2 PR (#198) I successfully used tf.lookup.experimental.MutableHashTable
. This uses one of tf.raw_ops.AnonymousMutableHashTable
, tf.raw_ops.AnonymousMutableHashTableOfTensors
, tf.raw_ops.MutableHashTableV2
or tf.raw_ops.MutableHashTableOfTensorsV2
under the hood based on wether or not the table is anonymous and the number of dimensions needed.
For how attention-ocr uses this, that'd be tf.raw_ops.MutableHashTableV2
.
Merged @mjpieters's PR: https://github.com/emedvedev/attention-ocr/pull/198. Should support TF2 now.
2021-01-29 15:28:13.823161: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.d ll not found 2021-01-29 15:28:13.831735: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2021-01-29 15:28:19.039282: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2021-01-29 15:28:19.058589: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found
2021-01-29 15:28:19.068296: W tensorflow/stream_executor/cuda/cuda_driver.cc:326] failed call to cuInit: UNKNOWN ERROR (303) 2021-01-29 15:28:19.079502: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: DESKTOP-ALGRPUI 2021-01-29 15:28:19.086903: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: DESKTOP-ALGRPUI 2021-01-29 15:28:19.093464: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set 2021-01-29 15:28:19,101 root INFO phase: train 2021-01-29 15:28:19,103 root INFO model_dir: ./checkpoints 2021-01-29 15:28:19,103 root INFO load_model: False 2021-01-29 15:28:19,105 root INFO output_dir: ./results 2021-01-29 15:28:19,105 root INFO steps_per_checkpoint: 100 2021-01-29 15:28:19,107 root INFO batch_size: 65 2021-01-29 15:28:19,107 root INFO learning_rate: 1.000000 2021-01-29 15:28:19,109 root INFO reg_val: 0 2021-01-29 15:28:19,109 root INFO max_gradient_norm: 5.000000 2021-01-29 15:28:19,110 root INFO clip_gradients: True 2021-01-29 15:28:19,111 root INFO max_image_width 160.000000 2021-01-29 15:28:19,111 root INFO max_prediction_length 8.000000 2021-01-29 15:28:19,112 root INFO channels: 3 2021-01-29 15:28:19,112 root INFO target_embedding_size: 10.000000 2021-01-29 15:28:19,112 root INFO attn_num_hidden: 128 2021-01-29 15:28:19,113 root INFO attn_num_layers: 2 2021-01-29 15:28:19,113 root INFO visualize: False C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\keras\legacy_tf_layers\normalization.py:308: UserWarning:
tf.layers.batch_n ormalization
is deprecated and will be removed in a future version. Please usetf.keras.layers.BatchNormalization
instead. In particular,tf.control_dependencies( tf.GraphKeys.UPDATE_OPS)
should not be used (consult thetf.keras.layers.BatchNormalization
documentation). 'tf.layers.batch_normalization
is deprecated and ' C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\keras\engine\base_layer_v1.py:1719: UserWarning:layer.apply
is deprecated and will be removed in a future version. Please uselayer.__call__
method instead. warnings.warn('layer.apply
is deprecated and ' C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\keras\layers\legacy_rnn\rnn_cell_impl.py:702: UserWarning:tf.nn.rnn_cell.B asicLSTMCell
is deprecated and will be removed in a future version. This class is equivalent astf.keras.layers.LSTMCell
, and will be replaced by that in Tensorflo w 2.0. warnings.warn("tf.nn.rnn_cell.BasicLSTMCell
is deprecated and will be " C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\keras\engine\base_layer_v1.py:1727: UserWarning:layer.add_variable
is dep recated and will be removed in a future version. Please uselayer.add_weight
method instead. warnings.warn('layer.add_variable
is deprecated and ' 2021-01-29 15:28:35,726 root INFO Created model with fresh parameters. <tensorflow.python.framework.ops.Graph object at 0x0000018CA3C23748> 2021-01-29 15:28:36.129245: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:196] None of the MLIR optimization passes are enabled (registered 0 passes) Traceback (most recent call last): File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1375, in _do_call return fn(*args) File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1358, in _run_fn self._extend_graph() File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1398, in _extend_graph tf_session.ExtendSession(self._session) tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'MutableDenseHashTableV2' used by {{node MutableDenseHashTable} } with these attrs: [initial_num_buckets=131072, shared_name="", use_node_name_sharing=true, key_dtype=DT_INT64, container="", value_shape=[], value_dtype=DT_STRING, max_load_factor=0.8] Registered devices: [CPU] Registered kernels: device='CPU'; key_dtype in [DT_INT32]; value_dtype in [DT_DOUBLE] device='CPU'; key_dtype in [DT_INT32]; value_dtype in [DT_FLOAT] device='CPU'; key_dtype in [DT_INT32]; value_dtype in [DT_INT32] device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_BOOL] device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_DOUBLE] device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_FLOAT] device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_INT32] device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_INT64] device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_VARIANT] device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_BOOL] device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_DOUBLE] device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_FLOAT] device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_INT32] device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_INT64] device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_RESOURCE]During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "main.py", line 286, in
main()
File "main.py", line 254, in main
reg_val=0
File "C:\Users\Ankan\Desktop\AOCR_TF2\aocr\model\model.py", line 301, in init
self.sess.run(tf.compat.v1.global_variables_initializer())
File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 968, in run
run_metadata_ptr)
File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1191, in _run
feed_dict_tensor, options, run_metadata)
File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1369, in _do_run
run_metadata)
File "C:\Users\Ankan\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1394, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'MutableDenseHashTableV2' used by node MutableDenseHashTable (d
efined at C:\Users\Ankan\Desktop\AOCR_TF2\aocr\model\model.py:185) with these attrs: [initial_num_buckets=131072, shared_name="", use_node_name_sharing=true, key_dty
pe=DT_INT64, container="", value_shape=[], value_dtype=DT_STRING, max_load_factor=0.8]
Registered devices: [CPU]
Registered kernels:
device='CPU'; key_dtype in [DT_INT32]; value_dtype in [DT_DOUBLE]
device='CPU'; key_dtype in [DT_INT32]; value_dtype in [DT_FLOAT]
device='CPU'; key_dtype in [DT_INT32]; value_dtype in [DT_INT32]
device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_BOOL]
device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_DOUBLE]
device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_FLOAT]
device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_INT32]
device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_INT64]
device='CPU'; key_dtype in [DT_INT64]; value_dtype in [DT_VARIANT]
device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_BOOL]
device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_DOUBLE]
device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_FLOAT]
device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_INT32]
device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_INT64]
device='CPU'; key_dtype in [DT_STRING]; value_dtype in [DT_RESOURCE]
I tried using different table instead of "tf.contrib.lookup.MutableHashTable"
But everything is giving error. i used then tf.lookup.experimental.DenseHashTable. But it is giving these error.
Any help is highly appreciable