Pyradiomics: рдорд▓реНрдЯреАрдереНрд░реЗрдб рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдЬрдире░ 2020  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: AIM-Harvard/pyradiomics

рдкреНрд░рд┐рдп рд╕рднреА, рдЗрд╕ рдЕрдЪреНрдЫреЗ рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╢рдВрдХрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ:

рдореИрдВ рд▓рдЧрднрдЧ 400 рдЫрд╡рд┐ + рдореБрдЦреМрдЯрд╛ рдХреЙрдореНрдмреЛ (рдПрдХ рд╕реАрдПрд╕рд╡реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ) рдХреЗ рдПрдХ рдмреИрдЪ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЪреВрдВрдХрд┐ рдореИрдВ рд▓рдЧрднрдЧ 50 рдмрд┐рдирд╡рд┐рдбреНрде/рдмрд┐рдирдХрд╛рдЙрдВрдЯ рд╕реНрдХреИрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдФрд░ рдореИрдВ рдЗрд╕реЗ -j 24 рдкреИрд░рд╛рдореАрдЯрд░ (24 рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ 2x Xeon 6Core HT (рдХреБрд▓ рддрд╛рд░реНрдХрд┐рдХ рдХреЛрд░ = 24) рдФрд░ рд▓рдЧрднрдЧ 200GB RAM рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ CPU рд╕рдордп рдХреЗ рдПрдХ рдЕрдВрд╢ рдореЗрдВ рд╣реА 100% рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ? рдХреНрдпрд╛ рдХреБрдЫ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХреЛрдИ рдЕрдбрд╝рдЪрди рд╣реИ рдЬрд┐рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЬрд╛рд╣рд┐рд░ рд╣реИ рдореИрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд╣реАрдВ, рдпрд╛рдиреА рдореИрдВ рдЕрдЧрд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рддрднреА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рдкрд╣рд▓рд╛ рдмреИрдЪ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг:

bC="8 12 16 22 32 64 43 128 171 256 341 512 682 1024"
for i in $bC
do
  pyradiomics ./input/input_dyn.csv --param ./json/RadiomicsLogicParams_all.json --setting 
  "binCount:${i}" --setting "normalize:false" -o ./output/all_stackedOut.csv -f csv -j 24 -v 4
done

рд╕реНрдХреНрд░реАрди
Screenshot 2020-01-04 at 13 20 14

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!!

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ CPU рд╕рдордп рдХреЗ рдПрдХ рдЕрдВрд╢ рдореЗрдВ рд╣реА 100% рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ? рдХреНрдпрд╛ рдХреБрдЫ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХреЛрдИ рдЕрдбрд╝рдЪрди рд╣реИ рдЬрд┐рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рд╣рд╛рдБ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рдпрд╣ PyRadiomics рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рд╣рд╛рдБ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рдпрд╣ PyRadiomics рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдЧреБрдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ?
рдХреНрдпрд╛ рдпрд╣ рдЖрдо рд╣реИ?

рд╣рд╛рдБ рдЙрди рддреАрдиреЛрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдПред рдЧреВрдврд╝ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреИрд╕рд╛ рд╣реИ?

рдореИрдВ рдЙрдмрдВрдЯреВ 19.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рдУрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдзрд╛рдЧрд╛ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА UEFI рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд╕реЗрд╡рд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░ рд▓реА рд╣реИ ....

рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛? рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдирдпрд╛ рдЧреБрдкреНрдд рд╡рд░реНрд╖ рдореБрдмрд╛рд░рдХред

рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рд╕реАрдкреАрдпреВ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

100% CPU рдХреЛрд░ рдЙрдкрдпреЛрдЧ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХреЛрд░ рдорд╢реАрди рд╣реЛрддреА рддреЛ рд╢рд╛рдпрдж рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ 100% рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рддреА, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреЛ рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕, рдиреЗрдЯрд╡рд░реНрдХ рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреА рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрд░ рдХреЛ рд╢рд╛рдпрдж рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рднреА рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдХрд░реНрдиреЗрд▓ (рдпрд╛ рдЖрдкрдХреА рд╕реНрдХреНрд░реАрди рдЬрдо рдЬрд╛рдПрдЧреА рдЖрджрд┐)ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк 100% рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдб рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдХреЛрдб рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рдорд╛рдирд╛рдВрддрд░ рд▓рд╛рдн рд╢рд╛рдпрдж рд╣реА рдХрднреА рдереНрд░реЗрдбрдХрд╛рдЙрдВрдЯ рдХреЗ рд╕рд╛рде рд░реИрдЦрд┐рдХ рд╕рдВрдмрдВрдз рд░рдЦрддреЗ рд╣реИрдВред

рддреЛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд░ рдореИрдВ -j 1 рдХреЗ рд╕рд╛рде 24 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╛рдЗрд░реЗрдбрд┐рдпреЛрдорд┐рдХреНрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╡рд╣реА рдкреНрд░рднрд╛рд╡ рдорд┐рд▓реЗрдЧрд╛, рд╣реИ рдирд╛?
рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рдПрдХреНрд╕реЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рд╣реИ ..

рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рд╕реАрдкреАрдпреВ рдХреЗ 70% рд╕реЗ рдиреАрдЪреЗ рдЧрд┐рд░рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рдкрд╛рдЗрд░рд╛рдбрд┐рдпреЛрдорд┐рдХреНрд╕ рдирд┐рд╖реНрдХрд░реНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдиреБрдЕрд▓ рдЪреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдПрдХ рдЙрдЪрд┐рдд CPU рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ (>рд╕рднреА рддрд╛рд░реНрдХрд┐рдХ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде 50%, рдЕрд░реНрдерд╛рдд рд╣рдореЗрд╢рд╛ 100% рдЙрдкрдпреЛрдЧ)

wait4CpuReady () {
  cpuUsed=5 #debouncer
  while  [ ${cpuUsed} -gt 0 ] || [ $(top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}') -ge 70 ]
  do
    sleep 5
    if [ ${cpuUsed} -gt 0 ] && [ $(top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}') -ge 70 ]
    then
      cpuUsed=5
    else
      ((cpuUsed--))
      echo "CPU not used, debouncer = ${cpuUsed}"
    fi
  done
}

bW="$(seq -s ' ' 1 1 9) $(seq -s ' ' 10 2 28) $(seq -s ' ' 30 3 60)"


for i in $bW
do
  wait4CpuReady

  echo -e "\e[41m#########################################################################################\e[0m"
  echo -e "\e[41m#### Starting computing all features for all_times and SUB - NONnorm and binWidth $i ####\e[0m"
  echo -e "\e[41m#########################################################################################\e[0m"

  pyradiomics ./input/input_all_msub.csv --param ./json/RadiomicsLogicParams_all_noWarningGLCM.json --setting "binWidth:${i}.0" --setting "normalize:false" -o ./output/manualOut/all_allTmSub_stackedOut_bw${i}.csv -f csv -j 3 -v 4 &
done

Screenshot 2020-01-05 at 21 12 25

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

GitHub-username-hyphen picture GitHub-username-hyphen  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sandfis picture sandfis  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mattwarkentin picture mattwarkentin  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GiulioBen picture GiulioBen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Thibescobar picture Thibescobar  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