tianshilu / pMTnet

Deep Learning the T Cell Receptor Binding Specificity of Neoantigen
GNU General Public License v2.0
76 stars 20 forks source link

Layer lstm_2 will not use cuDNN kernels since it doesn't meet the criteria. #11

Open Whale-fall opened 2 years ago

Whale-fall commented 2 years ago

Hi, when I try to use pMTnet a waring appears looks like this: 2022-05-16 10:04:14.706952: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2022-05-16 10:04:16.631750: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 10791 MB memory: -> device: 0, name: Tesla K80, pci bus id: 0000:86:00.0, compute capability: 3.7 2022-05-16 10:04:16.635577: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 10791 MB memory: -> device: 1, name: Tesla K80, pci bus id: 0000:87:00.0, compute capability: 3.7 2022-05-16 10:04:18.266973: I tensorflow/stream_executor/cuda/cuda_dnn.cc:366] Loaded cuDNN version 8100 WARNING:tensorflow:Layer lstm_2 will not use cuDNN kernels since it doesn't meet the criteria. It will use a generic GPU kernel as fallback when running on GPU. WARNING:tensorflow:Layer lstm_1 will not use cuDNN kernels since it doesn't meet the criteria. It will use a generic GPU kernel as fallback when running on GPU. And I found GPU did not help at all compared to CPU version. image Can you help me find what‘s wrong? I want to speed up the prediction.I am using tensorflow2.7.0 and python 3.8.5.Thanks!!

Whale-fall commented 2 years ago

sorry for my poor English, Do you need more info?

tianshilu commented 2 years ago

Hi @Whale-fall,

Thanks for your interest in our study. This problem is related to the computing environment. The model should still run despite the warnings. If you would like to use cuDNN for acceleration, please refer to the following post. https://www.tensorflow.org/api_docs/python/tf/keras/layers/LSTM.

Thanks!

Whale-fall commented 2 years ago

Hi! I am sorry to reply so late. I understand if cuDNN is unavailable.However,I noticed that when I run pMTnet, GPU computing power is basically unused.When tested on a file containing 1000 rows, It spends about 3mins!

image

My code looks like this:

time python /home/yiliang/software/pMTnet/pMTnet.py \
        -input test.input \
        -library /home/yiliang/software/pMTnet/library \
        -output ./ -output_log ./test_log &

However, from my perspective, It is conflicts with the performance claimed in this issue. It says pMTnet can finish prediction in 2mins on a file containing 2M rows. Can you help me fix this?

This is My env info:

keras                     2.4.3              pyhd8ed1ab_0    conda-forge
keras-preprocessing       1.1.2              pyhd8ed1ab_0    conda-forge
numpy                     1.19.5           py37h3e96413_3    conda-forge
pandas                    1.3.5            py37he8f5f7f_0    conda-forge
python                    3.7.12          hf930737_100_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-flatbuffers        2.0                pyhd8ed1ab_0    conda-forge
python_abi                3.7                     2_cp37m    conda-forge
scikit-learn              1.0.2            py37hf9e9bfc_0    conda-forge
scipy                     1.7.3            py37h492baa0_0    defaults
tensorflow                2.4.1           gpu_py37ha2e99fa_0    defaults
tensorflow-base           2.4.1           gpu_py37h29c2da4_0    defaults
tensorflow-estimator      2.6.0            py37hcd2ae1e_0    conda-forge
tensorflow-gpu            2.4.1                h30adc30_0    defaults
Whale-fall commented 2 years ago

image @tianshilu @Akazhiel