Comments (7)
Whereas most activation functions (ReLU, sigmoid, tanh) have their phase change at zero, and random weight initializers tend to be symmetric about this point also, it's best to keep your raw input data nominally centered around zero.
from cnn_lstm_ctc_ocr.
Yes, similar to batch norm. The CTC loss layer utilizes raw scores as their input, taking the softmax internally.
from cnn_lstm_ctc_ocr.
so, like Batch Normalization?
from cnn_lstm_ctc_ocr.
and another question is that in last layer, the output should be the probability of each char, but you use Relu as activation function. why not softmax
from cnn_lstm_ctc_ocr.
ho, i use your project to train my plate data, the num of chars classes is 66,i change the num from 63 to 67 in "logits = model.rnn_layers( features, sequence_length, 66) " [train.py, line number = 178 ],and the failure message occurs like this:
Caused by op 'save/Assign_109', defined at:
File "D:/learn/ocr/cnn_lstm_ctc_ocr-master/ocr_cnn_lstm_ctc/src/train.py", line 209, in
tf.app.run()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 126, in run
_sys.exit(main(argv))
File "D:/learn/ocr/cnn_lstm_ctc_ocr-master/ocr_cnn_lstm_ctc/src/train.py", line 193, in main
save_model_secs=150)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\util\deprecation.py", line 250, in new_func
return func(*args, **kwargs)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 318, in init
self._init_saver(saver=saver)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 466, in _init_saver
saver = saver_mod.Saver()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1338, in init
self.build()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1347, in build
self._build(self._filename, build_save=True, build_restore=True)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1384, in _build
build_save=build_save, build_restore=build_restore)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 835, in _build_internal
restore_sequentially, reshape)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 494, in _AddRestoreOps
assign_ops.append(saveable.restore(saveable_tensors, shapes))
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 185, in restore
self.op.get_shape().is_fully_defined())
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\ops\state_ops.py", line 283, in assign
validate_shape=validate_shape)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_state_ops.py", line 63, in assign
use_locking=use_locking, name=name)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 3392, in create_op
op_def=op_def)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1718, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [67] rhs shape= [63]
[[Node: save/Assign_109 = Assign[T=DT_FLOAT, _class=["loc:@rnn/logits/bias"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](rnn/logits/bias, save/RestoreV2:109)]]
Traceback (most recent call last):
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1322, in _do_call
return fn(*args)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1307, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1409, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [67] rhs shape= [63]
[[Node: save/Assign_109 = Assign[T=DT_FLOAT, _class=["loc:@rnn/logits/bias"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](rnn/logits/bias, save/RestoreV2:109)]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:/learn/ocr/cnn_lstm_ctc_ocr-master/ocr_cnn_lstm_ctc/src/train.py", line 209, in
tf.app.run()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 126, in run
_sys.exit(main(argv))
File "D:/learn/ocr/cnn_lstm_ctc_ocr-master/ocr_cnn_lstm_ctc/src/train.py", line 196, in main
with sv.managed_session(config=session_config) as sess:
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\contextlib.py", line 81, in enter
return next(self.gen)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 1000, in managed_session
self.stop(close_summary_writer=close_summary_writer)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 828, in stop
ignore_live_threads=ignore_live_threads)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\coordinator.py", line 389, in join
six.reraise(*self._exc_info_to_raise)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\six.py", line 693, in reraise
raise value
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 989, in managed_session
start_standard_services=start_standard_services)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 726, in prepare_or_wait_for_session
init_feed_dict=self._init_feed_dict, init_fn=self._init_fn)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\session_manager.py", line 279, in prepare_session
config=config)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\session_manager.py", line 207, in _restore_checkpoint
saver.restore(sess, ckpt.model_checkpoint_path)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1802, in restore
{self.saver_def.filename_tensor_name: save_path})
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 900, in run
run_metadata_ptr)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1316, in _do_run
run_metadata)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1335, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [67] rhs shape= [63]
[[Node: save/Assign_109 = Assign[T=DT_FLOAT, _class=["loc:@rnn/logits/bias"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](rnn/logits/bias, save/RestoreV2:109)]]
Caused by op 'save/Assign_109', defined at:
File "D:/learn/ocr/cnn_lstm_ctc_ocr-master/ocr_cnn_lstm_ctc/src/train.py", line 209, in
tf.app.run()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 126, in run
_sys.exit(main(argv))
File "D:/learn/ocr/cnn_lstm_ctc_ocr-master/ocr_cnn_lstm_ctc/src/train.py", line 193, in main
save_model_secs=150)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\util\deprecation.py", line 250, in new_func
return func(*args, **kwargs)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 318, in init
self._init_saver(saver=saver)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\supervisor.py", line 466, in _init_saver
saver = saver_mod.Saver()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1338, in init
self.build()
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1347, in build
self._build(self._filename, build_save=True, build_restore=True)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1384, in _build
build_save=build_save, build_restore=build_restore)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 835, in _build_internal
restore_sequentially, reshape)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 494, in _AddRestoreOps
assign_ops.append(saveable.restore(saveable_tensors, shapes))
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 185, in restore
self.op.get_shape().is_fully_defined())
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\ops\state_ops.py", line 283, in assign
validate_shape=validate_shape)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_state_ops.py", line 63, in assign
use_locking=use_locking, name=name)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 3392, in create_op
op_def=op_def)
File "D:\software\cuda\Anaconda2-4.3.1\envs\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1718, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [67] rhs shape= [63]
[[Node: save/Assign_109 = Assign[T=DT_FLOAT, _class=["loc:@rnn/logits/bias"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](rnn/logits/bias, save/RestoreV2:109)]]
this means i load 67 elements into variable with 63 elements , so my channges is invalid.
can you guide me to change this. thank you very much
from cnn_lstm_ctc_ocr.
@oftenliu I don't have any clear ideas why this would happen. One long-shot possibility is that you'd trained and saved a 63-dim model checkpoint (it's automatic) before making the change. train.py
loads an existing checkpointed model (again, automatically), so that could be the case of the discrepancy.
To verify you're starting from scratch, either make sure ROOT/data/model
is deleted or you use a different path for the --output
flag.
from cnn_lstm_ctc_ocr.
Perfectly, As you said,i saved a 63-dim model checkpoint before making the change. You are really something!!! thank you
from cnn_lstm_ctc_ocr.
Related Issues (20)
- Training error HOT 9
- How to deal with single character input HOT 2
- Using Multiple GPU as a train_device HOT 3
- ctc_loss_calculator.cc Not a valid path HOT 3
- are there any pretrain model file HOT 3
- Input shapes: [72,357,1], [4] and with input tensors computed HOT 3
- It's possible to use a pre-trained model? HOT 1
- CuDnn 7.2.1 HOT 1
- get not good result, HOT 2
- FineTune ! HOT 3
- Model learns nothing about certain characters. HOT 1
- TypeError HOT 4
- Fixed sequence length HOT 1
- Training Error when using my data HOT 1
- 0% GPU-Util when testing HOT 1
- Train on vertical patches HOT 1
- Question Regarding End Model HOT 3
- confidence on sess passing HOT 6
- How to convert .ckpt model to SavedModel .pb format for hosting with Tensorflow Model Serving? HOT 6
- How to batch inference? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cnn_lstm_ctc_ocr.