We now have a script to do the entire installation in one shot. Navigate to the
directory models/research/delf/delf/python/training
, then run:
# From models/research/delf/delf/python/training
bash install_delf.sh
If this works, you are done! If not, see below for detailed instructions for installing this codebase and its dependencies.
Please note that this installation script only works on 64 bits Linux
architectures due to the protoc
binary that is automatically downloaded. If
you wish to install the DELF library on other architectures please update the
install_delf.sh
script by referencing
the desired protoc
binary release.
In more detail: the install_delf.sh
script installs both the DELF library and
its dependencies in the following sequence:
- Install TensorFlow 2.2 and TensorFlow 2.2 for GPU.
- Install the TF-Slim library from source.
- Download protoc and compile the DELF Protocol Buffers.
- Install the matplotlib, numpy, scikit-image, scipy and python3-tk Python libraries.
- Install the TensorFlow Object Detection API from the cloned TensorFlow Model Garden repository.
- Install the DELF package.
For detailed steps to install Tensorflow, follow the Tensorflow installation instructions. A typical user can install Tensorflow using one of the following commands:
# For CPU:
pip3 install 'tensorflow>=2.2.0'
# For GPU:
pip3 install 'tensorflow-gpu>=2.2.0'
Note: currently, we need to install the latest version from source, to avoid using previous versions which relied on tf.contrib (which is now deprecated).
git clone [email protected]:google-research/tf-slim.git
cd tf-slim
pip3 install .
Note that these commands assume you are cloning using SSH. If you are using
HTTPS instead, use git clone https://github.com/google-research/tf-slim.git
instead. See
this link
for more information.
The DELF library uses protobuf (the python
version) to configure feature extraction and its format. You will need the
protoc
compiler, version >= 3.3. The easiest way to get it is to download
directly. For Linux, this can be done as (see
here for other platforms):
wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip
unzip protoc-3.3.0-linux-x86_64.zip
PATH_TO_PROTOC=`pwd`
Install python library dependencies:
pip3 install matplotlib numpy scikit-image scipy
sudo apt-get install python3-tk
Now, clone tensorflow/models
, and install required libraries: (note that the
object_detection
library requires you to add tensorflow/models/research/
to
your PYTHONPATH
, as instructed
here)
git clone [email protected]:tensorflow/models.git
# Setup the object_detection module by editing PYTHONPATH.
cd ..
# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`
Note that these commands assume you are cloning using SSH. If you are using
HTTPS instead, use git clone https://github.com/tensorflow/models.git
instead.
See
this link
for more information.
Then, compile DELF's protobufs. Use PATH_TO_PROTOC
as the directory where you
downloaded the protoc
compiler.
# From tensorflow/models/research/delf/
${PATH_TO_PROTOC?}/bin/protoc delf/protos/*.proto --python_out=.
Finally, install the DELF package. This may also install some other dependencies under the hood.
# From tensorflow/models/research/delf/
pip3 install -e . # Install "delf" package.
At this point, running
python3 -c 'import delf'
should just return without complaints. This indicates that the DELF package is loaded successfully.
Issues might be observed if using pip3 install
with -e
option (editable
mode). You may try out to simply remove the -e
from the commands above. Also,
depending on your machine setup, you might need to run the sudo pip3 install
command, that is with a sudo
at the beginning.
The default commands above assume you are cloning using SSH. If you are using
HTTPS instead, use for example git clone https://github.com/tensorflow/models.git
instead of git clone [email protected]:tensorflow/models.git
. See
this link
for more information.