Giter Site home page Giter Site logo

azinik / java-deeplearning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deeplearning4j/deeplearning4j

0.0 2.0 1.0 1.08 GB

Distributed Deep Learning Platform for Java, Clojure,Scala

Home Page: http://deeplearning4j.org

License: Other

Shell 0.32% Java 83.14% C 6.04% C++ 3.26% PHP 0.01% Erlang 1.72% Perl 4.59% Python 0.78% JavaScript 0.14%

java-deeplearning's Introduction

Deep Learning for Java

Deep learning is a form of state-of-the-art machine learning that can learn to recognize patterns in data unsupervised.

Unsupervised pattern recognition saves time during data analysis, trend discovery and labeling of certain types of data, such as images, text, sound and time series.

Edit: Took Travis build out. It times out on the tests, we need to migrate to a better testing infrastructure.

See Deeplearning4j.org for applications, tutorials, definitions and other resources on the discipline.

Download a release

Normal development distribution: https://oss.sonatype.org/content/repositories/snapshots/org/deeplearning4j/deeplearning4j-distribution/0.0.3.2-SNAPSHOT-SNAPSHOT/

Examples distribution: https://oss.sonatype.org/content/repositories/snapshots/org/deeplearning4j/deeplearning4j-examples/0.0.3.2-SNAPSHOT-SNAPSHOT/

Feature set summary

  1. Distributed deep learning via Akka clustering and distributed coordination of jobs via Hazelcast with configurations stored in Apache Zookeeper.

  2. Various data-preprocessing tools, such as an image loader that allows for binarization, scaling of pixels, normalization via zero-unit mean and standard deviation.

  3. Deep-belief networks for both continuous and binary data. Support for sequential via moving window/viterbi

  4. Native matrices via Jblas, a Fortran library for matrix computations. As 1.2.4 - GPUs when nvblas is present.

  5. Automatic cluster provisioning for Amazon Web Services' Elastic Compute Cloud (EC2).

  6. Baseline ability to read from a variety of input providers including S3 and local file systems.

  7. Text processing via Word2Vec as well as a term frequency–inverse document frequency (TFIDF) vectorizer.

  • Special tokenizers/stemmers and a SentenceIterator interface to make handling text input agnostic.
  • Ability to do moving-window operations via a Window encoding. Optimized with Viterbi.

Neural net knobs supported

     L2 Regualarization
     Dropout
     Adagrad
     Momentum
     Optimization algorithms for training (Conjugate Gradient, Stochastic Gradient Descent)
     Different kinds of activation functions (Tanh, Sigmoid, HardTanh, Softmax)
     Normalization by input rows, or not
     Sparsity (force activations of sparse/rare inputs)
     Weight transforms (useful for deep autoencoders)
     Different kinds of loss functions - squared loss, reconstruction cross entropy, negative log likelihood
     Probability distribution manipulation for initial weight generation

Coming up

See our wiki: https://github.com/agibsonccc/java-deeplearning/wiki/Deeplearning4j-Roadmap

Contact

Deeplearning4j has its own IRC channel at https://webchat.freenode.net/, a network intended primarily for developers of free and open source software. Just enter /join #deeplearning4j on IRC where you would normally type to chat.

GPU Support (work in progress, only scaffolding for now)

Initial deployment instructions:

  1. git clone [email protected]:MysterionRise/mavenized-jcuda.git

  2. cd mavenized-jcuda && mvn clean install -DskipTests

  3. Include the linear-algebra-jcublas in your pom:

       <dependency>
                 <groupId>org.nd4j</groupId>
                  <artifactId>nd4j-jcublas</artifactId>
                   <version>0.0.3.2-SNAPSHOT</version>
                </dependency>
    

Bugs/Feature Requests

https://github.com/agibsonccc/java-deeplearning/issues

Installation

Maven coordinates

It is highly reccommended that you use development snapshots right now.

Put this snippet in your POM and use the dependencies as versioned below.

  <repositories>
        <repository>
         <id>snapshots-repo</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
   </repositories>

Singular neural nets

   <dependency>
    <groupId>org.deeplearning4j</groupId>
    <artifactId>deeplearning4j-core</artifactId>
     <version>0.0.3.2-SNAPSHOT</version>
  </dependency>

Scaleout for multithreaded methods and clustering

    <dependency>
     <groupId>org.deeplearning4j</groupId>
       <artifactId>deeplearning4j-scaleout-akka</artifactId>
     <version>0.0.3.2-SNAPSHOT</version>
    </dependency>

Text analysis

     <dependency>
       <groupId>org.deeplearning4j</groupId>
        <artifactId>deeplearning4j-nlp/artifactId>
         <version>0.0.3.2-SNAPSHOT</version>
      </dependency>

java-deeplearning's People

Contributors

chrisvnicholson avatar linkerlin avatar emergentorder avatar azinik avatar danielhers avatar plusbzz avatar saurabhsv avatar

Watchers

James Cloos avatar  avatar

Forkers

giribushan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.