• Stars
    star
    158
  • Rank 237,131 (Top 5 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Computer vision container that includes Jupyter notebooks with built-in code hinting, Anaconda, CUDA 11.8, TensorRT inference accelerator for Tensor cores, CuPy (GPU drop in replacement for Numpy), PyTorch, PyTorch geometric for Graph Neural Networks, TF2, Tensorboard, and OpenCV for accelerated workloads on NVIDIA Tensor cores and GPUs.

NVIDIA GPU/Tensor Core Accelerator for PyTorch, PyTorch Geometric, TF2, Tensorboard + OpenCV

A complete computer vision container that includes Jupyter notebooks with built-in code hinting, Miniconda, CUDA 11, TensorRT inference accelerator for Tensor cores, CuPy (GPU drop in replacement for Numpy), PyTorch, PyTorch Geometric for geomteric learning and/or Graph Neural Networks, TendorFlow 2, Tensorboard, and OpenCV (complied for CUDA) for accelerated workloads on NVIDIA Tensor cores and GPUs. Roadmap: Adding Dask for GPU based image preprosccing and pipelines, as well as model mgm't, and model serving and monitoring.

  • There are working notebook examples on how to wire up, both Torch and TF2 to Tensorboard in /app folder.


Features

  • Miniconda: Accelerated Python, version 3.9
  • CuPy: GPU accelerated drop in replacement for Numpy
  • OpenCV, latest version which is made to compile for CUDA GPUs in the container. Depending upon your GPU you may have to change -DCUDA_ARCH_BIN=7.5 in the OpenCV flags within the Dockerfile, and rebuild the image.
  • PyTorch with Torchvision for GPU, latest version
  • PyTorch geometric for GNN's
  • Captum to explain Torch models
  • Tensorflow 2 with Keras
  • Tensorboard for both Torch and TF2
  • NVIDIA TensorRT inference accelerator for Tensor core access and CUDA 11 for GPUs
  • Repo includes two working notebook examples on how to wire up Torch and TF2 to TensorBoard, located in /app folder

Built in code hinting in Jupyter Notebook

Press tab to see what methods you have access to by clicking tab.

jupyter-tabnine


Before you begin (This might be optional)

Link to nvidia-docker2 install: Tutorial

You must install nvidia-docker2 and all it's deps first, assuming that is done, run:

sudo apt-get install nvidia-docker2

sudo pkill -SIGHUP dockerd

sudo systemctl daemon-reload

sudo systemctl restart docker


How to run this container:

Step 1

docker build -t <container name> . < note the . after

If you get an authorized user from the docker pull cmd inside the container, try:

$ docker logout

...and then run it or pull again. As it is public repo you shouldn't need to login.

Step 2

Run the image, mount the volumes for Jupyter and app folder for your fav IDE, and finally the expose ports 8888 for Jupyter Notebook:

docker run --rm -it --runtime=nvidia --user $(id -u):$(id -g) --group-add container_user --group-add sudo -v "${PWD}:/app" -p 8888:8888 -p 6006:6006 <container name>

Disclaimer: You should be able to utilize the runtime argument on Docker 19+ as long as it is installed and configured in the daemon configuration file:

Install nvidia-docker2 package https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)#ubuntu-distributions-1

Step 3: Check to make sure GPU drivers and CUDA is running

  • Open another ssh tab, and exec into the container and check if your GPU is registering in the container and CUDA is working:

  • Get the container id:

docker ps

  • Exec into container:

docker exec -u root -t -i <container id> /bin/bash

  • Check if NVIDIA GPU DRIVERS have container access:

nvidia-smi

  • Check if CUDA is working:

nvcc -V

Initialize Tensorboard

  • Exec into the container as stated above, and run the following:

tensorboard --logdir=//app --bind_all

  • You will recieve output that looks somnething like this:

TensorBoard 2.1.0 at http://af5d7fc520cb:6006/

Just replace af5d7fc520cb with the word localhost and launch in the browser, then you will see:

a a a a


Known conflicts with nvidia-docker and Ubuntu

AppArmor on Ubuntu has sec issues, so remove docker from it on your local box, (it does not hurt security on your computer):

