@spriteful/node-tfjs-retrain

1.0.3 • Public • Published

node-tfjs-retrain

Retraining image classification model using TensorFlow.js in Node.

Based on the following js.tensorflow.org tutorials:

Excellent article from James Thomas that helped (skip the stuff about downloading the model shards manually; there's a much simpler way described in the comments):
Machine Learning in Node.js with TensorFlow.js

Example Usages

  • Retrain and test model:
    node app.js --images_dir="C:/Retraining_Project/Images" --model_dir="C:/Retraining_Project/Model"
  • Skip retraining; just test model:
    node app.js --images_dir="C:/Retraining_Project/Images" --model_dir="C:/Retraining_Project/Model" --skip_training=true
  • Create sample images:
    node create_images.js C:/Retraining_Project/Images

_ Full example with tensorboard:

	cli commands to start tensorboard (localhost:6006)

	start virtual environment -

	source ./venv/bin/activate

	start tensorboard on localhost:6006 -

	(venv) $ tensorboard --logdir /tmp/tf_fit_logs

	node-tfjs-retrain cli -

	node app.js --images_dir="/Users/claymation296/dev/magic/synthetic" --model_dir="/Users/claymation296/dev/nathanML/ml-lock/src/model" --sizing="contain" --epochs="500"

	shutdown virtual environment

	(venv) $ deactivate
  • app.js args:

    --batch_size_fraction -> Number default 0.2
    --dense_units 				-> Number default 100
    --epochs 							-> Number default 50
    --learning_rate 			-> Number default 0.0001
    --sizing 							-> String default 'cover'
    --logdir 							-> String default '/tmp/tf_fit_logs', tensorboard --logdir /tmp/tf_fit_logs
    
  • augment_images.js args:

    --flip_images 					-> Boolean default false
    --adjust_brightness 		-> Boolean default false
    --ignore_subdirectories -> Boolean default false
    --labels_to_skip 				-> String default ''
    

Help

I'm quite new to Node and TF, so there's a lot of room for cleanup and code improvements. My initial goal was to get something working and worry about minor improvements later. Feel free to submit a PR :)

Initial TODOs:

  • [x] Create a script to automatically build a training data set to enable users to immediately get started
  • [x] Save trained model in the project directory
  • [x] Replace ui_mock.js with a TrainingParams class

Readme

Keywords

none

Package Sidebar

Install

npm i @spriteful/node-tfjs-retrain

Weekly Downloads

1

Version

1.0.3

License

MIT

Unpacked Size

33.9 kB

Total Files

9

Last publish

Collaborators

  • bforrester
  • claymation296