いろいろわけがわからなくなってきている(特にPython絡み)ので、一旦minicondaもbrewで入れたpython3もアンインストールした。
(minicondaは~/miniconda3にインストールされているのでフォルダまるごとrm -rf)
(python3は $brew uninstall python3したあと$rm -rf /home/linuxbrew/.linuxbrew/bin/python3.9 これをやっておかないとpipで入れたモジュールが残り、python3をインストールし直したらそのまま復活してしまう。)
改めてpython3をbrewで入れ直し、今回はvirtualenvを入れる。
anaconda, minicondaはcondaとpipをまぜこぜに使うととたんに不整合が出るので、素のpython3にpipで環境構築したほうが結局はいい気がする。
その上でvirtualenvで環境を切り分けていこうかと思う。
メインのデータベースサーバはあまり複数の環境を切り替えることもないのでバーチャル環境はあえて入れていないが、機械学習関係はとかくバージョンの整合性が問題となるので、環境切り分けが重要そうだ。
ということで
python3 -m pip install virtualenv virtualenv alphafold source alphafold/bin/activate
これでvirtual環境に入り、
(alphafold) [kuro@tx1310m3 alphafold]$
プロンプトがこんなふうに変わることを確認
なお、virtual環境から抜けるには
deactivate
と入れる。
素の環境では
$ pip3 list Package Version --------------------------------- ------- backports.entry-points-selectable 1.1.0 distlib 0.3.2 filelock 3.0.12 pip 21.2.4 platformdirs 2.2.0 setuptools 57.0.0 six 1.16.0 virtualenv 20.7.2 wheel 0.36.2
だったが、
alphafold環境に入って
python3 -m pip install -r requirements.txt
とモジュールをインストールすると
$ pip3 list Package Version ----------------------- ------------------- absl-py 0.13.0 astunparse 1.6.3 biopython 1.79 cachetools 4.2.2 certifi 2021.5.30 charset-normalizer 2.0.4 chex 0.0.7 contextlib2 21.6.0 dm-haiku 0.0.4 dm-tree 0.1.6 docker 5.0.0 flatbuffers 1.12 gast 0.4.0 google-auth 1.35.0 google-auth-oauthlib 0.4.5 google-pasta 0.2.0 grpcio 1.34.1 h5py 3.1.0 idna 3.2 immutabledict 2.0.0 jax 0.2.14 jaxlib 0.1.70 keras-nightly 2.5.0.dev2021032900 Keras-Preprocessing 1.1.2 Markdown 3.3.4 ml-collections 0.1.0 numpy 1.19.5 oauthlib 3.1.1 opt-einsum 3.3.0 pip 21.2.4 protobuf 3.17.3 pyasn1 0.4.8 pyasn1-modules 0.2.8 PyYAML 5.4.1 requests 2.26.0 requests-oauthlib 1.3.0 rsa 4.7.2 scipy 1.7.0 setuptools 57.4.0 six 1.15.0 tabulate 0.8.9 tensorboard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0 tensorflow-cpu 2.5.0 tensorflow-estimator 2.5.0 termcolor 1.1.0 toolz 0.11.1 typing-extensions 3.7.4.3 urllib3 1.26.6 websocket-client 1.2.1 Werkzeug 2.0.1 wheel 0.37.0 wrapt 1.12.1
こうなった。
deactivateすると、もとのリストに戻ることも確認。
ちょっと気になるのはRTX30とtensorflowのバージョンの適合性。なんかこれ問題があったような気がしてきた。今更ながら。
コレだ。
github.com
docker/Dockerfileの15行目
ARG CUDA=11.0
を
ARG CUDA=11.1
にする。CUDA 11.0がRTX30に対応していないのが原因なので11.1に変えるということらしい。
コレで
W external/org_tensorflow/tensorflow/stream_executor/gpu/asm_compiler.cc:235] Falling back to the CUDA driver for PTX compilation; ptxas does not support CC 8.6
ここは解消するに違いない。
さあ、6時間後に歓喜の瞬間が来るか?
キターーーーーーーー!
長い道のりであった。
しかし1タンパク質の解析に7時間程度かかっているのはやはりSSD推奨のところをHDDでごまかしているからかな。SSDも買ってもらおう。そうしよう。