@@ -7,7 +7,8 @@ To install VDMS, we must install the necessary dependencies via apt, github, and
77### Install Debian/Ubuntu Packages
88Here we will install the Debian/Ubuntu packages.
99``` bash
10- sudo apt-get update
10+ sudo apt-get update -y --fix-missing
11+ sudo apt-get upgrade -y
1112sudo apt-get install -y --no-install-suggests --no-install-recommends \
1213 apt-transport-https autoconf automake bison build-essential bzip2 ca-certificates \
1314 curl ed flex g++-9 gcc-9 git gnupg-agent javacc libarchive-tools libatlas-base-dev \
@@ -55,7 +56,17 @@ alias python=/usr/bin/python3
5556You can also install the coverage package if interested in running the Python unit tests.
5657``` bash
5758python3 -m pip install --upgrade pip
58- python3 -m pip install --no-cache-dir " numpy>=1.25.1" " coverage>=7.2.7"
59+ python3 -m pip install --no-cache-dir " numpy>=1.26.0" " coverage>=7.3.1"
60+ ```
61+
62+
63+ #### ** Valijson v0.6**
64+ This is a headers-only library, no compilation/installation necessary.
65+ ``` bash
66+ VALIJSON_VERSION=" v0.6"
67+ git clone --branch ${VALIJSON_VERSION} https://github.com/tristanpenman/valijson.git $VDMS_DEP_DIR /valijson
68+ cd $VDMS_DEP_DIR /valijson
69+ sudo cp -r include/* /usr/local/include/
5970```
6071
6172
@@ -71,36 +82,11 @@ sudo make install
7182```
7283
7384
74- #### ** Faiss v1.7.3**
75- Install the Faiss library for similarity search.
76- ``` bash
77- FAISS_VERSION=" v1.7.3"
78- git clone --branch ${FAISS_VERSION} https://github.com/facebookresearch/faiss.git $VDMS_DEP_DIR /faiss
79- cd $VDMS_DEP_DIR /faiss
80- mkdir build && cd build
81- cmake -DFAISS_ENABLE_GPU=OFF -DPython_EXECUTABLE=/usr/bin/python3 ..
82- make ${BUILD_THREADS}
83- sudo make install
84- ```
85-
86-
87- #### ** FLINNG**
88- Install the Filters to Identify Near-Neighbor Groups (FLINNG) library for similarity search.
89- ``` bash
90- git clone https://github.com/tonyzhang617/FLINNG.git $VDMS_DEP_DIR /FLINNG
91- cd $VDMS_DEP_DIR /FLINNG
92- mkdir build && cd build
93- cmake ..
94- make ${BUILD_THREADS}
95- sudo make install
96- ```
97-
98-
9985#### ** Protobuf v24.2 (4.24.2)**
10086Install Protobuf (C++ and Python) which requires GoogleTest and Abseil C++ as dependencies.
10187``` bash
10288PROTOBUF_VERSION=" 24.2"
103- git clone -b v${PROTOBUF_VERSION} --recursive https://github.com/protocolbuffers/protobuf.git $VDMS_DEP_DIR /protobuf
89+ git clone -b v${PROTOBUF_VERSION} --recurse-submodules https://github.com/protocolbuffers/protobuf.git $VDMS_DEP_DIR /protobuf
10490
10591cd $VDMS_DEP_DIR /protobuf/third_party/googletest
10692mkdir build && cd build
@@ -128,42 +114,31 @@ python3 -m pip install --no-cache-dir "protobuf==4.${PROTOBUF_VERSION}"
128114```
129115
130116
131- #### ** [ OpenCV ] ( https://opencv.org/ ) 4.5.5 **
132- Below are instructions for installing *** OpenCV v4.5.5 *** .
117+ #### ** Faiss v1.7.3 **
118+ Install the Faiss library for similarity search .
133119``` bash
134- OPENCV_VERSION= " 4.5.5 "
135- git clone --branch ${OPENCV_VERSION } https://github.com/opencv/opencv .git $VDMS_DEP_DIR /opencv
136- cd $VDMS_DEP_DIR /opencv
120+ FAISS_VERSION= " v1.7.3 "
121+ git clone --branch ${FAISS_VERSION } https://github.com/facebookresearch/faiss .git $VDMS_DEP_DIR /faiss
122+ cd $VDMS_DEP_DIR /faiss
137123mkdir build && cd build
138- cmake -D BUILD_PERF_TESTS =OFF -D BUILD_TESTS=OFF ..
124+ cmake -DFAISS_ENABLE_GPU =OFF -DPython_EXECUTABLE=/usr/bin/python3 ..
139125make ${BUILD_THREADS}
140126sudo make install
141127```
142128
143- ** Note** : When using videos, and getting the following error: "Unable to stop the stream: Inappropriate ioctl for device", you may need to include more flags when compiling OpenCV. Follow these instructions ([ source] ( https://stackoverflow.com/questions/41200201/opencv-unable-to-stop-the-stream-inappropriate-ioctl-for-device ) ):
144- ``` bash
145- apt-get install ffmpeg
146- apt-get install libavcodec-dev libavformat-dev libavdevice-dev
147129
148- cmake -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
149- -D WITH_FFMPEG=ON -D WITH_TBB=ON -D WITH_GTK=ON \
150- -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON \
151- -DWITH_QT=OFF -DCUDA_NVCC_FLAGS=" -D_FORCE_INLINES" ..
130+ #### ** FLINNG**
131+ Install the Filters to Identify Near-Neighbor Groups (FLINNG) library for similarity search.
132+ ``` bash
133+ git clone https://github.com/tonyzhang617/FLINNG.git $VDMS_DEP_DIR /FLINNG
134+ cd $VDMS_DEP_DIR /FLINNG
135+ mkdir build && cd build
136+ cmake ..
152137make ${BUILD_THREADS}
153138sudo make install
154139```
155140
156141
157- #### ** Valijson v0.6**
158- This is a headers-only library, no compilation/installation necessary.
159- ``` bash
160- VALIJSON_VERSION=" v0.6"
161- git clone --branch ${VALIJSON_VERSION} https://github.com/tristanpenman/valijson.git $VDMS_DEP_DIR /valijson
162- cd $VDMS_DEP_DIR /valijson
163- sudo cp -r include/* /usr/local/include/
164- ```
165-
166-
167142#### ** [ TileDB] ( https://tiledb.io/ ) 2.14.1**
168143The directions below will help you install TileDB v2.14.1 from the source.
169144You can also follow the directions listed [ here] ( https://docs.tiledb.io/en/latest/installation.html ) .
@@ -191,28 +166,53 @@ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTAL
191166make ${BUILD_THREADS}
192167sudo make install
193168```
169+
170+
171+ #### ** [ OpenCV] ( https://opencv.org/ ) 4.5.5**
172+ Below are instructions for installing *** OpenCV v4.5.5*** .
173+ ``` bash
174+ OPENCV_VERSION=" 4.5.5"
175+ git clone --branch ${OPENCV_VERSION} https://github.com/opencv/opencv.git $VDMS_DEP_DIR /opencv
176+ cd $VDMS_DEP_DIR /opencv
177+ mkdir build && cd build
178+ cmake -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF ..
179+ make ${BUILD_THREADS}
180+ sudo make install
181+ ```
182+
183+ ** Note** : When using videos, and getting the following error: "Unable to stop the stream: Inappropriate ioctl for device", you may need to include more flags when compiling OpenCV. Follow these instructions ([ source] ( https://stackoverflow.com/questions/41200201/opencv-unable-to-stop-the-stream-inappropriate-ioctl-for-device ) ):
184+ ``` bash
185+ sudo apt-get install -y ffmpeg
186+ sudo apt-get install -y libavdevice-dev
187+
188+ cmake -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
189+ -D WITH_FFMPEG=ON -D WITH_TBB=ON -D WITH_GTK=ON \
190+ -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON \
191+ -DWITH_QT=OFF -DCUDA_NVCC_FLAGS=" -D_FORCE_INLINES" ..
192+ make ${BUILD_THREADS}
193+ sudo make install
194+ ```
194195<br >
195196
196197## Install VDMS
197198This version of VDMS treats PMGD as a submodule so both libraries are compiled at one time. After entering the vdms directory, the command ` git submodule update --init --recursive ` will pull pmgd into the appropriate directory. Furthermore, Cmake is used to compile all directories.
198199``` bash
199- git clone -b develop https://github.com/IntelLabs/vdms.git
200+ git clone -b develop --recurse-submodules https://github.com/IntelLabs/vdms.git
200201cd vdms
201- git submodule update --init --recursive
202202```
203203
204204When compiling on a target without Optane persistent memory, use the following:
205205``` bash
206206mkdir build && cd build
207207cmake ..
208- make -j
208+ make ${BUILD_THREADS}
209209cp ../config-vdms.json .
210210```
211211
212212When compiling on a target with Optane persistent memory, use the command set:
213213``` bash
214214mkdir build && cd build
215215cmake -DCMAKE_CXX_FLAGS=' -DPM' ..
216- make -j
216+ make ${BUILD_THREADS}
217217```
218218
0 commit comments