いったい、何を知りたいのでしょう。
インポートしたライブラリ(pytorch)をロードしただけで必要なメモリ量と、pytorchを使うことで「自分で書いた範囲」で生成したテンソルなどが使うメモリ量では、通常は後者の方が圧倒的に多いです。
したがって、pytorchをロードするだけで必要なメモリ量を調べても意味はないのではないでしょうか。
どうしても計測したいのであれば以下の方法があります。
shellを二つ立ち上げる。
一方のshellからpythonインタプリタを実行する。
shell
1$ python
2Python 3.8.3 (default, Jul 2 2020, 16:21:59)
3[GCC 7.3.0] :: Anaconda, Inc. on linux
4Type "help", "copyright", "credits" or "license" for more information.
5>>>
も一方のshellで以下を実行する。
shell
1$ ps alx | head -1
2F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
さらに以下を実行する。
shell
1$ ps alx | grep python
24 0 660 1 20 0 359208 29816 poll_s Ssl ? 0:04 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
34 0 1121 1 20 0 574284 19472 poll_s Ssl ? 0:01 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
40 1000 1923 1232 20 0 126932 6980 poll_s S+ pts/0 0:00 /home/XXX/.pyenv/versions/anaconda3-2020.07/bin/python
50 1000 1957 1336 20 0 112828 976 pipe_w S+ pts/1 0:00 grep --color=auto python
VSZが仮想メモリの全サイズ、RSSが使用中の物理メモリー量です。(単位:KB)
次にpythonで何かのライブラリをimportする。たとえばpandasをimportしてみる。
python
1>>> import pandas as pd
2```shell
3
4もう一度他方のshellでps alx | grep pythonを実行する。
5
6```shell
7$ ps alx | grep python
84 0 660 1 20 0 359208 29816 poll_s Ssl ? 0:04 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
94 0 1121 1 20 0 574284 19472 poll_s Ssl ? 0:01 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
100 1000 1923 1232 20 0 379136 52472 poll_s S+ pts/0 0:02 /home/XXX/.pyenv/versions/anaconda3-2020.07/bin/python
110 1000 1959 1336 20 0 112824 976 - R+ pts/1 0:00 grep --color=auto python
この差がライブラリをimportしたことによる使用メモリの増加量です。
仮想メモリ VSZ 379136 - 126932 = 252204KByte増加
物理メモリー RSS 52472 - 6980 = 45492KByte増加
物理メモリの量は、他のプロセスの使用具合によってページアウトされるため変動します。
ただし、これはpandasだけの使用メモリの増加量ではありません。pandasがその中でimportしたnumpyやdatetimeやsubprocessやその他多くのライブラリがロードされた結果の使用メモリの増加量であることに注意してください。
同様に、処理を途中まで実行してそこで同じことをすればそれぞれで増加したメモリの量は測定することができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。