Introduction
CRNN은 글자인식 모델로서 간단히 아래와 같은 구조를 가진다.
input : 글자 이미지 => output : 인식한 글자
이를 CNN과 RNN의 Deep Learning 모델을 활용해 End-to-End로 쉽게? 트레이닝할 수 있도록 했다.
Architecture
CNN의 최종 아웃풋은 (width,1,channel)이 될 것이고 width의 1px이 기존 rnn의 sequence length가 된다.
Pytorch에서는 permute와 squeeze를 활용해 CNN의 output의 shape을 (width,batch,channel)로 변경한 뒤 RNN의 input으로 넣어줘야 한다.

Reference
[1] Shi, Baoguang, Xiang Bai, and Cong Yao. "An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition." IEEE transactions on pattern analysis and machine intelligence 39.11 (2016): 2298-2304.