commit
a061a85eaf
@ -0,0 +1,86 @@
|
||||
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
|
||||
use_mkldnn=$4
|
||||
if [ $4 == "True" ]; then
|
||||
thread=1
|
||||
log="logs/infer-${topology}-${layer_num}-mkldnn-${bs}.log"
|
||||
elif [ $4 == "False" ]; then
|
||||
thread=`nproc`
|
||||
if [ $thread -gt $bs ]; then
|
||||
thread=$bs
|
||||
fi
|
||||
log="logs/infer-${topology}-${layer_num}-${thread}mklml-${bs}.log"
|
||||
else
|
||||
echo "Wrong input $4, use True or False."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
models_in="models/${topology}-${layer_num}/pass-00000/"
|
||||
if [ ! -d $models_in ]; then
|
||||
echo "Training model ${topology}_${layer_num}"
|
||||
paddle train --job=train \
|
||||
--config="${topology}.py" \
|
||||
--use_mkldnn=True \
|
||||
--use_gpu=False \
|
||||
--trainer_count=1 \
|
||||
--num_passes=1 \
|
||||
--save_dir="models/${topology}-${layer_num}" \
|
||||
--config_args="batch_size=128,layer_num=${layer_num}" \
|
||||
> /dev/null 2>&1
|
||||
echo "Done"
|
||||
fi
|
||||
log_period=$((256 / bs))
|
||||
paddle train --job=test \
|
||||
--config="${topology}.py" \
|
||||
--use_mkldnn=$use_mkldnn \
|
||||
--use_gpu=False \
|
||||
--trainer_count=$thread \
|
||||
--log_period=$log_period \
|
||||
--config_args="batch_size=${bs},layer_num=${layer_num},is_infer=True" \
|
||||
--init_model_path=$models_in \
|
||||
2>&1 | tee ${log}
|
||||
|
||||
# calculate the last 5 logs period time of 1280 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",(1280 / ('$end_sec' - '$start_sec'))}'`
|
||||
echo "Last 1280 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
|
||||
if [ ! -d "models" ]; then
|
||||
mkdir -p models
|
||||
fi
|
||||
|
||||
# inference benchmark
|
||||
for use_mkldnn in True False; do
|
||||
for batchsize in 1 2 4 8 16; do
|
||||
infer googlenet v1 $batchsize $use_mkldnn
|
||||
infer resnet 50 $batchsize $use_mkldnn
|
||||
infer vgg 19 $batchsize $use_mkldnn
|
||||
done
|
||||
done
|
@ -0,0 +1,18 @@
|
||||
======================
|
||||
Fluid
|
||||
======================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
fluid/layers.rst
|
||||
fluid/data_feeder.rst
|
||||
fluid/executor.rst
|
||||
fluid/initializer.rst
|
||||
fluid/evaluator.rst
|
||||
fluid/nets.rst
|
||||
fluid/optimizer.rst
|
||||
fluid/param_attr.rst
|
||||
fluid/profiler.rst
|
||||
fluid/regularizer.rst
|
||||
|
@ -0,0 +1,9 @@
|
||||
===========
|
||||
DataFeeder
|
||||
===========
|
||||
|
||||
DataFeeder
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.data_feeder
|
||||
:members: DataFeeder
|
||||
:noindex:
|
@ -0,0 +1,9 @@
|
||||
===========
|
||||
Evaluator
|
||||
===========
|
||||
|
||||
Evaluator
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.evaluator
|
||||
:members: Evaluator
|
||||
:noindex:
|
@ -0,0 +1,9 @@
|
||||
===========
|
||||
Executor
|
||||
===========
|
||||
|
||||
Executor
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.executor
|
||||
:members: Executor
|
||||
:noindex:
|
@ -0,0 +1,50 @@
|
||||
===========
|
||||
Initializer
|
||||
===========
|
||||
|
||||
|
||||
|
||||
Initializer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.initializer
|
||||
:members: Initializer
|
||||
:noindex:
|
||||
|
||||
|
||||
|
||||
ConstantInitializer
|
||||
-------------------
|
||||
.. automodule:: paddle.v2.fluid.initializer
|
||||
:members: ConstantInitializer
|
||||
:noindex:
|
||||
|
||||
|
||||
|
||||
UniformInitializer
|
||||
------------------
|
||||
.. automodule:: paddle.v2.fluid.initializer
|
||||
:members: UniformInitializer
|
||||
:noindex:
|
||||
|
||||
|
||||
|
||||
NormalInitializer
|
||||
-----------------
|
||||
.. automodule:: paddle.v2.fluid.initializer
|
||||
:members: NormalInitializer
|
||||
:noindex:
|
||||
|
||||
|
||||
XavierInitializer
|
||||
-----------------
|
||||
.. automodule:: paddle.v2.fluid.initializer
|
||||
:members: XavierInitializer
|
||||
:noindex:
|
||||
|
||||
|
||||
MSRAInitializer
|
||||
---------------
|
||||
.. automodule:: paddle.v2.fluid.initializer
|
||||
:members: MSRAInitializer
|
||||
:noindex:
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,22 @@
|
||||
===========
|
||||
Nets
|
||||
===========
|
||||
|
||||
simple_img_conv_pool
|
||||
-----------
|
||||
.. autofunction:: paddle.v2.fluid.nets.simple_img_conv_pool
|
||||
:noindex:
|
||||
|
||||
|
||||
img_conv_group
|
||||
-----------
|
||||
.. autofunction:: paddle.v2.fluid.nets.img_conv_group
|
||||
:noindex:
|
||||
|
||||
|
||||
sequence_conv_pool
|
||||
-----------
|
||||
.. autofunction:: paddle.v2.fluid.nets.sequence_conv_pool
|
||||
:noindex:
|
||||
|
||||
|
@ -0,0 +1,54 @@
|
||||
===========
|
||||
Optimizer
|
||||
===========
|
||||
|
||||
Optimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: Optimizer
|
||||
:noindex:
|
||||
|
||||
|
||||
SGDOptimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: SGDOptimizer
|
||||
:noindex:
|
||||
|
||||
|
||||
|
||||
MomentumOptimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: MomentumOptimizer
|
||||
:noindex:
|
||||
|
||||
|
||||
|
||||
AdagradOptimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: AdagradOptimizer
|
||||
:noindex:
|
||||
|
||||
|
||||
AdamOptimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: AdamOptimizer
|
||||
:noindex:
|
||||
|
||||
|
||||
AdamaxOptimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: AdamaxOptimizer
|
||||
:noindex:
|
||||
|
||||
|
||||
DecayedAdagradOptimizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.optimizer
|
||||
:members: DecayedAdagradOptimizer
|
||||
:noindex:
|
||||
|
@ -0,0 +1,11 @@
|
||||
===========
|
||||
ParamAttr
|
||||
===========
|
||||
|
||||
|
||||
|
||||
ParamAttr
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.param_attr
|
||||
:members: ParamAttr
|
||||
:noindex:
|
@ -0,0 +1,10 @@
|
||||
===========
|
||||
Profiler
|
||||
===========
|
||||
|
||||
|
||||
|
||||
Profiler
|
||||
-----------
|
||||
.. autofunction:: paddle.v2.fluid.profiler.cuda_profiler
|
||||
:noindex:
|
@ -0,0 +1,25 @@
|
||||
===========
|
||||
Regularizer
|
||||
===========
|
||||
|
||||
WeightDecayRegularizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.regularizer
|
||||
:members: WeightDecayRegularizer
|
||||
:noindex:
|
||||
|
||||
|
||||
L2DecayRegularizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.regularizer
|
||||
:members: L2DecayRegularizer
|
||||
:noindex:
|
||||
|
||||
|
||||
|
||||
L1DecayRegularizer
|
||||
-----------
|
||||
.. automodule:: paddle.v2.fluid.regularizer
|
||||
:members: L1DecayRegularizer
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue