1. 简介
mcDNN是沐曦提供的深度神经网络(Deep Neural Network,DNN)库。其基于上下文的API可轻松实现多线程以及与MXMACA® 流的互操作性(可选)。 mcDNN库以及此API文档拆分为以下库:
mcdnn_ops_infer
此实体包含与mcDNN上下文创建和销毁,张量描述符管理,张量实用程序函数以及常见机器学习算法的推理部分相关的函数,例如批量归一化(Batch Normalization,BN),softmax,丢弃(Dropout)等。
mcdnn_ops_train
此实体包含常用的训练函数算法,例如批量归一化,softmax,丢弃等。 mcdnn_ops_train库依赖于mcdnn_ops_infer。
mcdnn_cnn_infer
此实体包含在推理时需要用到的卷积神经网络相关的所有函数。 mcdnn_cnn_infer库依赖于mcdnn_ops_infer。
mcdnn_cnn_train
此实体包含在训练时需要用到的卷积神经网络相关的所有函数。 mcdnn_cnn_train库依赖于mcdnn_ops_infer,mcdnn_ops_train和mcdnn_cnn_infer。
mcdnn_adv_infer
此实体包含所有其他功能与算法。 包括循环神经网络(Rerrent Neural Network,RNN),CTC损失(CTC Loss)和多头注意力机制(Multi-Head Attention)。mcdnn_adv_infer库依赖于mcdnn_ops_infer。
mcdnn_adv_train
此实体包含对应mcdnn_adv_infer的训练相关功能与算法。 mcdnn_adv_train库依赖于mcdnn_ops_infer,mcdnn_ops_train和mcdnn_adv_infer。
mcdnnBackend
此实体包含mcDNN后端描述符有效类型列表,有效属性列表,有效属性值的子集以及每个后端描述符类型及其属性的完整描述。
mcdnn
这是一个在应用层和mcDNN代码之间的可选中介层(Shim Layer)。 此层在运行时为API打开正确的库。