ViolaJones/downloader/download_data.sh

39 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Exit if any of the command doesn't exit with code 0
set -e
test -z "$EXEC_DIR" && EXEC_DIR=.
DATA_PATH="$EXEC_DIR/../data"
test ! -d "$DATA_PATH" && mkdir -v "$DATA_PATH"
if [ ! -f "$DATA_PATH"/X_train.bin ] || [ ! -f "$DATA_PATH"/X_test.bin ] \
|| [ ! -f "$DATA_PATH"/y_train.bin ] || [ ! -f "$DATA_PATH"/y_test.bin ]; then
if [ ! -f "$DATA_PATH"/faces.tar.gz ]; then
echo 'Downloading raw dataset'
curl -o "$DATA_PATH"/faces.tar.gz http://www.ai.mit.edu/courses/6.899/lectures/faces.tar.gz
fi
echo 'Extracting raw files'
tar xvzf "$DATA_PATH"/faces.tar.gz -C "$DATA_PATH"
rm -v "$DATA_PATH"/README "$DATA_PATH"/svm.*
echo 'Extracting raw train set'
tar xvzf "$DATA_PATH"/face.train.tar.gz -C "$DATA_PATH"
rm -v "$DATA_PATH"/face.train.tar.gz
echo 'Extracting raw test set'
tar xvzf "$DATA_PATH"/face.test.tar.gz -C "$DATA_PATH"
rm -v "$DATA_PATH"/face.test.tar.gz
echo 'Converting raw dataset to bin file'
export EXEC_DIR
. "$EXEC_DIR"/activate.sh
python "$EXEC_DIR"/convert_dataset.py "$DATA_PATH"
echo 'Removing leftovers'
rm -rvf "$DATA_PATH"/train "$DATA_PATH"/test
echo 'Done !'
fi