PAI-EasyVision is an advanced algorithm package for visual intelligence. It provides training and prediction features for various models. Use PAI-EasyVision to build and apply computer vision (CV) models for your applications.
With the rapid development of deep learning technologies, computer vision has entered large-scale commercial application. For CV application developers, using deep learning to build CV models presents several challenges:
-
Developing and debugging deep learning algorithm code is expensive.
-
Models are updated and iterated quickly, and understanding their principles and details is time-consuming.
-
Optimizing algorithm training and inference performance requires specialized system knowledge.
-
Data annotation costs are high.
-
Using open source algorithms directly in PAI involves a learning curve and adaptation costs.
To overcome these difficulties, PAI provides PAI-EasyVision, a user-friendly framework for CV modeling that helps CV application developers quickly build and deploy visual models for production. Core advantages:
-
Ease of use
Supports a variety of visual tasks through multitasking, modular, and pluggable atomic function interfaces. Features cover the entire modeling process, from data I/O and preprocessing to model training and offline prediction. Use PAI-EasyVision in multiple environments, such as Designer and Data Science Workshop (DSW).
-
Performance
Encapsulates multiple optimization engines from PAI-TensorFlow for distributed training, compilation optimization, and mixed precision. Configure simple files to achieve high performance in PAI. Compatible with open source TensorFlow systems.
-
Model variety
Provides many models pre-trained on open source datasets. Integrates powerful models from PAI, such as the optical character recognition (OCR) model, reducing development and training costs.
Architecture
PAI-EasyVision significantly expands its Model Zoo and provides training and prediction capabilities for many models. It supports flexible invocation methods, such as PAI-VIP, PAI commands, and DSW, to meet modeling needs for various users. PAI-EasyVision uses a flexible and high-availability distributed pipeline architecture for offline prediction that can quickly process hundreds of millions of data records offline. PAI's system and model optimization features help create smaller and faster models for prediction on Elastic Algorithm Service (EAS). In addition, PAI-EasyVision supports custom interfaces for training and prediction to reuse existing features and optimizations. The following figure shows the architecture:
Features
-
Ease of use
Meets the needs of various users. Some users may want to train models through simple interactions. Others may want to schedule training and prediction tasks. Still others may want to reuse existing PAI-EasyVision modules, adjust the model structure, and then retrain the model. To support these needs, invoke PAI-EasyVision using PAI-VIP, PAI commands, or DSW.
-
Performance optimization
Optimized for distributed training performance based on PAI-TensorFlow. Supports high-performance distributed training on both single and multiple multi-GPU servers. Also supports model optimization for the inference stage, including graph optimization and model compression.
-
Connection to PAI Smart Labeling
Integrates with PAI Smart Labeling. Use the provided conversion tool to convert files from the PAI labeling format to the TFRecord format for training. Also provides a rich set of data augmentation modules to dynamically expand the training dataset during training.
-
Efficient offline prediction
Provides a multi-server pipeline system for prediction that facilitates offline data processing using models trained by PAI-EasyVision. Each processing step supports multi-server and multi-threaded acceleration. Steps are processed asynchronously in a pipeline, significantly improving efficiency. Customize each step of the offline prediction process.
-
Connection to EAS
Training process generates a SavedModel file. Integrate this file into your own online prediction system. EAS provides powerful online prediction services and implements the PAI-EasyVision EAS Python Processor. To process data in real time, configure the model address and model type in the configuration file.