Skip to content

Commit

Permalink
Merge pull request #90 from sguada/parselog
Browse files Browse the repository at this point in the history
Polish log parsing script
  • Loading branch information
shelhamer committed Feb 10, 2014
2 parents ecb1f7f + 500804e commit ad08dd1
Showing 1 changed file with 9 additions and 20 deletions.
29 changes: 9 additions & 20 deletions scripts/parselog.sh
Original file line number Diff line number Diff line change
@@ -1,28 +1,17 @@
#!/bin/bash
# Usage parselog.sh caffe.log [init_iter=0] [test_interval=1000]
# Usage parselog.sh caffe.log
# It creates two files one caffe.log.test that contains the loss and test accuracy of the test and
# another one caffe.log.loss that contains the loss computed during the training
# Use init_iter when the log start from a previous snapshot
# Use test_interval when the testing interval is different than 1000

if [ "$#" -lt 1 ]
then
echo "Usage parselog.sh /path_to/caffe.log [init_iter=0] [test_interval=1000]"
fi
if [ "$#" -gt 1 ]
then
INIT=$2
else
INIT=0
fi
if [ "$#" -gt 2 ]
then
INC=$3
else
INC=1000
echo "Usage parselog.sh /path_to/caffe.log"
fi
LOG=`basename $1`
grep 'Test score #0' $1 | awk -v init=$INIT -v inc=$INC '{print (NR*inc+init), $8}' > aux0.txt
grep 'Test score #1' $1 | awk '{print $8}' > aux1.txt
grep -B 2 'Test ' $1 > aux.txt
grep 'Iteration ' aux.txt | sed 's/.*Iteration \([[:digit:]]*\).*/\1/g' > aux0.txt
grep 'Test score #0' aux.txt | awk '{print $8}' > aux1.txt
grep 'Test score #1' aux.txt | awk '{print $8}' > aux2.txt
grep ' loss =' $1 | awk '{print $6,$9}' | sed 's/,//g' | column -t > $LOG.loss
paste aux0.txt aux1.txt | column -t > $LOG.test
rm aux0.txt aux1.txt
paste aux0.txt aux1.txt aux2.txt | column -t > $LOG.test
rm aux.txt aux0.txt aux1.txt aux2.txt

0 comments on commit ad08dd1

Please sign in to comment.