Simple Artificial Neural Network java library

Overview

SANN

WIP (in future I will add rnn, cnn, lstm, gru and examples)
Simple Artificial Neural Network java library

Creating neural network

Variant 1

//create new net (input len, hidden layers, hidden len, output len)
Net net = new Net(3, 2, 2, 1);

//initialize weights and fill weights randomly
net.setup();

Variant 2 (same structure)

//create net
Net net = new Net();
//add layers (layers, neurons in layers)
net.addLayers(1, 3);//input
net.addLayers(2, 2);//hidden
net.addLayers(1, 1);//output

//initialize weights and fill weights randomly
net.setup();

Training

double[][] input = {{1.0d, 0.0d, 1.0d}, {0.0d, 1.0d, 0.0d}, {0.0d, 0.0d, 1.0d}, {1.0d, 0.0d, 1.0d}};

double[][] output = {{1.0d}, {0.0d}, {0.0d}, {1.0d}};
//setting up target values for training
net.setTrainingData(input, output);
//start training (k, iterations)
net.train(0.2, 10000);

Listeners

net.setOnTrainingListener(new Net.OnTrainingListener() {
	@Override
	public void onTraining(int iteration, double error) {
		//doingSomething();
	}
	@Override
	public void onTrainingFinished(int iteration, double error) {
		//doingSomething();
	}
});

Implementation

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
dependencies {
	implementation 'com.github.korpusovmax:simple-ann:$version' // use version from releases or use '-SNAPSHOT'
}
You might also like...

An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & native view and interstitial dialog.

An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & native view and interstitial dialog.

GFX-AdPromote An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & nat

Dec 25, 2022

CraftingLib - Simple library for creating custom craftings

CraftingLib - Simple library for creating custom craftings

Dec 5, 2022

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.

Tinker Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstalling apk. Getting started Add t

Dec 30, 2022

Simple Calender App Written in Java , Built with Gradle

Simple Calender App Written in Java , Built with Gradle

Simple Calendar Simple Calendar is an just another open-source Android Calendar application written in java. Features Minimal & Clean Fullfilles needs

Dec 3, 2021

The Download Manager uses a simple yet effective GUI interface built with java’s Swing libraries

The Download Manager uses a simple yet effective GUI interface built with java’s Swing libraries.The use of Swing gives the interface a crisp, modern look and feel. The GUI maintains a list of downloads that are currently being managed.

Jan 2, 2022

The simple, stupid rules engine for Java

Easy Rules The simple, stupid rules engine for Java™ Project status As of December 2020, Easy Rules is in maintenance mode. This means only bug fixes

Jan 5, 2023

This is simple project to show how to create a basic API using Java 11 + Maven + Spring Boot + PostgrSQL + Flyway.

This is simple project to show how to create a basic API using Java 11 + Maven + Spring Boot + PostgrSQL + Flyway.

Dec 10, 2022

See how simple it is to build a REST API with a database using Java and Spring Boot

See how simple it is to build a REST API with a database using Java and Spring Boot

Seu primeiro projeto Java Web no Spring Boot 2022 Veja como é simples construir uma API REST com banco de dados usando Java e Spring Boot Realização D

Dec 26, 2022

This program is a simple machine learning implementation in Java for detecting skin pixels.

This program is a simple machine learning implementation in Java for detecting skin pixels.

Skin Detector 👨 👩 Detects human skin from images This program is a simple machine learning implementation in Java for detecting skin pixels. How to

Jan 21, 2022
Comments
  • Upload library to maven

    Upload library to maven

    For now, it is hard to work normally with this library because it isn't compatible with maven. You should upload it somewhere (to maven central or somewhere else).

    opened by y9vad9 0
Releases(v1.0)
  • v1.0(Oct 20, 2021)

    What's Changed

    • feat: repository converted into gradle project & added publication to jitpack.io by @y9neon in https://github.com/korpusovmax/simple-ann/pull/2

    New Contributors

    • @y9neon made their first contribution in https://github.com/korpusovmax/simple-ann/pull/2

    Full Changelog: https://github.com/korpusovmax/simple-ann/commits/v1.0

    Source code(tar.gz)
    Source code(zip)
Owner
Korpusov Maxim
Korpusov Maxim
This project uses the artificial potential field method to realize the path planning of the robot, and completes the trajectory optimization through other settings. It can also be combined with laser SLAM, target recognition and other technologies for path planning.

FRCAutoDriver 项目说明 Project Instruction 本项目利用人工势场法,实现机器人的路径规划,并通过其他设置完成轨迹优化,还可以结合激光SLAM、目标识别等技术进行路径规划 This project uses the artificial potential field

ZhangzrJerry 2 Sep 9, 2022
A blockchain system to manage monetary transactions between the different nodes of a decentralized network.

Blockchain under a clear vision A blockchain system to manage monetary transactions between the different nodes of a decentralized network. Authors @s

SamDik 3 Jun 9, 2022
LaetLang is an interpreted C style language. It has file reading/writting, TCP network calls and awaitable promises.

LaetLang ?? LaetLang is an interpreted C style language built by following along Robert Nystrom's book Crafting Interpreters. This is a toy language t

Alexander Shevchenko 6 Mar 14, 2022
NFT sales tracking on the secondary market, on the Songbird network and notification via a Discord bot

SgbNftMarketDiscordBot Fork this project for any other chain using Ethereum Virtual Machine (EVM) like ETH, FLR, BSC etc If you like the project or fi

null 4 Jan 9, 2023
A MOTD plugin for Velocity that caches network packets. This helps it be the fastest one of the MOTD plugins.

FastMOTD A MOTD plugin for Velocity that catches network packets. This helps it be the fastest one of the MOTD plugins. Test server: ely.su Features F

Elytrium 19 Dec 24, 2022
SimpleIcons4J is a Java implementation of the simple-icons JavaScript library

SimpleIcons4J SimpleIcons4J is a Java implementation of the simple-icons JavaScript library and is inspired by simpleicons.org. This library currently

Hyesung Lee 3 Apr 9, 2022
Simple but useful generic reload library for Java projects.

SimpleReloadLib Simple Java generic reload library. Introduce SimpleReloadLib used to be a part of QuickShop-Reremake. But it really easy to use and p

Ghost_chu 12 Oct 25, 2022
A simple java wrapper library for alquran-cloud api 🤍☕

A simple java wrapper library for alquran-cloud api ?? It is still under development. ?? How to add this library into your project Maven Step 1. Add t

Anas Elgarhy 14 Oct 9, 2022
The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.

Apache Commons CSV The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types. Documentation More i

The Apache Software Foundation 307 Dec 26, 2022
This project is a simple messaging application made using React-Native framework, Gifted-Chat library and Firebase database

This project is a simple messaging application made using React-Native framework, Gifted-Chat library and Firebase database. The example that will be shown here focuses on the ability of two people to message each other in a chat room.

null 3 Jan 30, 2022