Project Icon

kotlindl

高层次的深度学习API,用Kotlin编写,适用于JVM和安卓环境

KotlinDL是一种高层次的深度学习API,用Kotlin编写,适用于JVM和安卓环境。它利用TensorFlow和ONNX Runtime,为开发者提供从零训练深度学习模型、导入Keras和ONNX模型进行推理,以及迁移学习功能。KotlinDL旨在简化深度学习的部署,是生产环境的理想选择。提供详尽的文档、教程和丰富的代码示例,帮助开发者轻松上手并优化深度学习应用。

KotlinDL 项目介绍

KotlinDL 是一个用 Kotlin 编写的高级深度学习 API,受到 Keras 的启发。它的底层使用了 TensorFlow Java API 和 ONNX Runtime API,提供了简单的接口来进行深度学习模型的训练、现有 Keras 和 ONNX 模型的推理,以及利用迁移学习来调整预训练模型以适应特定任务。

这个项目的目标是让 JVM 和 Android 开发者更容易地进行深度学习的研究与应用,并简化模型在生产环境中的部署。

核心功能

KotlinDL 提供了一组模块化的组件,可以帮助开发者从头开始构建神经网络模型,或是导入已有的模型进行推理。一个典型的卷积神经网络模型 LeNet 可以在 KotlinDL 中这样定义:

private val lenet5Classic = Sequential.of(
    ...
    // 网络定义代码
    ...
)

fun main() {
    val (train, test) = mnist()

    lenet5Classic.use {
        ...
        // 模型训练与评估代码
        ...
    }
}

库结构

KotlinDL 包含多个模块,每个模块承担特定的功能:

  • kotlin-deeplearning-api 提供 API 接口和类
  • kotlin-deeplearning-impl 提供类实现和实用工具
  • kotlin-deeplearning-onnx 支持 ONNX Runtime 推理
  • kotlin-deeplearning-tensorflow 支持 TensorFlow 学习和推理
  • kotlin-deeplearning-visualization 提供视觉化功能
  • kotlin-deeplearning-dataset 提供数据集类

值得注意的是,kotlin-deeplearning-tensorflowkotlin-deeplearning-dataset 模块仅适用于桌面 JVM,而其他模块也可用于 Android。

如何在项目中配置 KotlinDL

要在项目中使用 KotlinDL,首先需要确保在 repositories 中添加 mavenCentral

repositories {
    mavenCentral()
}

接着在 build.gradle 文件中添加必要的依赖,例如:

dependencies {
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]'
}

对于 ONNX 模型的推理,可以加入:

dependencies {
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]'
}

完整的版本信息可以参考项目文档。

在 Jupyter Notebook 和 Android 上的使用

在 Jupyter Notebook 中,可以通过 Kotlin kernel 使用 KotlinDL,只需在笔记本中添加依赖:

@file:DependsOn("org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]")

在 Android 项目中,KotlinDL 支持 ONNX 模型推理。需要在 build.gradle 文件中添加:

implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]'

版本兼容性

项目文档中提供了一张详细的兼容性表格,列出了 KotlinDL 版本、最低支持的 Java 版本、ONNX 运行时版本、TensorFlow 版本,以及 Android 的编译 SDK 版本之间的对应关系。

示例与教程

KotlinDL 提供了一系列的教程和示例,帮助开发者快速上手。这些教程涵盖了从创建第一个神经网络到迁移学习等多个主题。

支持 GPU

KotlinDL 支持在 GPU 上进行训练和推理。需要安装 CUDA 框架,并在项目中添加合适的依赖。

贡献与支持

任何对 KotlinDL 有兴趣的开发者都可以通过 GitHub 提交问题或请求新功能。此外,也可以加入 Kotlin Slack 的 #kotlindl 频道获取支持。

KotlinDL 是一个由 JetBrains 社区开展的开源项目,遵循 Apache 2.0 许可证。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号