计算rank1脚本

计算rank1脚本
s_r1=0
s_r5=0
s_r10=0
s_r20=0
echo "Sp_ID Rank-1 Rank-5 Rank-10 Rank-20" > te.txt
function getdir(){
  for element in `ls $1`
    do
      dir_or_file=$1"/"$element
      if [ -d $dir_or_file ] 
      then
         best_rank1=$(grep rank-1 $dir_or_file"/log_train.txt") # grep the line: best rank-1 {} occured at epoch {}
         best_r1_value=${best_rank1:12:5} # get the rank-1 value, e.g, 90.00
         best_epoch=${best_rank1:36:3}
         best_epoch_add=$(($best_epoch+1))
         best_all_rank=$(grep "==> Epoch "$best_epoch -A 15 $dir_or_file"/log_train.txt" > temp.txt)
         best_r5_value=$(grep Rank-5 temp.txt)
         best_r10_value=$(grep Rank-10 temp.txt)
         best_r20_value=$(grep Rank-20 temp.txt)
         best_r5_value=${best_r5_value##*:}
         best_r10_value=${best_r10_value##*:}
         best_r20_value=${best_r20_value##*:}
         best_r5_value=${best_r5_value%*%}
         best_r10_value=${best_r10_value%*%}
         best_r20_value=${best_r20_value%*%}         
         echo ${element:4:2} $best_r1_value $best_r5_value $best_r10_value $best_r20_value >> te.txt
         s_r1=$(echo "$s_r1+$best_r1_value" | bc)
         s_r5=$(echo "$s_r5+$best_r5_value" | bc)
         s_r10=$(echo "$s_r10+$best_r10_value" | bc)
         s_r20=$(echo "$s_r20+$best_r20_value" | bc)
      fi
done
ave_r1=$(echo " scale=3;$s_r1/10" | bc)
ave_r5=$(echo " scale=3;$s_r5/10" | bc)
ave_r10=$(echo " scale=3;$s_r10/10" | bc)
ave_r20=$(echo " scale=3;$s_r20/10" | bc)
echo "avg" $ave_r1 $ave_r5 $ave_r10 $ave_r20 >> te.txt
column -t te.txt > result.txt # format column 
rm te.txt
rm temp.txt
}
root_dir="."
getdir $root_dir

评论

此博客中的热门博文

使用ssh反向代理+shadowsocks实现内网穿透

shadowsocks中转

ubuntu 16.04 reboot命令慢的原因