Java is very powerful, but in Deep Learning field, its capabilities probably has not been sufficiently exploited. Compared to the Java-based deep-learning-frameworks, the Python-based (PyTorch, TensorFlow, etc) are undoubtedly the mainstream, due to their easy-to-use, flexibility and better ecosystem. Dragon-Alpha is a Java-based Tensor Computing Framework, with easy-to-use, high-scalability and high-performance, trying to break Java's dilemma in deep learning field and make it more effective. Dragon-Alpha supports different levels of APIs, and can be used as a deep-learning-framework through its user-friendly high-level APIs. Dragon-Alpha has potential to aggregate computing-power across heterogeneous platforms and devices, based on its multi-layer architecture and Java's big-data ecosystem. Dragon-Alpha has its asynchronized APIs to improve parallelism, and highly-optimized CUDA library cu32 which adopts unique convolution\deconvolution operators for small feature maps. The experiments show that, compared to PyTorch&cuDNN, Dragon-Alpha&cu32 costs less time and memory (75.38% to 97.32%, 29.2% to 66.4%), to train some typical neural networks (AlexNet, VGG, GoogleNet, ResNet) on Cifar-10.
翻译:Java非常强大,但在深度学习领域,其潜力可能尚未得到充分挖掘。与基于Java的深度学习框架相比,基于Python的框架(如PyTorch、TensorFlow等)因其易用性、灵活性和更完善的生态系统而无疑占据主流地位。Dragon-Alpha是一个基于Java的张量计算框架,具备易用性、高可扩展性和高性能的特点,旨在打破Java在深度学习领域的困境并提升其效能。Dragon-Alpha支持不同层次的API,用户可通过其友好的高层API将其用作深度学习框架。基于其多层架构和Java的大数据生态系统,Dragon-Alpha具有跨异构平台和设备聚合计算能力的潜力。该框架提供异步API以提高并行性,并配备了高度优化的CUDA库cu32,该库采用针对小特征图的独特卷积/反卷积算子。实验表明,与PyTorch&cuDNN相比,在Cifar-10数据集上训练典型神经网络(AlexNet、VGG、GoogleNet、ResNet)时,Dragon-Alpha&cu32所需的时间和内存更少(分别为75.38%~97.32%和29.2%~66.4%)。