Coder Social home page Coder Social logo

tensorflow_lstm_ctc_ocr's Introduction

LSTM + CTC + Tensorflow Example

This is a demo using lstm and ctc to recognize a picture of a series numbers with blanks all at once. The code is compatible with Python3.

For example: given the piture below the model would give result 73791096754314441539.

Installation

# on mac
pip install pillow
pip install opencv-python
brew install cmake
brew tap homebrew/science
brew install opencv
sh ./prepare_train_data.sh
# on ubuntu
pip intall pillow
pip install opencv-python
pip install tensorflow-gpu

The prepare_train_data.sh script would download the SUN database and extract the pitures to bgs dir. Then you can run python gen.py to generate test and train dir.

When the train and test data set are ready you can start the train process by nohup python lstm_and_ctc_ocr_train.py .

Requirements

  • Python 2.7+ / Python 3.5+
  • Tensorflow 1.0+

License

This project is licensed under the terms of the MIT license.

See README for more information.

tensorflow_lstm_ctc_ocr's People

Contributors

yuan-wenhua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tensorflow_lstm_ctc_ocr's Issues

Clarification about input and output.

Here we have some shape OUTPUT_SHAPE = (64, 256) what it represent?
https://github.com/synckey/tensorflow_lstm_ctc_ocr/blob/master/common.py#L45
Seems also used here, but what is 32 and 8 ?
https://github.com/synckey/tensorflow_lstm_ctc_ocr/blob/master/model.py#L66

Why pooling here is not 2x2 ?
https://github.com/synckey/tensorflow_lstm_ctc_ocr/blob/master/model.py#L56

So what should be input of model, output of convolutional part - input of RNN part and what is output of full model?

./detect error

when i run detect.py i get this
sparse_tensor = SparseTensorValue(indices=array([], shape=(0, 2), dtype=int64), values=array([], dtype=int64), dense_shape=array([640, 0]))
decoded_indexes = [[]]
('len(original_list)', 640, 'len(detected_list)', 1, " test and detect length desn't match")
None

someone can help me?

error in running detect.py

Hi @synckey

I have an error will running the detect file , looks like error related about initializing variable in the model