sudo aa-remove-unknown

You may have to do this to get the NVIDIA container runtime to work

Install the the nvidia-conatiner-runtime package, install and set-up config is here: https://github.com/NVIDIA/nvidia-container-runtime.

sudo apt-get install nvidia-container-runtime

sudo vim /etc/docker/daemon.json

Then , in this daemon.json file, add this content:

{
  "default-runtime": "nvidia"
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
       "runtimeArgs": []
     }
  }
}

sudo systemctl daemon-reload

sudo systemctl restart docker

Other misc troubleshooting

Method 2: Install the container runtime: https://github.com/NVIDIA/nvidia-container-runtime#ubuntu-distributions

Modify the config file: https://github.com/NVIDIA/nvidia-container-runtime#daemon-configuration-file


More Repositories

1

Machine-Learning-For-Predictive-Lead-Scoring

Predictive Lead Scoring does all the hard work for you by leveraging Machine Learning to provide your sales and marketing team with in-depth customer knowledge and ways to target the hottest and most qualified leads – resulting in saved time and higher revenue streams.
Jupyter Notebook
92
star
2

Deep-Learning-Ultra

Open source Deep Learning Containers (DLCs) are a set of Docker images for training and serving models in PyTorch, OpenCV (compiled for GPU), TensorFlow 2 for GPU, PyG and NVIDIA RAPIDS
Jupyter Notebook
82
star
3

computer-vision-container

This container is no longer supported, and has been deprecated in favor of: https://github.com/joehoeller/NVIDIA-GPU-Tensor-Core-Accelerator-PyTorch-OpenCV
Jupyter Notebook
44
star
4

Machine-Learning-for-Industrial-IoT-Applications

Machine Learning for Industrial IoT Applications: Predict how long a part will work before performance degrades Perect for 5G cell phone towers, mining, aerospace, large/heavy equipment, farming, autonomous vehicles and even data centers.
Jupyter Notebook
35
star
5

vuejs-flask-docker

Test driven docker solution using VueJS, Flask REST Plus, PostgresSQL, with swagger, prebuilt authentication+JWT's running on NGINX/https using material ui design
Python
35
star
6

Contextual-Multi-Armed-Bandits

Jupyter Notebook
34
star
7

Dark-Chocolate

Transfer COCO data set annotations to Darknet YOLO annotations format. Hence, Dark(net) Chocolate(COCO)!
Python
33
star
8

PySpark-Confluent-Kafka-Apache-Drill-

A code-based tutorial for production level data streaming with PySpark plus Optimus for data cleaning, Confluent Kafka, & Apache Drill using Docker and Cassandra (NoSQL DB) for storage; This allows for for fast feature engineering and data cleaning.
Jupyter Notebook
26
star
9

Anaconda-CUDA-Accelerated-TensorFlowGPU-Development-Environment

A reproducible containerized environment with CUDA X, Anaconda, TensorFlow-GPU, Keras-GPU, Dask, and PyCUDA.
Python
24
star
10

full-stack-flask-react-kubernetes

Deploy a Flask-based microservice (along with Postgres and React) to a Kubernetes cluster
Python
15
star
11

nginx-server-neo4j-graph-db

NGINX server for NEO4J Graph Database and NEO4J REST API
14
star
12

machine-learning-predict-customers-next-purchase

Machine Learning to predict a customer's next purchase - Fulfills many use-cases from recommendation systems to loyalty programs.
Jupyter Notebook
11
star
13

bandit-box

BanditBox: A reproducible and portable GPU and TPU (TensorRT) accelerated machine learning container for advanced applications such as NLP, contextual bandits, policy gradient networks, & Deep Q Learning.
Jupyter Notebook
11
star
14

NVIDIA-Rapids-NeMo-PyTorch-Tensorboard

Ultimate NLP Toolkit for GPUs: RAPIDS-AI, PyTorch, NeMo, Tensorboard, TensorRT, CUDA 10.1
Python
10
star
15

Machine-Learning-to-Predict-Customer-Loyalty-Trajectory

