Giter Site home page Giter Site logo

amlresearchproject / all-jetson-nano-classifier Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 5.0 3.03 MB

An Acute Lymphoblastic Leukemia classifier developed for the NVIDIA Jetson Nano. Jetson AI Certification project by Adam Milton-Barker.

License: MIT License

Python 9.43% Jupyter Notebook 89.99% Shell 0.59%
acute-lymphoblastic-leukemia jetson-nano tensorflow tfrt onnx tensorrt nvidia oneapi

all-jetson-nano-classifier's Introduction

Peter Moss Acute Myeloid & Lymphoblastic Leukemia AI Research Project

Acute Lymphoblastic Leukemia Jetson Nano Classifier

Acute Lymphoblastic Leukemia Jetson Nano Classifier

CURRENT RELEASE DEV BRANCH Contributions Welcome! Issues

PEP8 Documentation Status CII Best Practices DOI

LICENSE

 

Table Of Contents

 

Introduction

The Acute Lymphoblastic Leukemia Jetson Nano Classifier is a Convolutional Neural Network (CNN) developed using Intel® oneAPI AI Analytics Toolkit and Intel® Optimization for Tensorflow* to accelerate the training process, and TensorRT for high performance inference on the NVIDIA® Jetson Nano™.

In this project you will do the following.

  • Train a custom CNN for Acute Lymphoblastic Leukemia on your development machine.
  • Convert the Tensorflow SavedModel to TFRT format
  • Convert the Tensorflow SavedModel to ONNX format
  • Convert the Tensorflow ONNX model to TensorRT format
  • Test the CNN on your development machine.
  • Download or create a custom docker container for your NVIDIA Jetson Nano.
  • Run the CNN on your NVIDIA Jetson Nano using Tensorflow.
  • Run the CNN on your NVIDIA Jetson Nano using TFRT.
  • Run the CNN on your NVIDIA Jetson Nano using TensorRT.

 

NVIDIA Jetson Nano

NVIDIA Jetson Nano Devkit

The NVIDIA® Jetson Nano™ is a small, powerful computer that is capable of running multiple neural networks in parallel for applications like image classification, object detection, segmentation, and speech processing.

 

TFRT

"TFRT is a new TensorFlow runtime. It aims to provide a unified, extensible infrastructure layer with best-in-class performance across a wide variety of domain specific hardware. It provides efficient use of multithreaded host CPUs, supports fully asynchronous programming models, and focuses on low-level efficiency."

Source

 

ONNX

"ONNX is an open format built to represent machine learning models. ONNX defines a common set of operators - the building blocks of machine learning and deep learning models - and a common file format to enable AI developers to use models with a variety of frameworks, tools, runtimes, and compilers."

Source

 

TensorRT

"NVIDIA® TensorRT™ is an SDK for high-performance deep learning inference. It includes a deep learning inference optimizer and runtime that delivers low latency and high throughput for deep learning inference applications."

Source

 

Motivation

The motivation behind this project was to test the capabilities of the NVIDIA® Jetson Nano™ for the classification of Acute Lymphoblastic Leukemia on the edge. This project is also a submission for the NVIDIA Jetson AI Specialist Certification.

 

DISCLAIMER

This project should be used for research purposes only. The purpose of the project is to show the potential of Artificial Intelligence for medical support systems such as diagnostic systems.

Although the model is accurate and shows good results both on paper and in real world testing, it is trained on a small amount of data and needs to be trained on larger datasets to really evaluate it's accuracy.

Developers that have contributed to this repository have experience in using Artificial Intelligence for detecting certain types of cancer. They are not doctors, medical or cancer experts.

 

Acute Lymphoblastic Leukemia

Acute lymphoblastic leukemia (ALL), also known as Acute Lymphocytic Leukemia, is a cancer that affects the lymphoid blood cell lineage. It is the most common leukemia in children, and it accounts for 10-20% of acute leukemias in adults. The prognosis for both adult and especially childhood ALL has improved substantially since the 1970s. The 5- year survival is approximately 95% in children. In adults, the 5-year survival varies between 25% and 75%, with more favorable results in younger than in older patients.

For more information about Acute Lymphoblastic Leukemia please visit our Leukemia Information Page

 

ALL-IDB

Acute Lymphoblastic Leukemia Jetson Nano Classifier

You need to be granted access to use the Acute Lymphoblastic Leukemia Image Database for Image Processing dataset. You can find the application form and information about getting access to the dataset on this page as well as information on how to contribute back to the project here. If you are not able to obtain a copy of the dataset please feel free to try this tutorial on your own dataset, we would be very happy to find additional AML & ALL datasets.

 

Getting Started

To get started follow the project documentation.

 

Quick Start

 

Contributing

Asociación de Investigacion en Inteligencia Artificial Para la Leucemia Peter Moss encourages and welcomes code contributions, bug fixes and enhancements from the Github community.

Please read the CONTRIBUTING document for a full guide to forking our repositories and submitting your pull requests. You will also find our code of conduct in the Code of Conduct document.

Contributors

 

Versioning

We use SemVer for versioning.

 

License

This project is licensed under the MIT License - see the LICENSE file for details.

 

Bugs/Issues

We use the repo issues to track bugs and general requests related to using this project. See CONTRIBUTING for more info on how to submit bugs, feature requests and proposals.

all-jetson-nano-classifier's People

Contributors

adammiltonbarker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

all-jetson-nano-classifier's Issues

Fix formatting

Describe the bug
Formatting is messed up in the model module.

To Reproduce
NA

Expected behavior
NA

Screenshots
NA

Desktop (please complete the following information):
NA

Smartphone (please complete the following information):
NA

Additional context
NA

Remove redundant code

Describe the bug
Redundant code in engine module and init_trt_buffers / context should be loaded in the load_engine method. This resolves the issue with tensorrt.

To Reproduce
NA

Expected behavior
NA

Screenshots
NA

Desktop (please complete the following information):
NA

Smartphone (please complete the following information):
NA

Additional context
NA

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.