diff --git a/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/calc_fps.py b/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/calc_fps.py new file mode 100644 index 0000000000000000000000000000000000000000..8302ba725f40aa93c0dc2faa8f92f9f95e897d9a --- /dev/null +++ b/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/calc_fps.py @@ -0,0 +1,40 @@ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the BSD 3-Clause License (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://opensource.org/licenses/BSD-3-Clause +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import json +import sys + +f = open(sys.argv[1], 'r') +gpu_nums = int(sys.argv[2]) +batch_size = int(sys.argv[3]) + +epoch = 0 +cnt = 0 +fps = 0 +total_fps = 0 +for data in f: + line = json.loads(data) + if not 'mode' in line: + pass + elif line['mode'] == 'train': + # ignore first 50 iters + if line['iter'] > 50: + cnt = cnt + 1 + fps = fps + gpu_nums * batch_size / line['time'] + elif line['mode'] == 'val': + epoch = epoch + 1 + print({'epoch': epoch, 'fps': fps / cnt}) + total_fps = total_fps + fps / cnt + cnt = 0 + fps = 0 +print({'fps': total_fps / epoch}) diff --git a/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_full_8p.sh b/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_full_8p.sh index 47fce779e66645b545dec1660fa6a2c186365aae..a2e0ef672a00d1695aec6bf34f68c0824d01e6f3 100644 --- a/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_full_8p.sh +++ b/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_full_8p.sh @@ -64,7 +64,7 @@ etp_flag=`echo ${check_etp_flag#*=}` if [ x"${etp_flag}" != x"true" ];then source ../test/env_npu.sh fi -python3.7 ./tools/train.py ./configs/fsaf/fsaf_r50_fpn_1x_coco.py 8 > ${test_path_dir}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & +PORT=29888 ./tools/dist_train.sh ./configs/fsaf/fsaf_r50_fpn_1x_coco.py 8 > ${test_path_dir}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & wait diff --git a/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_performance_8p.sh b/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_performance_8p.sh index 8b0faa1eceb329090caebf7af51373f2306952ed..0ce29eb52ae9696082da3254ae8b5be901246337 100644 --- a/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_performance_8p.sh +++ b/PyTorch/contrib/cv/detection/FSAF_for_Pytorch/test/train_performance_8p.sh @@ -68,7 +68,7 @@ etp_flag=`echo ${check_etp_flag#*=}` if [ x"${etp_flag}" != x"true" ];then source ../test/env_npu.sh fi -python3.7 ./tools/train.py ./configs/fsaf/fsaf_r50_fpn_1x_coco.py 8 > ${test_path_dir}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & +PORT=29888 ./tools/dist_train.sh ./configs/fsaf/fsaf_r50_fpn_1x_coco.py 8 > ${test_path_dir}/output/${ASCEND_DEVICE_ID}/train_${ASCEND_DEVICE_ID}.log 2>&1 & wait