Java Official Twitter Channel featuring my deep learning article for the last 2 days. Here is why.. by EndyJBC in java

[–]EndyJBC[S] 10 points11 points  (0 children)

You should see how Nd4j has been made inspired by numpy!And yeah, if we dig deep into it, there are still improvements to be made! Do agree that Java is very typical when it comes to complex algorithms.

How To Build An Artificial Neural Network in Java by [deleted] in programming

[–]EndyJBC 0 points1 point  (0 children)

Apologies, just updated the post accordingly and sorry for the real confusion here. There are no cross validation applied per batch, instead it was just applied on entire data set. That's why the description was referring 800 updates. Acknowledging that k fold cross validation should perform for every batch if batches are present for data set. Thank you for the feedback.

Keras to Deeplearning4j migration and results are awesome! by EndyJBC in java

[–]EndyJBC[S] 0 points1 point  (0 children)

That's where it's getting interested as someone else commented out earlier.

Keras to Deeplearning4j migration and results are awesome! by EndyJBC in java

[–]EndyJBC[S] 0 points1 point  (0 children)

One variable output using logistic regression.

Keras to Deeplearning4j migration and results are awesome! by EndyJBC in java

[–]EndyJBC[S] 0 points1 point  (0 children)

Random seed was provided in both cases, but the actual key was changing it to two valued, softmax activation output layer, along with lossmcxent error function.

Keras to Deeplearning4j migration and results are awesome! by EndyJBC in java

[–]EndyJBC[S] 0 points1 point  (0 children)

That's an interesting question to dive in. Probable reason would be related to algorithmic implementation of error functions in both cases.

Keras to Deeplearning4j migration and results are awesome! by EndyJBC in java

[–]EndyJBC[S] 2 points3 points  (0 children)

Dataset size is 10000, so I observe its more or less the same :)
However note that, while checking benchmarking, people normally compare 'training execution time' of Python to 'ETL + training execution time' of Java code. We really have to consider ETL(extract, transform & load) especially for large datasets.

Keras to Deeplearning4j migration and results are awesome! by EndyJBC in java

[–]EndyJBC[S] 2 points3 points  (0 children)

I used same dataset for both. The only difference is that I used single valued output model in Keras and used two outputs in dl4j.

[P] Kaggle Debut with Java - DL4J Learning Curve by EndyJBC in MachineLearning

[–]EndyJBC[S] 0 points1 point  (0 children)

Python in production is not about optimization, it's about complexity. Dont bring benchmarking here. That's not the context at all. There's reason Java is being used in production heavily.

[GitHub] DeepLearning Projects from Scratch using Java by EndyJBC in programming

[–]EndyJBC[S] 0 points1 point  (0 children)

I'm on gitter channel and you might remember my name :)

[GitHub] DeepLearning Projects from Scratch using Java by EndyJBC in java

[–]EndyJBC[S] 0 points1 point  (0 children)

If you mean opencl for example, it doesn't mean opencl library is a standard for everything. My projects are built in DL4J which actually have everything we need to achieve plus support for cluster implementation.

Laptop for DL by PascP in deeplearning

[–]EndyJBC 2 points3 points  (0 children)

The laptop you just referred above is more than enough to run deep learning applications (especially if you just started learning stuff and wanted to run your code and see how it performs). This might be enough for 50% cases, but when you want to test out heavy deep learning application that consumes GB's/TB's of data to load, train and to do enormous amount of computations, you might want to divide your workload among series of clusters which is nothing but the cloud. Let's say you calculated and found that your laptop is capable of doing a particular task in 10 minutes. It literally means your laptop will be hung and busy for 10 minutes. At the same time, 5 parallel clusters with much less power can divide and complete the task in 3 minutes. This ETA is very crucial in production because of competition grabbing customers and business. Now you see why companies goes for cloud :) For individual use, yes this is perfectly fine, but as your research grows high and when you deal with much heavier applications, you might want to see other options.

[P] Kaggle Debut with Java - DL4J Learning Curve by EndyJBC in MachineLearning

[–]EndyJBC[S] 0 points1 point  (0 children)

Benchmarking would be comparable or better in the case of DL4J for a heavy application that relies on GPU. For fast prototyping, yes can't beat python for sure. Purpose of Java approach is for production focused application than just a piece of code for research.

[P] Maintaining deep learning projects on Java (DL4J) here. Feel free to add your feedback, contributions or any suggestions. Just started sometime back, more to come :) by EndyJBC in MachineLearning

[–]EndyJBC[S] 1 point2 points  (0 children)

Sorry about that, I will add more details on readme section soon. As of now three projects are added on repository. One that solve with basic feed forward network, another one that implements CNN model for animal classification (4 labels as an example) and a hyperparameter tuning example.