2021年12月11日
今日から、MacBook Pro「2020 Apple MacBook Pro Apple M1 Chip (13インチPro, 8GB RAM, 512GB SSD)」を使う。今(午前7時25分)は配送中で、午前中に届くことになっている。
MACは、20年以上前にディスプレイ一体型のデスクトップタイプを購入して使ったことがあるが、それっきりで、以後はWindowsマシンしか使っていない。
なぜ今Mac/Anacondaなのか。
それは、"DiffPy-CMI"というソフトを使いたいためである。
これは、X線を用いて計測したデータを解析するためのソフトで、version 3.0 DiffPy-CMIは、デフォルトでは、LinuxとMacに対応しているだけである。
GitHubには、コロンビア大学の大学院生がWindows 10で動かすためのツールを公開している(st3107/diffpy_talk)ので、それを使う手もあるようだ。
もうMacを入手したので、Macで進めるが、Windows 10も、これを機会にリフレッシュしたいとも思っている。特に、Anaconda3は、TF2のインストールでトラブったのが尾を引いていて、TF2はまだ使えない状態が続いている。
DiffPy-CMIは、PDF(pair distribution function)スペクトルの解析、シミュレーション、フィッティング等を行うことができるものである。PDFguiを使えばPDFについては、同等のことはできて、PDFguiはWindows 10で問題なく使える。
DiffPy-CMIを使う目的は、"CMI(complex modeling infrastructure)"にあって、このCMIを用いると、TEM, EXAFS, Raman, NMRなどのデータとシンクロさせて解析することや、DFT計算結果を反映させることもできるらしい。それに加えて、ASE(Atomic Simulation Environment)を用いて作成した元素構造モデルも、シンクロさせて解析することができるようである。
今(午前10時45分)、MacBook Proが届いて梱包を解いた。
DiffPy-MSIとASEを、よく理解してからMacProを動かそう。
DiffPy-CMIを表す図
夜になって、MacにAnacondaをダウンロードしはじめたのだが、読み込み中にエラーが出て、Webページの再読み込みの繰り返し。途中でいやになってMacを再起動して、Anacondaをダウンロードしようとしたら、登録済みメルアドが使われていると警告が出て、それ以上進まない。仕方なく履歴を見て、エラーしているところまで戻ったら、ダウンロードは再開されたが、症状は同じ。ダウンロード中に問題が起きたからWebページを再読み込みしろ、というのが繰り返されるだけ。困ったもんだ。
このおかしな現象は何時間続いたかわからない。さらに、なけなしのお金、約17万5千円が無駄になったと思った。
あきらめて、リセットしてMacを立ち上げてみると、なにかがダウンロードされていることがわかった。調べてみると、Anacondaが、ダウンロードされていた。何が起きたのかよくわからないのだが、Anacondaのダウンロード中に、Anaconda Nucleusというのが勝手に立ち上がってエラーを起していたのではなかろうか。要するに、ダウンロードは数秒くらいで終わっていて、Anaconda Nucleusというソフトが勝手に立ち上がって動き始め、それが、エラーを引き起こしていたようだ。
なにはともあれ、ダウンロードしたAnacondaのファイルは、ダブルクリックすることによってインストールできた。
以上で本日終了。
明日は、DiffPy-CMIを使えるところまでいきたいね。もう午前1時20分になった!
12月12日(日)
Anaconda3をインストールすることができたので、DiffPy-CMIをインストールすれば、使えるようになる。
ふつうは、Anacondaのサイトにアクセスすれば、パソコンのシステムを自動検出し、ダウンロードボタンを押せば、感知した環境に応じてWindows, Linux, Macのどれかに対応したAnacondaパッケージがダウンロードされ、ダウンロードしたファイルを探して、ダブルクリックすればインストールが始まるので、あとは、指示に従って作業すれば、Anaconda3をベースにしたPython環境が整う。
Anacondaのインストールは、これが2度目である。
最初は、2018年4月頃で、ディープラーニングの勉強を始めた頃である。Windows 10を使っていたのだが、Anaconda3をダウンロードし、インストールすると、Anaconda3のホルダー内に、コマンド入力用画面(ターミナル、コマンドプロンプト)やSpyderやjupyter notebookなどのアイコンが表示されていて、すぐに使い始めることができた。
2度目に相当するトライは何度かやってみた。Windowsでは使えないモジュール/パッケージを使うために、Linux(Ubuntu)の環境にして、Anacondaをダウンロードし、インストールしようとしたのだが、うまくいったことがない。ダウンロードしたファイル/ホルダーの場所がわからず、途中で右往左往して終わるのだ。今回も、Windowsがだめだというので、Linux環境(Ubuntu)にしてAnaconda3のダウンロード/インストールにトライしたが、デスクトップの表示すらままならず、手も足も出なかった。
ということでMacに戻ろう。Macの場合は、インストールの後に、Anaconda-Navigatorというアプリのアイコンが現れた。そのアイコンをクリックしてみると、見慣れたSpyder, Jupyter Notebookなどいくつかのアプリが並んでいる。ということで、Macでも簡単にPython使用環境が整うということである。(Anaconda Nucleusに起因すると思われる異常動作さえなければ・・・。)
さて、Anaconda3にDiffPy-CMIのパッケージを追加するには、コマンドプロンプト "terminal" が必要なのだが見当たらない。Windows 10では、Anaconda Prompt (Anaconda3)というのがあった。これがないと始まらないのだが、どうしたものかと思いながら、一方で"JupyteLab"は使ったことがなくて気になっていたので、試しにLaunchタブをクリックしてみたらJupyterLabが立ち上がり、JupyterLabの初期画面の左下に鎮座していた。
"Terminal"は、JupyterLabの中から起動できるようになっていた。
Anaconda.NavigatorのEnvironmentsから、Anaconda3にインストールされたパッケージを確認することができる。
python 3.9, scikit-learn 0.24.2, scipy 1.7.1, pandas 1.3.4, numpy 1.20.3, matplotlib 3.4.3, などがインストールされているのが確認できた。
初期状態(デフォルト)では、tensorflow, pytorch, kerasなどの、ディープラーニングで常用されているオープンソースプラットフォームがインストールされていないことがわかった。
それでは、JupyterLabの"Terminal"から、DiffPy-CMIをHPのマニュアル通りにインストールしてみよう。
インストールは無事完了した。
Anaconda.NabigatorのEnvironmentsには、base(root)とは別に、py37というEnvironmentが新たに作られていて、diffpy-cmiを含む147のパッケージがインストールされていることが確認できた。
マニュアルに従って入力していったらできた。というのでは、ここに書く意味が無いので、何をやったか、どうなったかを記しておこう。
terminal画面(表示名を*****で示す)
(base) *****@*****noMacBook-Pro -$ conda create --name=py37 python=3.7
これによって、py37というenvironmentができて、そこには、python 3.7.11と関連パッケージがインストールされる。(base)から(py37)という環境に変わる。(base)にはpythonでよく使われるpandas, matplotlib, scipy, scikit-learnなどがインストールされるが、(py37)には付加的なパッケージは含まれない(python 3.7環境を作っただけ)。
(base) *****@*****noMacBook-Pro -$ conda activate py37
これによって、作業場所(environment)が、(py37)に移る。
(py37) *****@*****noMacBook-Pro -$
(py37)の環境に、diffpy-cmiをインストールするのだが、それが可能なのは、Anacondaが、diffpyに関連するパッケージを保有/管理しているからであり、次のように入力することによって、その保管場所にアクセス可能になるようである。
(py37) *****@*****noMacBook-Pro -$ conda config --add channels diffpy
そのうえで、次のように入力することによって、diffpy-cmiとその関連パッケージ、さらには、それらのパッケージが使う、scipy, matplotlib, scipy, numpyなどもインストールされる。
(py37) *****@*****noMacBook-Pro -$ conda install diffpy-cmi
以上で、基礎工事完了!
次の週末には、diffpy-cmiのチュートリアルに取り組もう。
おっと、重要なことを忘れていた。DiffPy-CMIを使う最大の目的は、ASE(Atomic Simulation Environment)で作った原子構造モデル(全原子の位置座標)をDiffPy-CMIに読み込んでPDFスペクトルのシミュレーションと実験データへのフィッティングであった。
よって、同じ環境(py37)に、ASEをインストールしなければならない。土台はまだ半分しかできていないのだ。
早速、ASEのインストールに取り掛かった。
Mac OSX (Homebrew)の題目で始まる手順書の通りにやればよいと思ったが、「$ brew install python」は、py37の環境を使うから不要と判断して次に進んだ。
「$ pip install --upgrade --user ase」これで全てうまくいくと思ったら、なぜか、(py37)の環境にインストールされない。
ただし、(py37)の中のパッケージ数は147から166に増えていた。
ASE(Atomic Simulation Environment)のインストールはうまくいかなかった。
来週の週末は、ASEのインストールから始めよう!
12/17-19にやる予定だったが、別件(NMRが面白くなってきた)が入って、できなくなった。
2022年1月3日(月)
必要なものは2つある。
1つは、DiffPy-CMI
もう1つはASE(Atomic Simulation Environment)
今日、ようやくLinux(Ubuntu)を立ち上げることができたので、WinとMacとLinuxを比べることができた。Anacondaを普通に使った場合、
DiffPy-CMIは、Windowsになく、MacとLinuxにある。
ASEは、Windowsにあり、MacとLinuxにはない。
ということがわかった。
PDFgui/fit2は、単一金属のナノ粒子の粒径を球体近似で見積もるのには十分かなと思う。ASEと組み合わせるDiffPy-CMIがどのようなものかを知る必要があるのだが、どうしたものか。
まずは、DiffPy-CMIがどのように使われているのか、GitHubで調べてみよう。
style=178 iteration=500