README.md 3.13 KB
Newer Older
A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
1
# CircularNet
Fan Yang's avatar
Fan Yang committed
2

A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
3
Instance segmentation models for identification of recyclables on conveyor belts
Fan Yang's avatar
Fan Yang committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17

## Code Structure
This is an implementation of Mask RCNN based on Python 3 and Tensorflow 2.x. The
model generates bounding boxes and segmentation masks for each instance of an
object in the image. The repository includes :

* Source code for training a Mask RCNN model.
* Inference code
* Pre-trained weights for inferencing
* Docker to deploy the model in any operating system and run.
* Jupyter notebook to visualize the detection pipeline at every step.
* Evaluation metric of the validation dataset.
* Example of training on your own custom dataset.

A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
18
19
20
The code is designed in such a way so that it can be extended. If you use it in
your research or industrial solutions, then please consider citing this
repository.
Fan Yang's avatar
Fan Yang committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

## Pre-requisites

## Prepare dataset

## Setup virtual systems for training

### ***Start a TPU v3-32 instance***

-   [x] Set up a Google cloud account on GCP
-   [x] Go to the cloud console and create a new project.
-   [x] While setting up your project, you will be asked to set up a billing
    account. You will only be charged after you start using it.
-   [x] Create a cloud TPU project
-   [x] Link for the above 4 steps can be
    [found here](https://cloud.google.com/tpu/docs/setup-gcp-account)
-   [x] Once the project is created, select the project from the cloud console.
-   [x] On the top right, click cloud shell to open the terminal. See
    [TPU Quickstart](https://cloud.google.com/tpu/docs/quick-starts) for
    instructions.
    An example command would look like:
    ```bash
    ctpu up --name
    <tpu-name> --zone <zone> --tpu-size=v3-32 --tf-version nightly --project
    <project ID>
    ```
    **Example** -

-   This model requires TF version >= 2.5. Currently, that is only available via
    a nightly build on Cloud.

-   You can check TPU types with their cores and memory
    [here](https://cloud.google.com/tpu/docs/types-zones#tpu-vm) and select
    accordingly.

-   CAREFULLY choose a TPU type which can be turned ON and OFF after usage.
A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
57
    The preferred one is below - `bash ctpu up --name waste-identification --zone
Fan Yang's avatar
Fan Yang committed
58
    us-central1-a --tpu-size=v3-8 --tf-version nightly --project
A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
59
    waste-identification-ml` After the execution of the above command, you will
Fan Yang's avatar
Fan Yang committed
60
61
62
63
64
    see 2 virtual devices with name "waste-identification" each in TPU and
    COMPUTE ENGINE section.

### ***Get into the virtual machine***

A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
65
The virtual machine, which is a TPU host, can be seen in the COMPUTE ENGINE
Fan Yang's avatar
Fan Yang committed
66
67
68
69
section of GCP. We will use this virtual machine to start the training process.
This machine will use another virtual instance of TPU that is found in the TPU
section of the GCP. To get inside the TPU host virtual machine :

A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
70
-   Go to the COMPUTE ENGINE section in the GCP
Fan Yang's avatar
Fan Yang committed
71
-   Find your instance there
A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
72
73
-   Under the "Connect" tab of your instance, you will see "SSH",
-   Click on SSH and it will open another window which will take you inside the
Fan Yang's avatar
Fan Yang committed
74
75
76
77
78
79
80
    virtual machine.
-   Use the following commands inside the virtual machine window :

```bash
$ git clone https://github.com/tensorflow/models.git
$ cd models
$ pip3 install -r official/requirements.txt
A. Unique TensorFlower's avatar
A. Unique TensorFlower committed
81
``