automatic commit
[folded-ctf.git] / run.sh
diff --git a/run.sh b/run.sh
index 13f3a8e..42dc58b 100755 (executable)
--- a/run.sh
+++ b/run.sh
@@ -19,6 +19,7 @@
 
 MAIN_URL="http://www.idiap.ch/folded-ctf"
 
+######################################################################
 # Compiling
 
 make -j -k
@@ -81,53 +82,85 @@ fi
 
 RESULT_DIR=./results
 
-if [[ ! -d ${RESULT_DIR} ]]; then
-    mkdir ${RESULT_DIR}
-fi
+case $1 in
 
-for SEED in {0..9}; do
+    pics)
 
-    for MODE in hb h+b; do
+        SEED=0
 
-        EXPERIMENT_RESULT_DIR="${RESULT_DIR}/${MODE}-${SEED}"
+        EXPERIMENT_RESULT_DIR="${RESULT_DIR}/hb-${SEED}"
 
-        mkdir ${EXPERIMENT_RESULT_DIR} 2> /dev/null
+        if [[ -d "${EXPERIMENT_RESULT_DIR}" ]]; then
 
-        if [[ $? == 0 ]]; then
+            for n in -1 0 2501 2504; do
 
-            OPTS="--random-seed=${SEED} --wanted-true-positive-rate=0.75"
-
-            if [[ $MODE == "h+b" ]]; then
-                OPTS="${OPTS} --force-head-belly-independence=yes"
-            fi
-
-            if [[ $1 == "valgrind" ]]; then
-                OPTS="${OPTS} --nb-classifiers-per-level=1 --nb-weak-learners-per-classifier=10"
-                OPTS="${OPTS} --proportion-for-train=0.1 --proportion-for-validation=0.025 --proportion-for-test=0.01"
-                OPTS="${OPTS} --wanted-true-positive-rate=0.1"
-                DEBUGGER="valgrind --db-attach=yes --leak-check=full --show-reachable=yes"
-            fi
-
-            ${DEBUGGER} ./folding \
-                --niceness=15 \
-                --pool-name=${POOL_NAME} \
-                --nb-levels=2 \
-                --nb-classifiers-per-level=25 --nb-weak-learners-per-classifier=100 \
-                --result-path=${EXPERIMENT_RESULT_DIR} \
-                --detector-name=${EXPERIMENT_RESULT_DIR}/default.det \
-                ${OPTS} \
-                open-pool \
-                train-detector \
-                compute-thresholds \
-                write-detector \
-                sequence-test-detector | tee -a ${EXPERIMENT_RESULT_DIR}/stdout
+                ./folding --random-seed=${SEED} \
+                    --pool-name=${POOL_NAME} \
+                    --result-path=${EXPERIMENT_RESULT_DIR} \
+                    --detector-name=${EXPERIMENT_RESULT_DIR}/default.det \
+                    --nb-images=1 \
+                    --material-feature-nb=${n} \
+                    open-pool \
+                    read-detector \
+                    write-pool-images
+
+            done
 
         else
+            echo "You have to run at least the first round completely to be able" >&2
+            echo "to generate the pictures." >&2
+            exit 1
+        fi
+
+        ;;
 
-            echo "${EXPERIMENT_RESULT_DIR} exists, aborting experiment."
+    valgrind|"")
 
+        if [[ ! -d ${RESULT_DIR} ]]; then
+            mkdir ${RESULT_DIR}
         fi
 
-    done
+        for SEED in {0..9}; do
+
+            for MODE in hb h+b; do
+
+                EXPERIMENT_RESULT_DIR="${RESULT_DIR}/${MODE}-${SEED}"
+
+                mkdir ${EXPERIMENT_RESULT_DIR} 2> /dev/null
+
+                if [[ $? == 0 ]]; then
+
+                    if [[ $MODE == "h+b" ]]; then
+                        OPTS="${OPTS} --force-head-belly-independence=yes"
+                    fi
+
+                    if [[ $1 == "valgrind" ]]; then
+                        OPTS="${OPTS} --nb-classifiers-per-level=1 --nb-weak-learners-per-classifier=10"
+                        OPTS="${OPTS} --proportion-for-train=0.1 --proportion-for-validation=0.025 --proportion-for-test=0.01"
+                        OPTS="${OPTS} --wanted-true-positive-rate=0.1"
+                        DEBUGGER="valgrind --db-attach=yes --leak-check=full --show-reachable=yes"
+                    fi
+
+                    ${DEBUGGER} ./folding \
+                        --random-seed=${SEED} \
+                        --pool-name=${POOL_NAME} \
+                        --result-path=${EXPERIMENT_RESULT_DIR} \
+                        --detector-name=${EXPERIMENT_RESULT_DIR}/default.det \
+                        ${OPTS} \
+                        open-pool \
+                        train-detector \
+                        compute-thresholds \
+                        write-detector \
+                        sequence-test-detector | tee -a ${EXPERIMENT_RESULT_DIR}/stdout
+
+                else
+
+                    echo "${EXPERIMENT_RESULT_DIR} exists, aborting experiment."
+
+                fi
+
+            done
+
+        done
 
-done
+esac