weberlab-hhu / Helixer

Using Deep Learning to predict gene annotations
GNU General Public License v3.0
165 stars 29 forks source link

What --cpus CPUS means #152

Open xiekunwhy opened 6 days ago

xiekunwhy commented 6 days ago

Describe the bug --cpus option in HybridModel.py seems not work

To Reproduce

singularity run /public2/home/sl_qybio/sl_qybio/software/biosoft/HelixerDocker/helixer.sif HybridModel.py --overlap --val-test-batch-size 32 -v --cpus 4 --prediction-output-path /public2/home/sl_qybio/sl_qybio/project/2024/QY240516GA057_LanHua_genome/QY240516GA057_std_3_annot/pipe/05.abinitio/helixer/02.predict/Chr01-1-10000000.predict.h5 --load-model-path /public2/home/sl_qybio/sl_qybio/software/biosoft/Helixer/models/land_plant_v0.3_a_0080.h5 --test-data /public2/home/sl_qybio/sl_qybio/project/2024/QY240516GA057_LanHua_genome/QY240516GA057_std_3_annot/pipe/05.abinitio/helixer/01.fasta2h5/Chr01-1-10000000.h5

Error --cpus 4 , use not only 4 cpus but over 60 cpus image

Environment (please complete the following information):

felicitas215 commented 3 days ago

Hi, thank you for your message. First of, yes --cpus is deprecated. It doesn't appear in the Helixer options documentation (https://github.com/weberlab-hhu/Helixer/blob/main/docs/helixer_options.md) and in the arguments list when using -h/--help in version 0.3.4. If you want to set multiple CPU cores to fetch the input data, you would need to use --workers. This is however just for training the model, for prediction it is not necessary/implemented. Second, you didn't set singularity run --nv ... for a process that is recommended to and can use the GPU, your system is using the CPU cores to predict, resulting in the high CPU usage.

felicitas215 commented 3 days ago

I'm sorry, we apparently forgot to suppress this argument when using the help function. This will be fixed soon.