Skip to content

Nileast/nnstats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nnstats

NPM version Build Status Dependency Status Coverage percentage

Javascript package for analyzing Neural Networks.

Installation

  npm install --save nnstats

Usage

Basic usage

The following show basic usage for analyzing CNN in Tensorflow (padding takes either SAME or VALID).

'use strict';


let nnStats = require('./');
let analyzer = nnStats.analyzer;
let utils = nnStats.utils;

let model = [{
	'type': 'conv',
	'filter': [5, 5, 32],
	'strides': [1, 1],
	'padding': 'SAME',
	'datasize': 4
},{
	'type': 'pool',
	'filter': [2, 2],
	'strides': [2, 2],
	'padding': 'SAME',
	'datasize': 4
},{
	'type': 'conv',
	'filter': [5, 5, 64],
	'strides': [2, 2],
	'padding': 'SAME',
	'datasize': 4
},{
	'type': 'pool',
	'filter': [2, 2],
	'strides': [2, 2],
	'padding': 'SAME',
	'datasize': 4
},{
	'type': 'fc',
	'hidden': 2048
},{
	'type': 'fc',
	'hidden': 1000
}]


let input = [28, 28, 1]
let options = {
	tensorflow: true
}

let stats = analyzer.analyzeNetwork(model, input, options);

utils.report(stats);

Model layout

Currently, here are 3 supported layers type: convolution layer (conv), pooling layer (pool), and fully-connected layer ('fc'). In all cases, type field is required in layer object to identity layer type.

Fields in conv layer:

  1. filter: 3D array kernal size (height, width, outChannel).
  2. strides: 2D array strides size (height, width).
  3. padding: 2D array padding size (height, width).
  4. datasize (optional): number of byte of one value (for float32, this should be 4 because 32 / 8 = 4). This value is used to calculate how much memory needed for the network.

Fields in pool layer:

  1. filter: 2D array kernal size (height, width).
  2. strides: 2D array strides size (height, width).
  3. padding: 2D array padding size (height, width).
  4. datasize (optional): number of byte of one value (for float32, this should be 4 because 32 / 8 = 4). This value is used to calculate how much memory needed for the network.

Fields in fc layer:

  1. hidden: number of neurons in hiddent layers.

Documentation

https://knapsack-lab.github.io/nnstats/

Created with

Yeoman and Generator-simple-package

License

MIT © nghiattran

About

Javascript package for analyzing Neural Networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published