Restore from models\ocr.model-103000
Traceback (most recent call last):
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1139, in _do_call
    return fn(*args)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1121, in _run_fn
    status, run_metadata)
  File "C:\Users\ososanny\Anaconda3\lib\contextlib.py", line 88, in __exit__
    next(self.gen)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [5,5,48,64] rhs shape= [48]
         [[Node: save/Assign_2 = Assign[T=DT_FLOAT, _class=["loc:@Variable_2"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_2, save/RestoreV2_2)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "detect.py", line 63, in <module>
    print(detect(test_inputs, test_targets, test_seq_len))
  File "detect.py", line 29, in detect
    saver.restore(sess, model_path)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1548, in restore
    {self.saver_def.filename_tensor_name: save_path})
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 789, in run
    run_metadata_ptr)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 997, in _run
    feed_dict_string, options, run_metadata)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1132, in _do_run
    target_list, options, run_metadata)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1152, 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= [5,5,48,64] rhs shape= [48]
         [[Node: save/Assign_2 = Assign[T=DT_FLOAT, _class=["loc:@Variable_2"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_2, save/RestoreV2_2)]]

Caused by op 'save/Assign_2', defined at:
  File "detect.py", line 63, in <module>
    print(detect(test_inputs, test_targets, test_seq_len))
  File "detect.py", line 23, in detect
    saver = tf.train.Saver()
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1139, in __init__
    self.build()
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1170, in build
    restore_sequentially=self._restore_sequentially)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 691, in build
    restore_sequentially, reshape)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 419, in _AddRestoreOps
    assign_ops.append(saveable.restore(tensors, shapes))
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 155, in restore
    self.op.get_shape().is_fully_defined())
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\ops\state_ops.py", line 271, in assign
    validate_shape=validate_shape)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_state_ops.py", line 45, in assign
    use_locking=use_locking, name=name)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 767, in apply_op
    op_def=op_def)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 2506, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "C:\Users\ososanny\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1269, in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [5,5,48,64] rhs shape= [48]
         [[Node: save/Assign_2 = Assign[T=DT_FLOAT, _class=["loc:@Variable_2"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_2, save/RestoreV2_2)]]

Any Help

代码训练一直不收敛

请问作者有测试过加了空格的代码吗?我训练过后loss一直22左右降不下去,而且测试正确率为零,不知道是什么原因,麻烦解答一下,谢谢!

ALPR - Paid Support

Can anybody help me with modifications required for 6-8 chars PL plates? It is urgent; please touch me.

the different between crnn+ctc and lstm ctc

hi, i want to konw the pytorch code ctpn+crnn+ctc is same to you tensorflow_lstm_ctc_ocr code? i want do chinese recongition , can you tell me you code will do well in chinese? thanks.

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [5,5,1,48] rhs shape= []

python3 detect.py

38
loading test
(256, 64)
2018-06-19 08:52:31.041195: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1322, in _do_call
return fn(*args)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1307, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/usr/local/lib/python3.5/dist-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= [5,5,1,48] rhs shape= []
[[Node: save/Assign = Assign[T=DT_FLOAT, _class=["loc:@variable"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Variable, save/RestoreV2)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "detect.py", line 59, in
print(detect(test_inputs, test_targets, test_seq_len))
File "detect.py", line 24, in detect
saver.restore(sess,model_file)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1802, in restore
{self.saver_def.filename_tensor_name: save_path})
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 900, in run
run_metadata_ptr)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1316, in _do_run
run_metadata)
File "/usr/local/lib/python3.5/dist-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= [5,5,1,48] rhs shape= []
[[Node: save/Assign = Assign[T=DT_FLOAT, _class=["loc:@variable"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Variable, save/RestoreV2)]]

Caused by op 'save/Assign', defined at:
File "detect.py", line 59, in
print(detect(test_inputs, test_targets, test_seq_len))
File "detect.py", line 20, in detect
saver = tf.train.Saver()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1338, in init
self.build()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1347, in build
self._build(self._filename, build_save=True, build_restore=True)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1384, in _build
build_save=build_save, build_restore=build_restore)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 835, in _build_internal
restore_sequentially, reshape)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 494, in _AddRestoreOps
assign_ops.append(saveable.restore(saveable_tensors, shapes))
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 185, in restore
self.op.get_shape().is_fully_defined())
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/state_ops.py", line 283, in assign
validate_shape=validate_shape)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_state_ops.py", line 60, in assign
use_locking=use_locking, name=name)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3392, in create_op
op_def=op_def)
File "/usr/local/lib/python3.5/dist-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= [5,5,1,48] rhs shape= []
[[Node: save/Assign = Assign[T=DT_FLOAT, _class=["loc:@variable"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Variable, save/RestoreV2)]]

程序使用

您好,请问您这个代码是使用gen.py来生成验证码,然后在使用lstm_and_ctc_ocr_train.py来训练吗? 我运行gen.py 出错。
libdc1394 error: Failed to initialize libdc1394
12
Traceback (most recent call last):
File "gen.py", line 293, in
for img_idx, (im, c, p) in enumerate(im_gen):
File "gen.py", line 283, in generate_ims
yield generate_im(random.choice(char_ims), num_bg_images)
File "gen.py", line 243, in generate_im
bg = generate_bg(num_bg_images)
File "gen.py", line 228, in generate_bg
fname = "bgs/{:08d}.jpg".format(random.randint(0, num_bg_images - 1))
File "/usr/lib/python2.7/random.py", line 240, in randint
return self.randrange(a, b+1)
File "/usr/lib/python2.7/random.py", line 216, in randrange
raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)
ValueError: empty range for randrange() (0,-2, -2)
这个bgs目录如何使用呢? 可不可以在readme.md中加入一些使用须知....谢谢您。

IndexError: string index out of range

in lstm_and_ctc_ocr_train.py . at 99 Step always below error. Any idea ?

