-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/develop' into mkl_packed
- Loading branch information
Showing
287 changed files
with
4,013 additions
and
2,276 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
set -e | ||
|
||
function clock_to_seconds() { | ||
hours=`echo $1 | awk -F ':' '{print $1}'` | ||
mins=`echo $1 | awk -F ':' '{print $2}'` | ||
secs=`echo $1 | awk -F ':' '{print $3}'` | ||
echo `awk 'BEGIN{printf "%.2f",('$secs' + '$mins' * 60 + '$hours' * 3600)}'` | ||
} | ||
|
||
function infer() { | ||
unset OMP_NUM_THREADS MKL_NUM_THREADS OMP_DYNAMIC KMP_AFFINITY | ||
topology=$1 | ||
layer_num=$2 | ||
bs=$3 | ||
thread=`nproc` | ||
if [ $thread -gt $bs ]; then | ||
thread=$bs | ||
fi | ||
log="logs/infer-${topology}-${layer_num}-${thread}openblas-${bs}.log" | ||
|
||
models_in="models/${topology}-${layer_num}/pass-00000/" | ||
if [ ! -d $models_in ]; then | ||
echo "./run_mkl_infer.sh to save the model first" | ||
exit 0 | ||
fi | ||
log_period=$((32 / bs)) | ||
paddle train --job=test \ | ||
--config="${topology}.py" \ | ||
--use_mkldnn=False \ | ||
--use_gpu=False \ | ||
--trainer_count=$thread \ | ||
--log_period=$log_period \ | ||
--config_args="batch_size=${bs},layer_num=${layer_num},is_infer=True,num_samples=256" \ | ||
--init_model_path=$models_in \ | ||
2>&1 | tee ${log} | ||
|
||
# calculate the last 5 logs period time of 160(=32*5) samples, | ||
# the time before are burning time. | ||
start=`tail ${log} -n 7 | head -n 1 | awk -F ' ' '{print $2}' | xargs` | ||
end=`tail ${log} -n 2 | head -n 1 | awk -F ' ' '{print $2}' | xargs` | ||
start_sec=`clock_to_seconds $start` | ||
end_sec=`clock_to_seconds $end` | ||
fps=`awk 'BEGIN{printf "%.2f",(160 / ('$end_sec' - '$start_sec'))}'` | ||
echo "Last 160 samples start: ${start}(${start_sec} sec), end: ${end}(${end_sec} sec;" >> ${log} | ||
echo "FPS: $fps images/sec" 2>&1 | tee -a ${log} | ||
} | ||
|
||
if [ ! -f "train.list" ]; then | ||
echo " " > train.list | ||
fi | ||
if [ ! -f "test.list" ]; then | ||
echo " " > test.list | ||
fi | ||
if [ ! -d "logs" ]; then | ||
mkdir logs | ||
fi | ||
|
||
# inference benchmark | ||
for batchsize in 1 2 4 8 16; do | ||
infer vgg 19 $batchsize | ||
infer resnet 50 $batchsize | ||
infer googlenet v1 $batchsize | ||
infer alexnet 2 $batchsize | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
set -e | ||
|
||
function train() { | ||
unset OMP_NUM_THREADS MKL_NUM_THREADS OMP_DYNAMIC KMP_AFFINITY | ||
topology=$1 | ||
layer_num=$2 | ||
bs=$3 | ||
thread=`nproc` | ||
# each trainer_count use only 1 core to avoid conflict | ||
log="logs/train-${topology}-${layer_num}-${thread}openblas-${bs}.log" | ||
args="batch_size=${bs},layer_num=${layer_num}" | ||
config="${topology}.py" | ||
paddle train --job=time \ | ||
--config=$config \ | ||
--use_mkldnn=False \ | ||
--use_gpu=False \ | ||
--trainer_count=$thread \ | ||
--log_period=3 \ | ||
--test_period=30 \ | ||
--config_args=$args \ | ||
2>&1 | tee ${log} | ||
|
||
avg_time=`tail ${log} -n 1 | awk -F ' ' '{print $8}' | sed 's/avg=//'` | ||
fps=`awk 'BEGIN{printf "%.2f",('$bs' / '$avg_time' * 1000)}'` | ||
echo "FPS: $fps images/sec" 2>&1 | tee -a ${log} | ||
} | ||
|
||
if [ ! -f "train.list" ]; then | ||
echo " " > train.list | ||
fi | ||
if [ ! -d "logs" ]; then | ||
mkdir logs | ||
fi | ||
|
||
# training benchmark | ||
for batchsize in 64 128 256; do | ||
train vgg 19 $batchsize | ||
train resnet 50 $batchsize | ||
train googlenet v1 $batchsize | ||
train alexnet 2 $batchsize | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.