Repository navigation
Releases
AndroidDL.js v1.2.0 – Introducing RNN, GRU & LSTM Support
AndroidDL.js v1.2.0
This release brings a major upgrade to AndroidDL.js with support for recurrent neural networks and new tensor operations.
🚀 What's New
Recurrent Neural Networks
- Added
RNNCellandRNN. - Added
GRUCellandGRU. - Added
LSTMCellandLSTM. - Added sequence processing and backpropagation through time (BPTT).
- Added support for initial hidden and cell states.
Tensor Operations
- Added
concatenateandstack. - Added
squeezeandunsqueeze. - Improved tensor slicing with multidimensional and negative-step support.
- Improved handling of non-contiguous tensors and strided views.
Autograd & Testing
- Extended gradient propagation through recurrent layers.
- Added numerical gradient checks.
- Expanded test coverage across tensor operations and recurrent networks.
📦 What's Included
- Core Tensor and autograd engine
- Neural network modules
- SGD optimizer
- MSE and Cross Entropy losses
- Categorical distribution
- RNN, GRU and LSTM architectures
🎯 What's Next?
Continuing to build a lightweight, PyTorch-inspired deep learning library in JavaScript — one operation at a time.
Build your own PyTorch. Understand every operation.
Thanks for following the AndroidDL.js journey!
Repository: https://github.com/AkashPrajapathi/androiddl-js
Add GRUCell support
v1.1.1 Added GRUCell support
Add GRUCell support
AndroidDL v1.1.0
🚀 New Features
- Added
GRUCellfor recurrent neural network architectures. - Supports configurable input size and hidden size.
- Supports optional biases, enabled by default.
- Implements update, reset, and candidate hidden-state gates.
- Integrates with AndroidDL's existing
Module,Linear, and autograd system.
🧪 Testing
- Verified forward-pass output shapes and finite values.
- Verified gradients across all GRU parameter groups.
- Tested numerical gradients using finite differences.
- Trained on a small sequence-to-target task and observed a significant reduction in loss.
Example
import { GRUCell } from "androiddl";
const gru = new GRUCell(3, 4);
const nextHidden = gru.call(input, hidden);input has shape [batchSize, inputSize], and hidden has shape [batchSize, hiddenSize].
Notes
This release introduces a GRU building block for sequence models and reinforcement-learning experiments.
v1.0.1 tanh backward bug fixed
Bug Fix: Tanh Backward Pass
- Fixed a bug in
TanhBackwardwhereonesLike()received the output tensor's shape instead of the tensor itself. - Corrected the call to
onesLike(this.output)to ensure proper tensor initialization during backpropagation. - Resolves the
TypeError: e.shape is not iterableerror when computing gradients throughTanh.
This fix restores the expected gradient calculation for the tanh activation function.
v1.0.0 - Initial Release
🚀 Version 1.0.0 - Initial Release
We are excited to announce the initial release of androiddl-js! 🎉
androiddl-js is a lightweight JavaScript library built using ES modules and bundled for seamless usage across both npm/Node.js and direct browser environments via <script> tags.
✨ Features
- Dual Format Support: Provides ES Module (
.js) and UMD/CommonJS (.umd.cjs) bundles. - Core Neural Network & Math Engine: Includes modules for
core,nn,optim,loss, anddistribution. - Zero Config Setup: Simple API designed for high performance in JS runtime environments.
📦 Installation & Usage
1. Via npm / Modern Bundlers
Add the GitHub Packages registry to your .npmrc file:
@AkashPrajapathi:registry=[https://npm.pkg.github.com](https://npm.pkg.github.com)