This repository provides a library and tools for training and deploying CNN models (RotNet, RotNetR) to predict the rotation angle of images, primarily designed for cracking rotate captchas. The system includes a training pipeline with customizable dataset preprocessing (random rotations, cropping, normalization), model definitions using ResNet50 and RegNet_Y backbones, a loss function optimized for angular classification (Circular Smooth Label), and an HTTP server for inference. The codebase is well-structured as a Python package with clean separation of concerns, showcasing advanced patterns like generic pipe operators for data transformation composition and context-managed training loops. It is actively maintained and demonstrates solid software engineering practices.
ASRT (Automatic Speech Recognition Toolkit) is a Chinese speech recognition system that provides both training and inference capabilities. It uses a deep CNN acoustic model with Connectionist Temporal Classification (CTC) and an N-gram language model based on a maximum entropy hidden Markov model. The system supports multiple backends (TensorFlow/Keras and experimental PyTorch) and can be trained on several Chinese speech corpora (THCHS30, ST-CMDS, etc.). It includes HTTP and gRPC servers for real-time inference, a speech recorder utility, and client libraries. The architecture is monolithic with separate scripts for training, evaluation, and serving. The codebase is functional but shows signs of technical drift, such as using deprecated Keras APIs (fit_generator) and hardcoded paths. The language model implementation is a notable highlight, offering a non-trivial statistical decoding approach. The repository is popular but has a single maintainer and a high number of open issues.