--- /dev/null
+#!/usr/bin/env sh
+# This script converts the mnist data into leveldb format.
+
+echo "Creating leveldb..."
+
+rm -rf mnist-train-leveldb
+rm -rf mnist-test-leveldb
+
+../build/examples/convert_mnist_data.bin train-images-idx3-ubyte train-labels-idx1-ubyte mnist-train-leveldb
+../build/examples/convert_mnist_data.bin t10k-images-idx3-ubyte t10k-labels-idx1-ubyte mnist-test-leveldb
+
+echo "Done."
\ No newline at end of file
gunzip t10k-images-idx3-ubyte.gz
gunzip t10k-labels-idx1-ubyte.gz
-echo "Creating leveldb..."
-
-../build/examples/convert_mnist_data.bin train-images-idx3-ubyte train-labels-idx1-ubyte mnist-train-leveldb
-../build/examples/convert_mnist_data.bin t10k-images-idx3-ubyte t10k-labels-idx1-ubyte mnist-test-leveldb
+# Creation is split out because leveldb sometimes causes segfault
+# and needs to be re-created.
echo "Done."
if not start_time_found and line.find('Solving') != -1:
start_time_found = True
start_datetime = extract_datetime_from_line(line, log_created_year)
- if line.find(', loss = ') != -1:
+ if line.find('Iteration') != -1:
dt = extract_datetime_from_line(line, log_created_year)
elapsed_seconds = (dt - start_datetime).total_seconds()
out.write('%f\n' % elapsed_seconds)
exit
fi
LOG=`basename $1`
-# For extraction of time since this line constains the start time
-grep '] Solving ' $1 > aux.txt
-grep -B 2 'Test ' $1 >> aux.txt
+grep -B 1 '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
-./extract_seconds.py aux.txt aux3.txt
+
+# Extracting elpased seconds
+# For extraction of time since this line constains the start time
+grep '] Solving ' $1 > aux3.txt
+grep 'Testing net' $1 >> aux3.txt
+./extract_seconds.py aux3.txt aux4.txt
+
+# Generating
echo '# Iters Seconds TestAccuracy TestLoss'> $LOG.test
-paste aux0.txt aux3.txt aux1.txt aux2.txt | column -t >> $LOG.test
-rm aux.txt aux0.txt aux1.txt aux2.txt aux3.txt
+paste aux0.txt aux4.txt aux1.txt aux2.txt | column -t >> $LOG.test
+rm aux.txt aux0.txt aux1.txt aux2.txt aux3.txt aux4.txt
# For extraction of time since this line constains the start time
grep '] Solving ' $1 > aux.txt
grep 'Iteration ' aux.txt | sed 's/.*Iteration \([[:digit:]]*\).*/\1/g' > aux0.txt
grep ', loss = ' $1 | awk '{print $9}' > aux1.txt
grep ', lr = ' $1 | awk '{print $9}' > aux2.txt
+
+# Extracting elpased seconds
./extract_seconds.py aux.txt aux3.txt
+
+# Generating
echo '# Iters Seconds TrainingLoss LearningRate'> $LOG.train
paste aux0.txt aux3.txt aux1.txt aux2.txt | column -t >> $LOG.train
rm aux.txt aux0.txt aux1.txt aux2.txt aux3.txt
template <typename Dtype>
void Solver<Dtype>::Test() {
- LOG(INFO) << "Testing net";
+ LOG(INFO) << "Iteration " << iter_ << ", Testing net";
NetParameter net_param;
net_->ToProto(&net_param);
CHECK_NOTNULL(test_net_.get())->CopyTrainedLayersFrom(net_param);
}
}
for (int i = 0; i < test_score.size(); ++i) {
- LOG(INFO) << "Iteration " << iter_ << ", Test score #" << i << ": "
+ LOG(INFO) << "Test score #" << i << ": "
<< test_score[i] / param_.test_iter();
}
}