Skip to content

rupeshs/npainter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Npainter

Artistic patterns using recurrent neural network. We use recurrent neural network that takes coordinate (x, y) and outputs RBG value to generate the patterns. We have added non linearity functions to recurrent.js and by randomly assigning weights to neural network.

Try Npainter AI

Gallery

High res available here

Different non linearity functions used to generate patterns.

Parameters of styling network

1.Number of neurons per layer

2.Number of hidden layers

3 Stroke strength

Full implementation [neuralpaint.js] (https://github.com/rupeshs/npainter/blob/master/js/neuralpaint.js)

Style Non linearity function Stroke Strength
out.w[i] = Math.log10(Math.abs(m.w[i]) + sstrength) 1e-1 to 1e-10
out.w[i] = Math.tanh(Math.abs(m.w[i]))
out.w[i] = Math.log(Math.abs(m.w[i]) + 0.1)
out.w[i] = out.w[i] = Math.tanh(Math.abs(m.w[i]))
out.w[i] = Math.abs(m.w[i] * m.w[i])
out.w[i] = m.w[i] * Math.abs(1 / m.w[i])
out.w[i] = m.w[i] * Math.log10(Math.abs(m.w[i] * m.w[i]) + sstrength); 1e-1 to 1e-10
out.w[i] = Math.abs(1 / m.w[i]) * m.w[i] * Math.log(Math.abs(m.w[i]) + 9e-1)
out.w[i] = Math.log(Math.abs(m.w[i]) + 1)
out.w[i] = Math.abs(1 / Math.tanh(m.w[i])) * m.w[i] * Math.log10(Math.abs(m.w[i]) + 8.5e-1)
out.w[i] = Math.abs(1 / m.w[i]) * m.w[i] * Math.log10(Math.abs(m.w[i]) + 1e-1)

References

Neural Network Generative Art

[The Unreasonable Effectiveness of Recurrent Neural Networks] (http://karpathy.github.io/2015/05/21/rnn-effectiveness/)

Web worker

About

Artistic patterns using recurrent neural network

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published