Step: 99 , batch seconds: 0.320336818695
get data time 0.00392603874207
sparse_tensor = (array([[ 0, 0],
[ 0, 1],
[ 0, 2],
...,
[223, 13],
[223, 14],
[223, 15]]), array([6, 3, 7, ..., 7, 4, 1], dtype=int32), array([224, 20]))
decoded_indexes = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], [120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], [140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], [160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179], [180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219], [220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239], [240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], [256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271], [272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287], [288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303], [304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319], [320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335], [336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], [352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367], [368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387], [388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407], [408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423], [424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439], [440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459], [460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479], [480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499], [500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519], [520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535], [536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551], [552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567], [568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583], [584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603], [604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623], [624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643], [644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663], [664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679], [680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695], [696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715], [716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735], [736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751], [752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767], [768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783], [784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799], [800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819], [820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839], [840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855], [856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871], [872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887], [888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907], [908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923], [924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943], [944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959], [960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979], [980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999], [1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019], [1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039], [1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055], [1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075], [1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091], [1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111], [1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131], [1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147], [1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167], [1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187], [1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203], [1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223], [1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239], [1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259], [1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275], [1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291], [1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311], [1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327], [1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343], [1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359], [1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375], [1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391], [1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411], [1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427], [1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447], [1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463], [1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479], [1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499], [1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515], [1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535], [1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555], [1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571], [1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591], [1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611], [1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631], [1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651], [1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671], [1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687], [1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703], [1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719], [1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739], [1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759], [1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779], [1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799], [1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819], [1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835], [1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851], [1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871], [1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887], [1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907], [1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923], [1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943], [1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963], [1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983], [1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999], [2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015], [2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035], [2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055], [2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071], [2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087], [2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107], [2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127], [2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143], [2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163], [2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179], [2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195], [2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211], [2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227], [2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247], [2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263], [2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279], [2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295], [2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315], [2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331], [2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347], [2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363], [2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383], [2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403], [2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423], [2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443], [2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463], [2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483], [2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503], [2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519], [2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535], [2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551], [2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567], [2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583], [2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603], [2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619], [2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635], [2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655], [2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675], [2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695], [2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711], [2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731], [2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751], [2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767], [2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787], [2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807], [2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823], [2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839], [2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855], [2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871], [2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887], [2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907], [2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923], [2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939], [2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959], [2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975], [2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991], [2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011], [3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027], [3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047], [3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063], [3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083], [3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099], [3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115], [3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135], [3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151], [3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167], [3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183], [3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203], [3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223], [3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243], [3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259], [3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275], [3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295], [3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311], [3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331], [3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347], [3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367], [3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383], [3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403], [3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423], [3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439], [3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455], [3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471], [3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487], [3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503], [3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519], [3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539], [3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559], [3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575], [3576, 3577, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591], [3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607], [3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623], [3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643], [3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663], [3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 3679], [3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695], [3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715], [3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731], [3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751], [3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767], [3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783], [3784, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803], [3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823], [3824, 3825, 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843], [3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3862, 3863], [3864, 3865, 3866, 3867, 3868, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883], [3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903], [3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, 3917, 3918, 3919], [3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935], [3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951], [3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967], [3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3980, 3981, 3982, 3983], [3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999], [4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015]]
Traceback (most recent call last):
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/lstm_and_ctc_ocr_train.py", line 132, in
train()
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/lstm_and_ctc_ocr_train.py", line 112, in train
c, steps = do_batch()
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/lstm_and_ctc_ocr_train.py", line 90, in do_batch
do_report()
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/lstm_and_ctc_ocr_train.py", line 83, in do_report
report_accuracy(dd, test_targets)
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/lstm_and_ctc_ocr_train.py", line 35, in report_accuracy
original_list = decode_sparse_tensor(test_targets)
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/utils.py", line 128, in decode_sparse_tensor
result.append(decode_a_seq(index, sparse_tensor))
File "/Users/alpullu/Downloads/tensorflow_lstm_ctc_ocr/utils.py", line 101, in decode_a_seq
str = common.DIGITS[spars_tensor[1][m]]
IndexError: string index out of range

