/MindsEye

Neural Networks in Java 8 with CuDNN and Aparapi

Primary LanguageJavaApache License 2.0Apache-2.0

MindsEye - Java 8 Neural Networks

Sample Art created by MindsEye

Sample Painting created by MindsEye

Welcome! This is MindsEye, a neural network library written in Java 8. Low-level computation is provided by CuDNN and other native libraries.

Links

Developer Guide - docs.google.com - Detailed Technical Documentation

Art Gallery - photos.google - Curated artwork generated by MindsEye

Component Documentation - simiacryptus.github.io/NetworkZoo/ - Test-generated documentation reports detailing each neural network component type.

JavaDocs - simiacryptus.github.io/MindsEye/apidocs/ - API documentation for the current release

Project Site - simiacryptus.github.io/MindsEye/ - The current maven-published site

Maven - mvnrepository.com/artifact/com.simiacryptus/mindseye - Dependency import information

Blog Articles - http://simiacryptus.com - Related articles from the author

Features

  • Java - Use Java 8+, Scala, or any other JVM language.

  • Support for multiple GPUs and high performance math using native libraries including CuDNN, CUDA, and OpenCL.

  • A highly modular optimization engine - It can be configured for many popular algorithms, or customized for optimization research.

  • A large and extensible component library with a focus on automated testing and documentation.

  • Utilize server clusters with Apache Spark for data-parallel training.

  • Built-in JSON serialization for all networks.

  • Output Markdown or HTML Notebook-style reports for documentation and research.

  • Directly regress input datasets - learning is not limited to network weights.