Customer loyalty is the strength of the relationship a customer has with a business as manifested by customer purchasing more and at high frequency. There are various signal or events related to a customer’s engagement with a business. Some examples are transactions, customer service calls and social media comments.
Python
10
star
16

IBM-Watson-Artificial-Intelligence-Developer-Certification-Study-Guide

The certification exam covers all of the aspects of building an application that uses Watson services. This includes a basic understanding of cognitive technologies, as well as a practical knowledge of the core APIs.
8
star
17

customer-lifetime-value-contractual-or-non-contractual-relationship

Machine Learning to determine Customer Lifetime Value in a contractual or non-contractual setting.
Jupyter Notebook
8
star
18

Algorithmic-Data-Cleaning-with-Pandas

Algorithmic accumulator that walks arrays right (reduceRight) while handling conditions without mutations to variables, no loops, and zero non deterministic code design patterns.
Python
8
star
19

Computer-Vision-Facial-Key-Point-Detection

Facial Key Point Detection Using HAAR Cascades on a trained Convolutional Neural Network
Jupyter Notebook
7
star
20

Automated-Flask-API-Installer

Automated install of auth, PostgresSQL, VueJS front end and Flask in Docker or Docker swarm
Python
6
star
21

tf2-gpu

Jupyter Notebook
6
star
22

Django2Pro-Container

Docker, Django2.2, NGINX, PostgreSQL, pgAdmin, Python 3.x on https, with support for Dev, QA, & Production environments to build RESTful APIs on. Code updates instantly for quick development: Container hot reloads automatically as you write code!
Python
4
star
23

react-redux-d3-dashboard

Example of how to use React, Redux, and D3 to make a DataScience dashboard
JavaScript
3
star
24

GPUyter

Jupyter Notebook
3
star
25

tmg_data_science

The Mentor Group Data Science curriculum
Dockerfile
3
star
26

physician-burnout-prediction

3
star
27

s3-government

Interface dynamically with s3 buckets on AWS GovCloud - Forked from s3Contents repo to work with government security req's.
Python
3
star
28

nvidia-rapids-e2e-ml-pipeline-on-kubernetes

3
star
29

-Subscription-Customer-or-Regular-Customer

Machine Learning to determine if the customer will be a monthly subscription customer (Like Dollar Shave Club, Spotify, Pandora or a Amazon Prime Member), or will they just remain a regular/free customer?
Jupyter Notebook
3
star
30

CMS-Template-Helper

Custom CMS template helper plug in that dynamically adds css to the final child that is dynamically output from the dB
2
star
31

pytorch-nvidia-gpu

2
star
32

pytorch-geometric-with-albumentations-and-model-serving

Computer vision and graph based computer vision modeling and serving with NVIDIA CUDA/GPUs and TensorRT
Jupyter Notebook
2
star
33

tensorflow-gpu

Deep learning and statistical based GPU enabled container for TF2.0 with Tensorboard
Dockerfile
2
star
34

test

2
star
35

the-mentor-group

HTML
2
star
36

SASS-CSS3-Animation

SASS Example with CSS3 Animations
SCSS
2
star
37

torch-nlp

Python
2
star
38

k8s-mlflow-seldon-automated-model-serving

Jupyter Notebook
2
star
39

Rancher-REST-API-Docs

Documentation on Rancher's REST APIs
JavaScript
2
star
40

HomeworkTasksApp

Teaching code for kids
CSS
2
star
41

lightweight-ui-slider

A lightweight 2 byte banner rotator that only uses 2mb of browser RAM
JavaScript
2
star
42

rapids-gpu

Dockerfile
2
star
43

mlflowv.1.14.1

Dockerfile
1
star
44

Evolutionary-Context-Graph-Neural-Network-for-Predicting-Foreign-Adversarial-Events

Proof of concept demo with code built on OSINT data to predict social influence prediction (PSYOPS), or other events for warfighters, elections, disease outbreaks, geo-political events, as well as foreign and domestic terror threats. From the perspective of intelligence analysts, information overload is overwhelming. Presenting succinct representations of events and their precursors in the form of summaries is an unmet need. We demonstrate how unified data for graph based neural networks solves DoD’s ability to look 10-400 steps into the future with lead time to react.
1
star