Process finished with exit code 1

How do i run detect.py on a random licence plate image

I am trying to build an ALPR for Moroccan licence plates using this code but i can't seem to figure out how to test it on a single image. what is the command parsed in order to apply detect.pt on a random licence plate image?

TypeError: Expected labels to be a SparseTensor

Hmm, this is quite a peculiar issue. I can't seem to wrap my head around why it's throwing this error:

Traceback (most recent call last):
  File "lstm_and_ctc_ocr_train.py", line 132, in <module>
    train()
  File "lstm_and_ctc_ocr_train.py", line 62, in train
    loss = tf.nn.ctc_loss(targets,logits, seq_len)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/ctc_ops.py", line 133, in ctc_loss
    raise TypeError("Expected labels to be a SparseTensor")
TypeError: Expected labels to be a SparseTensor

Seems to boil down to this line of code:
targets = tf.sparse_placeholder(tf.int32)
Though I can't quite place my finger on what went wrong.

Anyone else?

Fail to train on GPU

Hello,
I use gen.py with white background, not with sun database, to create the data of Chinese character.

And, I have two problems when training on GPU.

First,
The problem of OOM before save the checkpoint.
The size of memory of GPU is 16G.
I change the size of batches (on common.py) to 765, and set the size of test data to 765.
And when training on step 999 (report_step=1000), and then occur the issue of OOM.
There's the error message:

