• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
    Elixir
  • License
    GNU Affero Genera...
  • Created over 11 years ago
  • Updated almost 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Neural Network library in Elixir / Erlang

Neurlang

A library for constructing Neural Networks in Elixir or Erlang.

Neurlang is essentially a port of the DXNN2 core neural network elements.

However, unlike DXNN2, Neurlang:

  • Is written in Elixir
  • Is easily usable in non-TWEANN's (Topology WEight Adapting Neural Networks).

The goal is that any neural network should be able to be built using the components available in Neurlang. If you want to build a neural network, and Neurlang is missing something you need, please file an issue with a feature request.

Status: Neurlang is still in the process of being built, and is therefore is about as stable as the price of bitcoins

Using Neurlang

# Create nodes
neuron = Neuron.start_node(bias: 10, activation_function: function(identity/1))
sensor = Sensor.start_node(sync_function: fake_sensor_data([[1, 1, 1, 1, 1]]))
actuator = Actuator.start_node([])

# Wire up network
connect(from: sensor, to: neuron, weights: [20, 20, 20, 20, 20])
connect(from: neuron, to: actuator)

# tap into actuator for testing purposes
NodeProcess.add_outbound_connection(actuator, self())

# feed input into sensor
NodeProcess.sync(sensor)

# verify actuator output
assert actuator_next_output() == 110

Architecture

Neurlang provides three types of neural elements, all of which are gen_server processes which can link up with each other and exchange messages.

  • Sensor

  • Neuron

  • Actuator

Related Work

DXNN2 - Pure Erlang TWEANN (Topology WEight Adapting Neural Network). Neurlang is essentially a port of the DXNN2 core neural network elements.

Related Publications

Handbook of Neuroevolution Through Erlang by Gene Sher.

How to run dialyzer

One time:

dialyzer -DDIALYZER --output_plt .depsolver.plt --build_plt --apps erts kernel stdlib crypto public_key $ELIXIR/lib/elixir/ebin $ELIXIR/lib/ex_unit/ebin

where $ELIXIR points to your elixir install dir, eg, /usr/local/lib/elixir

Each time:

dialyzer --quiet --no_check_plt --plt .depsolver.plt -Wunmatched_returns -Werror_handling -Wrace_conditions ebin

or

dialyzer --quiet --no_check_plt --plt .depsolver.plt -Wunderspecs -Wunmatched_returns -Werror_handling -Wrace_conditions ebin

More Repositories

1

open-ocr

Run your own OCR-as-a-Service using Tesseract and Docker
Go
1,290
star
2

elastic-thought

Scalable REST API for the Caffe deep learning framework
Go
141
star
3

keynuker

🔐💥 KeyNuker - nuke AWS keys accidentally leaked to Github
Go
90
star
4

docker

Docker files
Dockerfile
81
star
5

deepstyle-ios

Open Source iOS app that uses neural-style to apply an artistic style to a photograph
Objective-C
49
star
6

neurgo

Neural Network toolkit in Go
Go
37
star
7

open-ocr-client

Client library for OpenOCR
Go
27
star
8

couchbase-cluster-go

Go library for managing a couchbase cluster via etcd and the couchbase REST API
Go
21
star
9

office-radar

See who's in the office! Couchbase Mobile + Estimote beacons
Objective-C
17
star
10

donkey-ros

Run ROS on a donkey car
16
star
11

goa-lambda-api

🎩 Deploy a Goa REST API on AWS Lambda
Go
15
star
12

screentap

Tap into the rich activity happening on your screen
Rust
9
star
13

deepstyle

Run DeepStyle (aka NeuralStyle) in the cloud
Go
8
star
14

hello_ros_erlang

Demonstration of connecting ROS with an Erlang Node via rospy and py-interface
Python
8
star
15

neurvolve

Evolution-based training for neurgo
Go
7
star
16

tleyden.github.io

Seven Story Rabbit Hole (A Blog)
HTML
6
star
17

awsutil

Utilities to extend aws-sdk-go
Go
5
star
18

fakehttp

Fake in-process webserver for unit testing code which depends on an external webserver
Go
5
star
19

todolite-appserver

Backend component for the TodoLite Couchbase Mobile sample app
Go
4
star
20

sync-gateway-coreos

Run Sync Gateway under Docker + CoreOS
Shell
4
star
21

checkerlution

Checkers Bot powered by Neurgo
Go
4
star
22

StanfordCars

Deep Learning project for the Stanford Cars dataset
Jupyter Notebook
4
star
23

deepstyle-21-market

21 Market wrapper for DeepStyle
Python
3
star
24

easy-fine-tune

Jupyter notebook examples of fine-tuning Imagenet models with Keras and Tensorflow
Jupyter Notebook
3
star
25

nupic-digitrecognizer

Example of using the NuPIC spatial pooler to recognize digits
Python
3
star
26

tutt

TUTT - The Ultimate Time Tracker
Vue
3
star
27

checkers-core

Core data structure and move generator for Checkers in golang.
Go
2
star
28

eyepi

Object detection on Raspberry Pi with AWS Lambda/S3 backend
Python
2
star
29

checkers-bot

Checkers Bot
Go
2
star
30

sync-gateway-nginx-confd

Generate Nginx proxy config for Sync Gateway via Confd
Shell
2
star
31

officeradar-appserver

App server for office-radar
Go
2
star
32

dotfiles

Dot files (.emacs, etc)
Emacs Lisp
1
star
33

aws-sdk-mock

Mock helpers for aws-sdk-go using testify/mock and goautomock
Go
1
star
34

deeplens-securitycam

Turn an AWS DeepLens device into a security cam
Python
1
star
35

uqclient

Go client library for uniqush-push (open source push notification server)
Go
1
star
36

qrstyle

QR code generator that can embed an image into the center of the QR code
Ruby
1
star
37

checkers-bot-minimax

Checkers Bot that uses a minimax search algorithm to find the best moves
Go
1
star