Skip to main content

Image classification using tensorflow.

Project description

Image classification (not object detection) using tensorflow.

Based on example code located here:

https://www.tensorflow.org/hub/tutorials/image_retraining

Installation

  • install virtual environment:

    virtualenv -p /usr/bin/python3.7 venv
  • install tensorflow (1.x or 2.x works)

    • with GPU (1.x):

      ./venv/bin/pip install "tensorflow-gpu<2.0.0"
    • with GPU (2.x):

      ./venv/bin/pip install "tensorflow-gpu>=2.0.0"
    • CPU only (1.x):

      ./venv/bin/pip install "tensorflow<2.0.0"
    • CPU only (2.x):

      ./venv/bin/pip install "tensorflow>=2.0.0"
  • install library

    • via pip:

      ./venv/bin/pip install wai.tfimageclass
    • from source (from within the directory containing the setup.py script):

      ./venv/bin/pip install .

Usage

All scripts support –help option to list all available options.

Train

  • For training, use module wai.tfimageclass.train.retrain or console script tfic-retrain

  • For evaluating a built model, use module wai.tfimageclass.train.stats or console script tfic-stats

Training data

All the data for building the model must be located in a single directory, with each sub-directory representing a label. For instance for building a model for distinguishing flowers (daisy, dandelion, roses, sunflowers, tulip), the data directory looks like this:

|
+- flowers
   |
   +- daisy
   |
   +- dandelion
   |
   +- roses
   |
   +- sunflowers
   |
   +- tulip

Predict

Once you have built a model, you can use it as follows:

  • For making predictions for a single image, use module wai.tfimageclass.predict.label_image or console script tfic-labelimage

  • For polling images in a directory and making continous predictions with CSV companion files, use module wai.tfimageclass.predict.poll or console script tfic-poll

Changelog

0.0.10 (2021-01-25)

  • removed ability to split images into grid from poll.py

  • added tfic-export tool to export saved model folder to Tensorflow lite model

  • added support for using tflite models to tfic-poll and tfic-labelimage

0.0.9 (2020-10-21)

  • poll.py accidentally redefined variable for resetting the session.

0.0.8 (2020-10-21)

  • poll.py now re-initializes the Tensorflow session every X processed images to avoid out of memory problems (–reset_session option).

0.0.7 (2020-09-22)

  • poll.py now outputs the top-X predictions with the correct labels/probability

0.0.6 (2020-09-02)

  • poll.py in non-continuous mode now works as expected (didn’t scan input directory previously)

0.0.5 (2020-08-06)

  • label_image.py, poll.py and stats.py can now re-use the info JSON file generated by retrain.py to simplify command-line parameters (input_height, input_width, input_layer, output_layer, labels)

  • improved help output of argument parsers: outputting description, command-line and default values now

0.0.4 (2020-08-04)

  • poll.py now has new –continuous flag to allow for continuous or single batch predictions

0.0.3 (2020-07-28)

  • poll.py: added ability to split images into grid of equal sized images, obtaining a classification for each sub-image.

  • fixed license: now uses Apache 2.0 instead of MIT

0.0.2 (2019-11-14)

  • added missing MANIFEST.in

0.0.1 (2019-11-01)

  • initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wai.tfimageclass-0.0.10.tar.gz (30.7 kB view details)

Uploaded Source

File details

Details for the file wai.tfimageclass-0.0.10.tar.gz.

File metadata

  • Download URL: wai.tfimageclass-0.0.10.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.3

File hashes

Hashes for wai.tfimageclass-0.0.10.tar.gz
Algorithm Hash digest
SHA256 92c30fe63ac4d492ae8bcee4ce74b3f14b2728d93d354ffd860ccfd29f295ef7
MD5 28b6092e5c659d3de936ce135c30421f
BLAKE2b-256 18dd7c7f0bbb9ab97b51e93f09263721ec6b127dc9fa91ea40ad1e53b685e978

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page