Skip to content

bobcamera/image-classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image classification

Overview

This project provides two modes to work with. The first mode requires a local installation of Miniconda/Conda with Python 3.10 and TensorFlow 2.11, and is used to run Python scripts that generate datasets, preprocess them, and train machine learning models headlessly. The second mode requires Docker to be installed, and provides a playground environment using Jupyter Notebooks, where you can analyze datasets and experiment with the code in a more interactive fashion.

Installation

1. Miniconda/Conda Mode

To use this mode, you need to have Miniconda/Conda installed on your system with Python 3.10 and TensorFlow 2.11. You can download and install Miniconda from the official website: https://docs.conda.io/en/latest/miniconda.html.

Once you have installed Miniconda/Conda, you need to create a new environment for this project and activate it. Than install tensorflow using pip or from source (recommended for max performance).

2. Jupyter-notebook Mode

To use this mode, you need to have Docker installed on your system. You can download and install Docker from the official website: https://www.docker.com/get-started.

Usage

1. Miniconda/Conda Mode

.
├── dataset_preparation
│   └── generate_time_series_dataset.py
└── neural_networks
    ├── classification_frame.py
    └── classification_time_series.py

for example: python dataset_preparation/generate_time_series_dataset.py

2. Jupyter-notebook Mode

To start jupyter run start-jupyter.sh file, this script will use docker to pull and run tensorflow-jupyter-gpu or tensorflow-jupyter image from docker hub and it will also mount volumes from host system so container has access to /data and /models. This mechanism will let user keep all data generated by container after its destruction.

script supports --gpu argument for systems with NVIDIA cards installed

sh start-jupyter.sh --gpu
sh start-jupyter.sh

expected output looks like this.

[I 22:05:36.656 NotebookApp] Jupyter Notebook 6.5.2 is running at:
[I 22:05:36.656 NotebookApp] http://201880767e4e:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
[I 22:05:36.656 NotebookApp]  or http://127.0.0.1:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
[I 22:05:36.656 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 22:05:36.678 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/nbserver-1-open.html
    Or copy and paste one of these URLs:
        http://201880767e4e:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
     or http://127.0.0.1:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
^C[I 22:05:37.835 NotebookApp] interrupted
Serving notebooks from local directory: /tf
0 active kernels
Jupyter Notebook 6.5.2 is running at:
http://201880767e4e:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b
 or http://127.0.0.1:8888/?token=9e488ad3232dda32193ba41e9b045a25f44c173125e6984b

Jupyter server from inside of container is exposed to host and can be found on 127.0.0.1:8888 TCP.

Documentation

About

scripts for training image classifiers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published