Step: 992 , batch seconds: 1.7767887115478516
Step: 993 , batch seconds: 1.6799790859222412
Step: 994 , batch seconds: 1.777162790298462
Step: 995 , batch seconds: 1.7640042304992676
Step: 996 , batch seconds: 1.6605353355407715
Step: 997 , batch seconds: 1.6975252628326416
Step: 998 , batch seconds: 1.6763508319854736
Step: 999 , batch seconds: 1.955089807510376
2019-06-23 15:12:19.462267: W tensorflow/core/common_runtime/bfc_allocator.cc:273] Allocator (GPU_0_bfc) ran out of memorytrying to allocate 15.32GiB. Current allocation summary follows.
2019-06-23 15:12:19.462428: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (256): Total Chunks: 29, Chunks in use: 29. 7.2KiB allocated for chunks. 7.2KiB in use in bin. 1.8KiB client-requested in use in bin.
2019-06-23 15:12:19.462451: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (512): Total Chunks: 4, Chunks inuse: 4. 2.0KiB allocated for chunks. 2.0KiB in use in bin. 2.0KiB client-requested in use in bin.
2019-06-23 15:12:19.462469: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (1024): Total Chunks: 5, Chunks inuse: 5. 5.2KiB allocated for chunks. 5.2KiB in use in bin. 5.0KiB client-requested in use in bin.
2019-06-23 15:12:19.462488: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (2048): Total Chunks: 7, Chunks inuse: 7. 14.0KiB allocated for chunks. 14.0KiB in use in bin. 14.0KiB client-requested in use in bin.
2019-06-23 15:12:19.462507: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (4096): Total Chunks: 3, Chunks inuse: 3. 14.2KiB allocated for chunks. 14.2KiB in use in bin. 14.1KiB client-requested in use in bin.
2019-06-23 15:12:19.462523: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (8192): Total Chunks: 0, Chunks inuse: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462539: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (16384): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462554: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (32768): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462574: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (65536): Total Chunks: 4, Chunks in use: 4. 329.0KiB allocated for chunks. 329.0KiB in use in bin. 328.0KiB client-requested in use in bin.
2019-06-23 15:12:19.462590: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (131072): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462607: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (262144): Total Chunks: 8, Chunks in use: 8. 2.28MiB allocated for chunks. 2.28MiB in use in bin. 2.26MiB client-requested in use in bin.
2019-06-23 15:12:19.462624: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (524288): Total Chunks: 8, Chunks in use: 7. 5.41MiB allocated for chunks. 4.67MiB in use in bin. 4.34MiB client-requested in use in bin.
2019-06-23 15:12:19.462640: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (1048576): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462656: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (2097152): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462671: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (4194304): Total Chunks: 0, Chunks in use: 0. 0B allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462689: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (8388608): Total Chunks: 3, Chunks in use: 2. 33.02MiB allocated for chunks. 23.89MiB in use in bin. 20.50MiB client-requested in use in bin.
2019-06-23 15:12:19.462708: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (16777216): Total Chunks: 1, Chunks in use: 1. 16.00MiB allocated for chunks. 16.00MiB in use in bin. 10.25MiB client-requested in use in bin.
2019-06-23 15:12:19.462726: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (33554432): Total Chunks: 1, Chunks in use: 0. 53.75MiB allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462745: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (67108864): Total Chunks: 4, Chunks in use: 4. 339.63MiB allocated for chunks. 339.63MiB in use in bin. 287.62MiB client-requested in use in bin.
2019-06-23 15:12:19.462762: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (134217728): Total Chunks: 1, Chunks in use: 0. 190.16MiB allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462779: I tensorflow/core/common_runtime/bfc_allocator.cc:627] Bin (268435456): Total Chunks: 5, Chunks in use: 0. 13.96GiB allocated for chunks. 0B in use in bin. 0B client-requested in use in bin.
2019-06-23 15:12:19.462796: I tensorflow/core/common_runtime/bfc_allocator.cc:643] Bin for 15.32GiB was 256.00MiB, Chunk State:
2019-06-23 15:12:19.462819: I tensorflow/core/common_runtime/bfc_allocator.cc:649] Size: 416.38MiB | Requested Size: 2.0KiB | in_use: 0, prev: Size: 95.62MiB | Requested Size: 95.62MiB | in_use: 1
2019-06-23 15:12:19.462836: I tensorflow/core/common_runtime/bfc_allocator.cc:649] Size: 1.00GiB | Requested Size: 765.00MiB | in_use: 0
2019-06-23 15:12:19.462851: I tensorflow/core/common_runtime/bfc_allocator.cc:649] Size: 2.00GiB | Requested Size: 382.50MiB | in_use: 0
2019-06-23 15:12:19.462865: I tensorflow/core/common_runtime/bfc_allocator.cc:649] Size: 4.00GiB | Requested Size: 2.98GiB | in_use: 0
2019-06-23 15:12:19.462879: I tensorflow/core/common_runtime/bfc_allocator.cc:649] Size: 6.56GiB | Requested Size: 2.24GiB | in_use: 0
2019-06-23 15:12:19.462894: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f00f6000000 of size 7039814656
2019-06-23 15:12:19.462906: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f03afe00000 of size 4294967296
2019-06-23 15:12:19.462918: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f04b4000000 of size 2147483648
2019-06-23 15:12:19.462930: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f0534000000 of size 1073741824
2019-06-23 15:12:19.462945: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05b8000000 of size 100270080
2019-06-23 15:12:19.462957: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f05bdfa0000 of size 436600832
2019-06-23 15:12:19.462970: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc000000 of size 1024
2019-06-23 15:12:19.462983: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc000400 of size 264192
2019-06-23 15:12:19.462996: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc040c00 of size 2048
2019-06-23 15:12:19.463009: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc041400 of size 524288
2019-06-23 15:12:19.463021: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc0c1400 of size 2048
2019-06-23 15:12:19.463033: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc0c1c00 of size 4864
2019-06-23 15:12:19.463045: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc0c2f00 of size 307200
2019-06-23 15:12:19.463059: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc10df00 of size 819200
2019-06-23 15:12:19.463071: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05dc1d5f00 of size 67108864
2019-06-23 15:12:19.463083: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f05e01d5f00 of size 199401728
2019-06-23 15:12:19.463095: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec000000 of size 2048
2019-06-23 15:12:19.463109: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec000800 of size 524288
2019-06-23 15:12:19.463121: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec080800 of size 2048
2019-06-23 15:12:19.463133: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec081000 of size 256
2019-06-23 15:12:19.463145: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec081100 of size 256
2019-06-23 15:12:19.463157: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec081200 of size 256
2019-06-23 15:12:19.463169: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ec140600 of size 391680
2019-06-23 15:12:19.463182: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecac1200 of size 84224
2019-06-23 15:12:19.463194: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecad5b00 of size 84224
2019-06-23 15:12:19.463206: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecaea400 of size 4864
2019-06-23 15:12:19.463218: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecaeb700 of size 256
2019-06-23 15:12:19.463231: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecaeb800 of size 307200
2019-06-23 15:12:19.463243: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecb36800 of size 256
2019-06-23 15:12:19.463255: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecb36900 of size 819200
2019-06-23 15:12:19.463267: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecbfe900 of size 512
2019-06-23 15:12:19.463279: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05ecbfeb00 of size 121640192
2019-06-23 15:12:19.463292: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f05ec081300 of size 783104
2019-06-23 15:12:19.463305: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f05ec1a0000 of size 9572864
2019-06-23 15:12:19.463317: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f05f4000000 of size 10748416
2019-06-23 15:12:19.463330: I tensorflow/core/common_runtime/bfc_allocator.cc:670] Free at 0x7f05f4a40200 of size 56360448
2019-06-23 15:12:19.463342: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f0604000000 of size 67108864
2019-06-23 15:12:19.463354: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f0613000000 of size 819200
2019-06-23 15:12:19.463366: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f06130c8000 of size 524288
2019-06-23 15:12:19.463377: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f0613148000 of size 264192
2019-06-23 15:12:19.463390: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f0613188800 of size 862208
2019-06-23 15:12:19.463402: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f061325b000 of size 14307328
2019-06-23 15:12:19.463415: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f0620600000 of size 16777216
2019-06-23 15:12:19.463428: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00000 of size 1280
2019-06-23 15:12:19.463440: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00500 of size 256
2019-06-23 15:12:19.463452: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00600 of size 256
2019-06-23 15:12:19.463464: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00700 of size 256
2019-06-23 15:12:19.463475: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00800 of size 256
2019-06-23 15:12:19.463487: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00900 of size 512
2019-06-23 15:12:19.463498: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00b00 of size 1024
2019-06-23 15:12:19.463511: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce00f00 of size 256
2019-06-23 15:12:19.463522: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce01000 of size 256
2019-06-23 15:12:19.463534: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce01100 of size 2048
2019-06-23 15:12:19.463546: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce01900 of size 256
2019-06-23 15:12:19.463558: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce01a00 of size 256
2019-06-23 15:12:19.463570: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce01b00 of size 2048
2019-06-23 15:12:19.463582: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce02300 of size 256
2019-06-23 15:12:19.463594: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce02400 of size 84224
2019-06-23 15:12:19.463605: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce16d00 of size 84224
2019-06-23 15:12:19.463617: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce2b600 of size 4864
2019-06-23 15:12:19.463629: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce2c900 of size 256
2019-06-23 15:12:19.463641: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce2ca00 of size 307200
2019-06-23 15:12:19.463652: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce77a00 of size 256
2019-06-23 15:12:19.463664: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce77b00 of size 512
2019-06-23 15:12:19.463676: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce77d00 of size 1024
2019-06-23 15:12:19.463693: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dce78100 of size 264192
2019-06-23 15:12:19.463705: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb8900 of size 256
2019-06-23 15:12:19.463716: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb8a00 of size 2048
2019-06-23 15:12:19.463728: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9200 of size 256
2019-06-23 15:12:19.463740: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9300 of size 256
2019-06-23 15:12:19.463751: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9400 of size 256
2019-06-23 15:12:19.463763: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9500 of size 256
2019-06-23 15:12:19.463774: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9600 of size 256
2019-06-23 15:12:19.463786: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9700 of size 256
2019-06-23 15:12:19.463798: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9800 of size 256
2019-06-23 15:12:19.463809: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9900 of size 256
2019-06-23 15:12:19.463821: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9a00 of size 256
2019-06-23 15:12:19.463833: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9b00 of size 256
2019-06-23 15:12:19.463844: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9c00 of size 256
2019-06-23 15:12:19.463856: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9d00 of size 256
2019-06-23 15:12:19.463867: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceb9e00 of size 512
2019-06-23 15:12:19.463879: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceba000 of size 1024
2019-06-23 15:12:19.463891: I tensorflow/core/common_runtime/bfc_allocator.cc:661] Chunk at 0x7f07dceba400 of size 285696
2019-06-23 15:12:19.463905: I tensorflow/core/common_runtime/bfc_allocator.cc:676] Summary of in-use Chunks by size:
2019-06-23 15:12:19.463920: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 29 Chunks of size 256 totalling 7.2KiB
2019-06-23 15:12:19.463933: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 4 Chunks of size 512 totalling 2.0KiB
2019-06-23 15:12:19.463946: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 4 Chunks of size 1024 totalling 4.0KiB
2019-06-23 15:12:19.463958: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 1280 totalling 1.2KiB
2019-06-23 15:12:19.463970: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 7 Chunks of size 2048 totalling 14.0KiB
2019-06-23 15:12:19.463983: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 3 Chunks of size 4864 totalling 14.2KiB
2019-06-23 15:12:19.463997: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 4 Chunks of size 84224 totalling 329.0KiB
2019-06-23 15:12:19.464010: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 3 Chunks of size 264192 totalling 774.0KiB
2019-06-23 15:12:19.464024: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 285696 totalling 279.0KiB
2019-06-23 15:12:19.464038: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 3 Chunks of size 307200 totalling 900.0KiB
2019-06-23 15:12:19.464051: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 391680 totalling 382.5KiB
2019-06-23 15:12:19.464065: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 3 Chunks of size 524288 totalling 1.50MiB
2019-06-23 15:12:19.464077: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 3 Chunks of size 819200 totalling 2.34MiB
2019-06-23 15:12:19.464091: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 862208 totalling 842.0KiB
2019-06-23 15:12:19.464104: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 10748416 totalling 10.25MiB
2019-06-23 15:12:19.464117: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 14307328 totalling 13.64MiB
2019-06-23 15:12:19.464131: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 16777216 totalling 16.00MiB
2019-06-23 15:12:19.464144: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 2 Chunks of size 67108864 totalling 128.00MiB
2019-06-23 15:12:19.464157: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 100270080 totalling 95.62MiB
2019-06-23 15:12:19.464171: I tensorflow/core/common_runtime/bfc_allocator.cc:679] 1 Chunks of size 121640192 totalling 116.00MiB
2019-06-23 15:12:19.464185: I tensorflow/core/common_runtime/bfc_allocator.cc:683] Sum Total of in-use chunks: 386.83MiB
2019-06-23 15:12:19.464202: I tensorflow/core/common_runtime/bfc_allocator.cc:685] Stats:
Limit: 15664352461
InUse: 405625856
MaxInUse: 9210262016
NumAllocs: 16693437
MaxAllocSize: 4294967296

