ABSTRACT

In fact, it is pertinent to the design principles of MetaNN: author hope MetaNN to be scalable; meanwhile, the framework should offer enough space for optimization. For data, the tag system is introduced to support scalability. For sufficient space for optimization, various data types are introduced. The design of operations in MetaNN also embodies the two principles of MetaNN—in order to supply a better and more convenient approach to extend, the author extracts similar logic from different operations to form a hierarchy on the implementation of the operation logic; for the sake of sufficient optimization space, and introduces expression templates as a bridge between operations and results. Expression templates are bridges connecting operations with data. On the one hand, they encapsulate operations; on the other hand, they provide interfaces to represent the results of operations.