neural-net-rendering.js

total 0
used 0
limit 0
/* title: Neural Net Example categories: arrange files: head ../point_src/extras.js ../point_src/math.js ../point_src/point-content.js stage point pointlist ../point_src/distances.js ../point_src/events.js ../point_src/functions/clamp.js ../point_src/random.js ../point_src/dragging.js stroke ../point_src/split.js ../point_src/relative.js ../point_src/automouse.js ../point_src/collisionbox.js --- A quick example for generating a standard neural net. */ class MainStage extends Stage { canvas = 'playspace' mounted() { this.toEdges = true this.stack = [ 3, 5, 3 ] this.createNet() } createNet(stack=this.stack){ let spreadY = 50 , spreadX = 150 let top = 100 , left = 100 let points = [] , maxVal = Math.max.apply(Math, stack) ; for(let stackItem of stack) { let i = points.length let offset = ((maxVal * spreadY) - (spreadY * stackItem)) * .5 let ps = PointList.generate.list(stackItem , spreadY // distance between nodes in one column. , [left + (spreadX * i), top + offset] ); ps.each.radius = 19 points.push(ps) this.dragging.add(...ps) } this.points = points; } draw(ctx) { this.clear(ctx); // ctx.fillStyle = '#DDD' ctx.font = '600 10px sans-serif' ctx.textAlign = 'center' ctx.textBaseline = 'middle' this.renderGraph(ctx) } renderGraph(ctx){ // Iter each column let toEdges = this.toEdges this.points.forEach((ps, i, a)=>{ // If the next column exists. // For each item in the column let lineColor = '#111154'; ps.forEach((p,j)=>{ if(a[i+1]) { // Each item in the _next_ column_. ctx.fillStyle = '#fff' a[i+1].forEach((op, k)=>{ if(toEdges) { let [front, back] = p.split(2) let [tofront, toback] = op.split(2) front.pen.line(ctx, toback, lineColor, 2) } else { p.pen.line(ctx, op, lineColor, 2) } let midPoint = p.lerp(op, .5) let mpv = String(Math.random()).slice(0, 5); midPoint.text.label(ctx, mpv) }) } // stage.points[2][2].text.string('12') // p.text.fill(ctx, "4") }) // ps.pen.fill(ctx, '#080808'); // ctx.fillStyle = '#999' ps.forEach((p,j)=>{ // stage.points[2][2].text.string('12') let c = Math.random() if(Math.random() > .99) { let sat = 20 + (c * 70) p._sat = sat; p.text.text = String(c).slice(0, 5); } let _sat = 40 // p._sat == undefined? 1: p._sat; let h = -100 + (250 * p.text.text) p.pen.fill(ctx, `hsl(${h}, ${_sat}%, 60%)`); // p.pen.fill(ctx, `hsl(${h}, ${_sat}%, 60%)`); // ps.pen.fill(ctx, '#080808'); // ctx.fillStyle = '#999' ctx.fillStyle = '#000' p.text.label(ctx) }) // ps.pen.circle(ctx, undefined, '#010101', 2); }) } } stage = MainStage.go()
Run
Meta Data
title Neural Net Example
imports ()
files ('head', '../point_src/extras.js', '../point_src/math.js', '../point_src/point-content.js', 'stage', 'point', 'pointlist', '../point_src/distances.js', '../point_src/events.js', '../point_src/functions/clamp.js', '../point_src/random.js', '../point_src/dragging.js', 'stroke', '../point_src/split.js', '../point_src/relative.js', '../point_src/automouse.js', '../point_src/collisionbox.js')
unused_keys ()
unknown_keys ('categories',)
categories ['arrange']
filepath_exists True
path neural-net-rendering.js
filepath neural-net-rendering.js
clean_files ('../point_src/core/head.js', '../point_src/extras.js', '../point_src/math.js', '../point_src/compass.js', '../point_src/center.js', '../point_src/point-content.js', '../point_src/stage-resize.js', '../point_src/functions/resolve.js', '../point_src/stage.js', '../point_src/pointpen.js', '../point_src/pointdraw.js', '../point_src/relative-xy.js', '../point_src/pointcast.js', '../point_src/point.js', '../point_src/pointlistdraw.js', '../point_src/pointlistgradient.js', '../point_src/pointlistshape.js', '../point_src/pointlistgenerator.js', '../point_src/unpack.js', '../point_src/pointlist.js', '../point_src/pointlistpen.js', '../point_src/distances.js', '../point_src/events.js', '../point_src/functions/clamp.js', '../point_src/random.js', '../point_src/protractor.js', '../point_src/text/beta.js', '../point_src/dragging.js', '../point_src/setunset.js', '../point_src/stroke.js', '../point_src/split.js', '../point_src/relative.js', '../point_src/automouse.js', '../point_src/collisionbox.js')
markdown {'html': '<p>A quick example for generating a standard neural net.</p>', 'content': 'title: Neural Net Example\ncategories: arrange\nfiles:\n head\n ../point_src/extras.js\n ../point_src/math.js\n ../point_src/point-content.js\n stage\n point\n pointlist\n ../point_src/distances.js\n ../point_src/events.js\n ../point_src/functions/clamp.js\n ../point_src/random.js\n ../point_src/dragging.js\n stroke\n ../point_src/split.js\n ../point_src/relative.js\n ../point_src/automouse.js\n ../point_src/collisionbox.js\n---\n\nA quick example for generating a standard neural net.'}