wandreopoulos / deeplasmid

12 stars 2 forks source link

terminate called after throwing an instance of 'Xbyak::Error' #5

Open tianrenmaogithub opened 1 year ago

tianrenmaogithub commented 1 year ago

Hi. I installed docker on Fedora 36 and ran Deeplasmid following the instruction. Below is my command: docker run -it -v /media/Data_1/tianrm/projects/plasmid_identification/3/test/1.fasta:/srv/jgi-ml/classifier/dl/in.fasta -v /media/Data_1/tianrm/projects/plasmid_identification/3/test:/srv/jgi-ml/classifier/dl/outdir billandreo/deeplasmid feature_DL_plasmid_predict.sh in.fasta outdir

Below is the screen output:

Deeplasmid - Plasmid finder for microbial genome assemblies. Running feature_DL_plasmid_predict.sh . This .sh script is meant for running Deeplasmid from the Docker image. Usage: please specify 2 arguments - the input fasta file and output directory - as follows: docker run -it -v /path/to/input/fasta:/srv/jgi-ml/classifier/dl/in.fasta -v /path/to/output/directory:/srv/jgi-ml/classifier/dl/outdir billandreo/deeplasmid feature_DL_plasmid_predict.sh in.fasta outdir Contact person: Bill Andreopoulos, wandreopoulos@lbl.gov Last maintained: January 12, 2020 Using 20220810_212427 for outdir suffix ('oneHot base, size=', 15, ', sample:') ('base:', 'A', '1-hot:', [1.0, 0.0, 0.0, 0.0]) ('base:', 'C', '1-hot:', [0.0, 1.0, 0.0, 0.0]) ('base:', 'T', '1-hot:', [0.0, 0.0, 1.0, 0.0]) ('base:', 'G', '1-hot:', [0.0, 0.0, 0.0, 1.0]) ('all bases :', ['A', 'C', 'B', 'D', 'G', 'H', 'K', 'M', 'N', 'S', 'R', 'T', 'W', 'V', 'Y']) ('use seqLenCut=', 300) Cannot find outdir/dlFeatures.20220810_212427, creating as new cpu_count() = 128

Creating pool with 16 processes

    list1(pool.imap(multiproc_pool, jobs_to_run(12), chunksize=0)):
            2.50339508057e-05 seconds

Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. Job finished with success. list2(pool.imap(multiproc_pool, jobs_to_run(12), chunksize=0)): 27.7757000923 seconds Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. Status of a done job: Job finished with success. TOTAL_RUNTIME: 28.2753281593 exiting........ Using CNTK backend terminate called after throwing an instance of 'Xbyak::Error' what(): internal error /srv/jgi-ml/classifier/dl/feature_DL_plasmid_predict.sh: line 66: 296724 Aborted (core dumped) python3 $PARENT/format_predict.py --inputfasta $FASTA --inputyml $OUT/dlFeatures.$DATETIME/yml --dataPath $OUT/dlDataFormattedPred.$DATETIME --outPath $OUT/outPR.$DATETIME --no-Xterm

Do you have any suggestion? Is it due to the operating system (Fedora 36)?

tianrenmaogithub commented 1 year ago

It turned out to be the issue of CNTK's version and my CPUs. I then changed to deeplasmid-cpu-ubuntu and it worked. My operating system Fedora does not matter.

wandreopoulos commented 1 year ago

Hello Tianren @tianrenmaogithub :

Yes the deeplasmid-cpu-ubuntu works on my Linux box as well, while the deeplasmid image works on my MacBook. There are some architecture differences that affected those Docker images, probably because they were built on CNTK (those images are a bit old).

I just released a new Docker image for GPUs, that is built on tensorflow/tensorflow:latest-gpu. I left the CNTK stuff behind and moved to TensorFlow.

As described in the README, the usage is much simpler. For example: docker pull billandreo/deeplasmid.tf.gpu2 sudo /usr/bin/docker run -it -v /path/to/fasta:/srv/jgi-ml/classifier/dl/in.fasta -v /path/to/OUT/dir:/srv/jgi-ml/classifier/dl/outdir billandreo/deeplasmid.tf.gpu2 deeplasmid.sh in.fasta outdir

I provided a new Dockerfile.GPU2 as well, in case you need to rebuild it. sudo docker build -t billandreo/deeplasmid.tf.gpu2 -f Dockerfile.GPU2 .

arunprasanna83 commented 9 months ago

Hello Andreo, I got the same error in Macbookpro with Apple M2 pro chip. Please let me know the steps to pull and build for this chip. Thanks.

tianrenmaogithub commented 9 months ago

Hello Andreo, I got the same error in Macbookpro with Apple M2 pro chip. Please let me know the steps to pull and build for this chip. Thanks.

I ended up developing an accurate and fast model called PlasmidHunter.

arunprasanna83 commented 9 months ago

Hello Andreo, I got the same error in Macbookpro with Apple M2 pro chip. Please let me know the steps to pull and build for this chip. Thanks.

I ended up developing an accurate and fast model called PlasmidHunter.

Hi, I tried installing the local version using conda. But there seems to be conflict with the following:

ModuleNotFoundError: No module named 'sklearn.ensemble._forest'

It is discussed that the module sklearn.ensemble.forest is renamed to sklearn.ensemble._forest and seems to be conflicting. I tried installing the old version in same conda environment. But it doesn't help. !