2019-06-23 15:12:19.464233: W tensorflow/core/common_runtime/bfc_allocator.cc:277] __________________________________________________________________________________________***_**
2019-06-23 15:12:19.464261: W tensorflow/core/framework/op_kernel.cc:1192] Resource exhausted: OOM when allocating tensor with shape[195840,20993]
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1323, in _do_call
return fn(*args)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1302, in _run_fn
status, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[195840,20993]
[[Node: MatMul_1 = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Reshape_2, W/read)]]
[[Node: Mean_1/_121 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_310_Mean_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "lstm_and_ctc_ocr_train.py", line 134, in
train()
File "lstm_and_ctc_ocr_train.py", line 115, in train
c, steps = do_batch()
File "lstm_and_ctc_ocr_train.py", line 91, in do_batch
do_report()
File "lstm_and_ctc_ocr_train.py", line 83, in do_report
dd, log_probs, accuracy = session.run([decoded[0], log_prob, acc], test_feed)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 889, in run
run_metadata_ptr)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1120, in _run
feed_dict_tensor, options, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1317, in _do_run
options, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1336, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[195840,20993]
[[Node: MatMul_1 = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Reshape_2, W/read)]]
[[Node: Mean_1/_121 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_310_Mean_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

Caused by op 'MatMul_1', defined at:
File "lstm_and_ctc_ocr_train.py", line 134, in
train()
File "lstm_and_ctc_ocr_train.py", line 61, in train
logits, inputs, targets, seq_len, W, b = model.get_train_model()
File "/workspace/lustre/tensorflow_lstm_ctc_ocr-master/model.py", line 125, in get_train_model
logits = tf.matmul(outputs, W) + b
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/math_ops.py", line 1891, in matmul
a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_math_ops.py", line 2437, in _mat_mul
name=name)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 2956, in create_op
op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1470, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[195840,20993]
[[Node: MatMul_1 = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Reshape_2, W/read)]]
[[Node: Mean_1/_121 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_310_Mean_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

Second, then I try with the smaller data same as the author (train: 100*64, test: 100), and the batches=100, report_step=100, then another problem appear:
The process will freeze when step=100=report_step.

Does anyone knows that what happened, and how to fix this?
Or in problem two, I just need to be patient?

Thank you.

decode_a_seq方法出现IndexError异常

这个问题在 #4 后面的回复里有人提到过,不过没有解决。

...
File ".../tensorflow_lstm_ctc_ocr-master/utils.py", line 101, in decode_a_seq
str = common.DIGITS[spars_tensor[1][m]]
IndexError: string index out of range

错误的确存在,101行附件的代码:

def decode_a_seq(indexes, spars_tensor):
    decoded = []
    for m in indexes:
        str = common.DIGITS[spars_tensor[1][m]]
        decoded.append(str)

spars_tensor变量的维度是[200, 20],传进来的indexes取值远远超过20(观察到的最大index值会到3551),这里估计是有问题的。

简单修改以后可以运行(粗暴的try...expect绕过错误),但结果不太好(也许和这个问题有关系?),使用带底色的训练/验证图,100000迭代结束后最终准确度只有27%。

Test Accuracy: 0.27
Step: 100000 , batch seconds: 2.0177502632141113
Epoch 10000/10000, steps = 100000, train_cost = 1.383, train_ler = 0.000, val_cost = 1.170, val_ler = 0.009, time = 2.491s, learning_rate = 0.00012157658056821674

error in running detect.py

@synckey When I trained the model, I wanted to detect the model.But I run detect.py,I have encountered the following error.
I want to know how to solve it. Thank you!

Traceback (most recent call last):
File "E:/download/tensorflow_lstm_ctc_ocr-master/detect.py", line 55, in
test_inputs, test_targets, test_seq_len = utils.get_data_set('small_test')
File "E:\download\tensorflow_lstm_ctc_ocr-master\utils.py", line 79, in get_data_set
inputs, codes = common.unzip(list(common.read_data_for_lstm_ctc(dirname, start_index, end_index)))
File "E:\download\tensorflow_lstm_ctc_ocr-master\common.py", line 145, in unzip
xs, ys = zip(*b)
ValueError: not enough values to unpack (expected 2, got 0)

Variable image size?

Does this model support variable input image size or only variable width?
Seems like it can be done via convolutional layers + global average pooling/spartial pyramid pooling, will it work in such setting?

Error when I am running train.py, any ideas ?

Traceback (most recent call last):
File "/train.py", line 133, in
train()
File "/train.py", line 109, in train
(batch + 1) * common.BATCH_SIZE)
File "\utils.py", line 79, in get_data_set
inputs, codes = common.unzip(list(common.read_data_for_lstm_ctc(dirname, start_index, end_index)))
File "\common.py", line 113, in read_data_for_lstm_ctc
if not data_set in dirname:
TypeError: 'in ' requires string as left operand, not dict

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.