Hprc banner tamu.png

Difference between revisions of "SW:R-CNN"

From TAMU HPRC
Jump to: navigation, search
(foss/2019b)
(Detectron2)
Line 2: Line 2:
  
 
The page above mentions a number of packages available for using R-CNNs.  For now, this page will concentrate on [https://github.com/facebookresearch/detectron2 Detectron2].
 
The page above mentions a number of packages available for using R-CNNs.  For now, this page will concentrate on [https://github.com/facebookresearch/detectron2 Detectron2].
 +
 +
= Detectron =
 +
We'll start with single-node (no MPI) [https://github.com/facebookresearch/Detectron Detectron], the predecessor to Detecron2, since we've successfully built it on ada (terra test to come).  The instructions for Detectron2 (not written/tested) will be added later.
 +
 +
These steps come from the [https://github.com/facebookresearch/Detectron/blob/master/INSTALL.md Detectron's INSTALL.md] and from the [https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=compile Caffe2 instructions for building from source].
 +
 +
Download, via Git, the needed sources.  Note: we used the system git here (no module), but if you have problems you may try loading a Git module.
 +
<pre>
 +
mkdir $SCRATCH/tmp
 +
cd $SCRATCH/tmp
 +
git clone https://github.com/facebookresearch/Detectron.git
 +
git clone https://github.com/pytorch/pytorch.git # for caffe2
 +
cd pytorch
 +
git submodule update --init --recursive
 +
</pre>
 +
 +
Clean the module environment and install directory.
 +
<pre>
 +
ml purge
 +
rm -rf $SCRATCH/Detectron2-foss-2019b
 +
</pre>
 +
Create and activate a Python VE to install into.
 +
<pre>
 +
ml Python/3.7.4-GCCcore-8.3.0
 +
python -m venv $SCRATCH Detectron2-foss-2019b
 +
</pre>
  
 
= Detectron2 =
 
= Detectron2 =

Revision as of 08:03, 13 August 2020

"Region Based Convolutional Neural Networks (R-CNN) are a family of machine learning models for computer vision and specifically object detection." -- Wikipedia

The page above mentions a number of packages available for using R-CNNs. For now, this page will concentrate on Detectron2.

Detectron

We'll start with single-node (no MPI) Detectron, the predecessor to Detecron2, since we've successfully built it on ada (terra test to come). The instructions for Detectron2 (not written/tested) will be added later.

These steps come from the Detectron's INSTALL.md and from the Caffe2 instructions for building from source.

Download, via Git, the needed sources. Note: we used the system git here (no module), but if you have problems you may try loading a Git module.

mkdir $SCRATCH/tmp
cd $SCRATCH/tmp
git clone https://github.com/facebookresearch/Detectron.git
git clone https://github.com/pytorch/pytorch.git # for caffe2
cd pytorch
git submodule update --init --recursive

Clean the module environment and install directory.

ml purge
rm -rf $SCRATCH/Detectron2-foss-2019b

Create and activate a Python VE to install into.

ml Python/3.7.4-GCCcore-8.3.0
python -m venv $SCRATCH Detectron2-foss-2019b

Detectron2

"Detectron2 is Facebook AI Research's next generation software system that implements state-of-the-art object detection algorithms. It is a ground-up rewrite of the previous version, Detectron, and it originates from maskrcnn-benchmark." --Detectron2 site

It also includes support for Fast R-CNN, Faster R-CNN and other R-CNNs.

See the Directron2 site for using and training. For now, this page will only cover installation.

Installing Detectron2 in a Python virtual environment on HPRC clusters

foss/2019b

This is a basic/starter build. Note that this build does not include a CUDA-enabled OpenMPI so is limited to the GPUs on a single node.

Modules used include:

Make/3.15.3-GCCcore-8.3.0
Python/3.7.4-GCCcore-8.3.0
cuDNN/7.0.5-CUDA-9.0.176
(optional?) Graphviz/2.42.2-foss-2019b

Start with a clean module environment and install directory.

ml purge
rm -rf $SCRATCH/Detectron2-foss-2019b

Create and activate a Python VE to install into.

ml Python/3.7.4-GCCcore-8.3.0
python -m venv $SCRATCH Detectron2-foss-2019b

fosscuda/2018b

This build includes a CUDA-enabled OpenMPI for using multiple GPU nodes to speed up processing.

CMake/3.12.1-GCCcore-7.3.0
Python-3.6.6-fosscuda-2018b