kundajelab / dragonn

A toolkit to learn how to model and interpret regulatory sequence data using deep learning.
http://kundajelab.github.io/dragonn/
MIT License
254 stars 71 forks source link

dragonn running issue #38

Closed huqiwen0313 closed 6 years ago

huqiwen0313 commented 7 years ago

Thanks a lot for making this great package ! I installed the package using "conda install dragonn -c kundajelab" and it did not report any error, but when I run the example

dragonn train --pos-sequences examples/example_pos_sequences.fa --neg-sequences examples/example_neg_sequences.fa --prefix training_example

I got the following error:

loading sequence data... initializing model... Using Theano backend. ERROR (theano.gof.opt): Optimization failure due to: constant_folding ERROR (theano.gof.opt): node: DimShuffle{}(TensorConstant{35}) ERROR (theano.gof.opt): TRACEBACK: ERROR (theano.gof.opt): Traceback (most recent call last): File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/opt.py", line 1772, in process_node replacements = lopt.transform(node) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/tensor/opt.py", line 5863, in constant_folding no_recycling=[]) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/op.py", line 978, in make_thunk no_recycling) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/op.py", line 881, in make_c_thunk output_storage=node_output_storage) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/cc.py", line 1200, in make_thunk keep_lock=keep_lock) ...

It seems the error is from keras package, but I am not sure about it. Any suggestions about how to fix this problem ? The python version I use is Python 2.7.13 :: Anaconda custom (64-bit)

Thanks a lot !

jisraeli commented 7 years ago

@huqiwen0313: Thank you for reporting this issue. The error traceback points to the theano package but I'm not sure what's causing this. Can you run pip show theano and check which version of theano you are running?

huqiwen0313 commented 7 years ago

@jisraeli

Thanks a lot for the quick reply. Below is the information of theano. Name: Theano Version: 0.8.0 Summary: Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs. Home-page: http://deeplearning.net/software/theano/ Author: LISA laboratory, University of Montreal Author-email: theano-dev@googlegroups.com License: BSD

jisraeli commented 7 years ago

Let's see if updating theano will resolve this. Can you run pip install theano==0.10.0beta1 to update to the latest released version of theano and try running the example again?

huqiwen0313 commented 7 years ago

Hi @jisraeli ,

I still got the errors:

loading sequence data... initializing model... Using Theano backend. /home/hu/anaconda2/lib/python2.7/site-packages/keras/backend/theano_backend.py:788: UserWarning: DEPRECATION: the 'ds' parameter is not going to exist anymore as it is going to be replaced by the parameter 'ws'. mode='max') /home/hu/anaconda2/lib/python2.7/site-packages/keras/backend/theano_backend.py:788: UserWarning: DEPRECATION: the 'st' parameter is not going to exist anymore as it is going to be replaced by the parameter 'stride'. mode='max') /home/hu/anaconda2/lib/python2.7/site-packages/keras/backend/theano_backend.py:788: UserWarning: DEPRECATION: the 'padding' parameter is not going to exist anymore as it is going to be replaced by the parameter 'pad'. mode='max') /home/hu/anaconda2/lib/python2.7/site-packages/theano/tensor/basic.py:2117: UserWarning: theano.tensor.round() changed its default from half_away_from_zero to half_to_even to have the same default as NumPy. Use the Theano flag warn.round=False to disable this warning. "theano.tensor.round() changed its default from" ERROR (theano.gof.opt): Optimization failure due to: constant_folding ERROR (theano.gof.opt): node: InplaceDimShuffle{x}(TensorConstant{0}) ERROR (theano.gof.opt): TRACEBACK: ERROR (theano.gof.opt): Traceback (most recent call last): File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/opt.py", line 1995, in process_node replacements = lopt.transform(node) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/tensor/opt.py", line 6509, in constant_folding no_recycling=[], impl=impl) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/op.py", line 955, in make_thunk no_recycling) File "/home/hu/anaconda2/lib/python2.7/site-packages/theano/gof/op.py", line 858, in make_c_thunk ...

My theano version now is: Name: Theano Version: 0.10.0b1

Thanks a lot !

jisraeli commented 7 years ago

@huqiwen0313: I found out today there is at least one more user that gets the same warnings and errors. I will take a closer look at this issue tomorrow and follow up soon.

jisraeli commented 7 years ago

@huqiwen0313: Let's try running the example commands in the docker image we use for our workshops -

  1. Download docker from https://docs.docker.com/engine/installation/
  2. Run docker pull kundajelab/dragonn:GTC to pull the docker image for dragonn (this is what we use for cloud instances at our workshops)
  3. Run docker run -it kundajelab/dragonn:GTC bash to open a bash shell in the container
  4. Run the example command dragonn train --pos-sequences examples/example_pos_sequences.fa --neg-sequences examples/example_neg_sequences.fa --prefix training_example

The initial printout after running the example command:

loading sequence data...
initializing model...
Using Theano backend.
WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10).  Please switch to the gpuarray backend. You can get more information about how to switch at this URL:
 https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29

WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available  (error: Unable to get the number of gpus available: CUDA driver version is insufficient for CUDA runtime version)
/opt/conda/lib/python2.7/site-packages/keras/backend/theano_backend.py:788: UserWarning: DEPRECATION: the 'ds' parameter is not going to exist anymore as it is going to be replaced by the parameter 'ws'.
  mode='max')
/opt/conda/lib/python2.7/site-packages/keras/backend/theano_backend.py:788: UserWarning: DEPRECATION: the 'st' parameter is not going to exist anymore as it is going to be replaced by the parameter 'stride'.
  mode='max')
/opt/conda/lib/python2.7/site-packages/keras/backend/theano_backend.py:788: UserWarning: DEPRECATION: the 'padding' parameter is not going to exist anymore as it is going to be replaced by the parameter 'pad'.
  mode='max')
/opt/conda/lib/python2.7/site-packages/theano/tensor/basic.py:2146: UserWarning: theano.tensor.round() changed its default from `half_away_from_zero` to `half_to_even` to have the same default as NumPy. Use the Theano flag `warn.round=False` to disable this warning.
  "theano.tensor.round() changed its default from"
WARNING (theano.configdefaults): install mkl with `conda install mkl-service`: No module named mkl
starting model training...
Training model (* indicates new best result)...
Epoch 1:
Train Loss: 0.6982  Balanced Accuracy: 52.05%    auROC: 0.535    auPRC: 0.527
    Recall at 5%|10%|20% FDR: 0.1%|0.1%|0.1%     Num Positives: 1994     Num Negatives: 2006
Valid Loss: 0.7072  Balanced Accuracy: 48.42%    auROC: 0.495    auPRC: 0.509
    Recall at 5%|10%|20% FDR: 0.8%|0.8%|1.0%     Num Positives: 506  Num Negatives: 494 *