AlphaFold安装——非docker镜像(3)
前两天更新的文章已经是安装的全过程了,但是当时我运行后有出现了一些问题。好巧不巧,最近两天医院附近有了确诊病例,所以没法去实验室,都在宿舍居家学习,昨天和今天一直在调代码,遇到问题解决问题——最高效的学习方法,当然不止在装这个,还在看文献,学习,毕竟过了这个学期就是研二,课题该定个大致的思路了。前几天个小导师去健身的路上还在说这个问题,她希望这三年内一个学生可以出两篇文章,我觉得这算得上是合情合理。
一个假期时间,感觉自己想明白很多事情,什么年纪就该做好什么年纪该做的事情。任何事情都急不得,人生来就是克服困难的,哪有那么多一路顺风,否极泰来!现实生活中最多的是万事开头难,中间难,结尾依旧难!所以坦然面对生活中的问题和困难吧,该属于你的总会得到,面包和牛奶通过自己的努力和付出都会得到!
这个学期来实验室以后,大胆和导师沟通,有问题不过夜,尽量做到当日事当日毕,作息也变得规律,生活充实了很多,亲眼看着自己一步步变好:因为要八点前打卡,所以不得已每天早上六点五十起床,七点二十五左右出门去实验室,打卡逼我早睡早起,而且还按时吃早餐!现在每天中午会抽出一个小时时间运动,无论是去健身房还是在实验室楼道“黑人走路”,已经坚持很久了。运动完快乐高效一个下午加晚上,晚上九点半以后回宿舍收拾就休息,很喜欢也很享受这种生活。看着自己一步步变好,真好!
言归正传!出现error了,解决error!
Error 1. flag --use_gpu_relax=None: Flag --use_gpu_relax must have a value other than None.
command
bash run_alphafold.sh -d /share/pub/zhaohq/project/pumch/alphafold/version1/source/databases/ -o /share2/pub/yangjy/yangjy/softs/alphafold/result/query -f /share2/pub/yangjy/yangjy/softs/alphafold/example/query.fasta -t 2020-05-14
result
FATAL Flags parsing error: flag --use_gpu_relax=None: Flag --use_gpu_relax must have a value other than None. Pass --helpshort or --helpfull to see help on flags.
我看了我的.sh和run_alphafold.py两个文件的代码,还求助了GitHub上的大佬。deepmind回复我说要把optional parameter中的–use_gpu_relax设置为true或者false,我直接在脚本中改了,use_gpu_relax=True,大概在这个位置: 这个改完,还有新的error!在下面!
Error 2. 显示我的jaxlib版本不对
我当时没记录,大概就就是我的jaxlib的version==0.1.69,但是需要的version要>=0.1.72,好像是这样的,后面的0.1.72对不对我不记得了,但是前面一定是>=,然后就按照他的要求重新pip一下: pip install --upgrade jax jaxlib>=0.1.72+cuda111 -f https://storage.googleapis.com/jax-releases/jax_releases.html 这样就可以了! 不过还有疑问(question不断!)
Warning 3. Unable to initialize backend ‘tpu_driver’: NOT_FOUND: Unable to find driver in registry given worker: 2022-03-11 11:35:11.
UserWarning: Flag --use_gpu_relax has a non-None default value; therefore, mark_flag_as_required will pass even if flag is not specified in the command line! warnings.warn( I0311 11:35:09.811530 140075759966016 templates.py:857]
Using precomputed obsolete pdbs /share/pub/zhaohq/project/pumch/alphafold/version1/source/databases//pdb_mmcif/obsolete.dat. I0311 11:35:10.234684 140075759966016 xla_bridge.py:247]
Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker: 2022-03-11 11:35:11.258894: E external/org_tensorflow/tensorflow/stream_executor/cuda/cuda_driver.cc:271]
failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected I0311 11:35:11.259597 140075759966016 xla_bridge.py:247]
Unable to initialize backend 'gpu': FAILED_PRECONDITION: No visible GPU devices. I0311 11:35:11.260360 140075759966016 xla_bridge.py:247]
Unable to initialize backend 'tpu': INVALID_ARGUMENT: TpuPlatform is not available. W0311 11:35:11.260569 140075759966016 xla_bridge.py:252]
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.) I0311 11:35:15.515949 140075759966016 run_alphafold.py:397]
Have 5 models: ['model_1', 'model_2', 'model_3', 'model_4', 'model_5'] I0311 11:35:15.516198 140075759966016 run_alphafold.py:414] Using random seed 1114105159714920706 for the data pipeline I0311 11:35:15.516445 140075759966016 run_alphafold.py:163]
Predicting query
这个问题只是显示我没有GPU,但是我的确已经在服务器的gpu节点running了,所以出现这个warning,我还是有很多疑问的,所以又舔着脸去deepmind上留言提问了,不过author一直没给我reply。虽然用CPU程序也可以正常运行,但是时间效率太低了,一直以来我都是能用GPU就用GPU,能多线程跑数据坚决不单线程的,太慢了。但是能运行了就没再计较,毕竟之前用docker装,出现各种让我看不懂的error,我现在明白,有error不可怕,可怕的是出现的error看不懂。 不过巧了,昨天在宿舍办公,下午吃完晚饭想和舍友溜出去消食,但是我当时的task没有提交到节点运行,我一走没有网,我跑的数据就全泡汤了,写好了任务提交节点的脚本,但是在GPU节点提交不上,找服务器师兄,他在群里给我也给大家说以后提交task不用写那么复杂的脚本了,正好,结果用他给的command,好像的确用到GPU了,因为今天看到昨天的error中没有之前的warning了!咱也不知道为啥,能解决而一个是一个吧!
Error 4. Could not load dynamic library ‘libcusolver.so.11’; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory
解决方案: 去自己创建的alphafold环境的lib目录下,把libcusolver的package名改一下:
cd /share2/pub/yangjy/yangjy/conda3/envs/alphafold/lib
cp libcusolver.so.10 libcusolver.so.11
Warning 5.INVALID_ARGUMENT: TpuPlatform is not available.
I0311 17:44:23.457948 139633313998656 xla_bridge.py:247] Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker:
I0311 17:44:23.646468 139633313998656 xla_bridge.py:247] Unable to initialize backend 'tpu': INVALID_ARGUMENT: TpuPlatform is not available.
这个不用care!!TPU我目前还没涉及到,不知道有什么用,但是在这里肯定是可有可无的,所以不要care这个warning!
目前就这些error了,当然我希望不要再有error了,但是谁又知道呢?我希望他再别有了,我真被这个搞无语了!886,看文献去了!
|