PyTorchのインストール(1.9.1 Windows版)
これまでKeras/Tensorflowしか触っていなかったのだが、Kaggle等をみてるいるとPyTorchも少しわかっていたほうがよいと思い、家のPCにPyTorchをインストールした。
最初に、condaとpipとどちらでインストールするか悩む。一応、家のPC環境はcondaベースなのだが、Keras/Tensorflowなどcondaでは最新が入れられず、pipでインストールしているので混在環境になっている。
guppi524.hatenablog.jpで書いているとおり、このPCにはCUDA 11.4がすでにインストールされているので、 stackoverflow.com
あたりをみつつ、pipでインストールすることとした。
(base) D:\Users\hoge>pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio===0.9.1 -f https://download.pytorch.org/whl/torch_stable.html Looking in links: https://download.pytorch.org/whl/torch_stable.html Collecting torch==1.9.1+cu111 Downloading https://download.pytorch.org/whl/cu111/torch-1.9.1%2Bcu111-cp38-cp38-win_amd64.whl (3128.1 MB) |████████████████████████████████| 3128.1 MB 190 bytes/s Requirement already satisfied: typing-extensions in d:\users\tkonishi\miniconda3\lib\site-packages (from torch==1.9.1+cu111) (3.10.0.2) Collecting torchaudio===0.9.1 Downloading https://download.pytorch.org/whl/torchaudio-0.9.1-cp38-cp38-win_amd64.whl (216 kB) |████████████████████████████████| 216 kB 1.7 MB/s Collecting torchvision==0.10.1+cu111 Downloading https://download.pytorch.org/whl/cu111/torchvision-0.10.1%2Bcu111-cp38-cp38-win_amd64.whl (2.5 MB) |████████████████████████████████| 2.5 MB 3.2 MB/s Requirement already satisfied: numpy in d:\users\tkonishi\miniconda3\lib\site-packages (from torchvision==0.10.1+cu111) (1.19.5) Requirement already satisfied: pillow>=5.3.0 in d:\users\tkonishi\miniconda3\lib\site-packages (from torchvision==0.10.1+cu111) (8.0.1) Installing collected packages: torch, torchvision, torchaudio Successfully installed torch-1.9.1+cu111 torchaudio-0.9.1 torchvision-0.10.1+cu111
インストールパッケージの大きさは3GBくらい。家のネット環境だとそこそこ時間がかかった。
(base) D:\Users\hoge>conda list | grep torch torch 1.9.1+cu111 pypi_0 pypi torchaudio 0.9.1 pypi_0 pypi torchvision 0.10.1+cu111 pypi_0 pypi
(base) D:\Users\hoge>python Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.cuda.is_available() True >>> quit()
GPUも使えそう。
以下の本を買ったので、しばらく勉強してみる予定です。
- 追記
上の本の序章のnotebookを動かすのに、
pip install japanize_matplotlib pip install torchsummary pip install torchviz
が必要でした。
MAGIC Gamma Telescope Dataset - EDA and GBDT
最近はちょぼちょぼとKaggleをやっています。素人もよいところですが。
MAGIC Gamma Telescope Dataset - EDA and GBDT | Kaggle
マニアックなデータセットと戯れました。
Tensorflow のアップデート(2.4.1 -> 2.6.0)
家のPCのTensorflowを2.4.1から2.6.0にアップデートした。
手順は、ほぼ前回どおり。
今回も、いつものごとく、下記のサイトの手順にお世話になる。ありがとうございます。
インストールしたツールは、
- CUDA 11.4 Update2
- cuDNN 8.2.4
- Tensorflow 2.6.0 (pipパッケージ)
- Keras 2.6.0 (Tensorflow pipパッケージ組み込み)
Tensorflow 2.6.0から、kerasが統合されているっぽい
なので、
pip install tensorflow
とすると、kerasも一緒にインストールされた。
Successfully installed clang-5.0 gast-0.4.0 grpcio-1.40.0 h5py-3.1.0 keras-2.6.0 tensorboard-2.6.0 tensorboard-data-server-0.6.1 tensorflow-2.6.0 tensorflow-estimator-2.6.0
動作自体は何事もなく動いたが、kerasのパッケージングまわりが変わっていると思われるため、下記の2つのインポートでエラーがでた。
from keras.optimizers import SGD from keras.utils import plot_model
で、
from tensorflow.keras.optimizers import SGD from tensorflow.keras.utils import plot_model
問題なく動作することを確認。
学習(model.fit)の速度は、2.4.1のときとそれほど変わらない感じでした。CIFAR-10 画像分類10エポックの学習時間は、以下のとおり。
2.6.0: 実行時間:125.13618564605713[秒] 2.4.1: 実行時間:128.62278509140015[秒]
ベンチマークに使用したモデルはこちら。 github.com
TensorflowでGPUを使うときと使わないときの速度比較
情報理論・機械学習の熱力学アプローチ
メモとして。
Thermodynamic efficiency implies predictive inference https://franknielsen.github.io/SPIG-LesHouches2020/Still-SPIGL2020.pdf
どうして時間は過去から未来に流れて行くのだろう? マクロな系における不可逆性 / 田崎晴明
学習院大学の田崎先生による、一般の人向けの時間の向きに関する解説動画。エーレンフェストの壺を使ったマクロ系の不可逆性のお話や、ボルツマンの時間の向きの考え方等、面白い動画です。
Tensorflow のアップデート(2.3.1 -> 2.4.1)
PyPIでTensorflow 2.4.1がリリースされたので、自宅のWindows 10のTensorflowを2.3.1から2.4.1にアップデートした。
- 環境
- OS Windows 10 Pro
- CPU Intel Core i7-8700 3.2GHz
- Memory 16GB
- GPU NVIDIA GeForce GTX 1060 6GB
- GPUドライバ NVIDIA Game Ready Driver 461.09
インストールしたバージョン
- アップデート!
- Visual Studio Community 2019
- C++によるデスクトップ開発
- Visual Studio Build Tools 2019
- C++ Build Tools
- CUDA 11.0 update1
- アップデート!
- cuDNN 8.0.5
- アップデート!
- Tensorflow 2.4.1 (pip)
- アップデート!
- Keras 2.4.3 (pip)
NVIDIA Developerのサイトから、CUDA Toolkit 11.0 Update1のインストールファイルをダウンロードしようとしたら、なぜかChromeからだとダウンロードできず。Microsoft Edgeだとダウンロードできました。cuDNNのインストールファイルはChromeからでもダウンロードできました。
いつものとおり、インストール手順は以下のサイトを参考にさせていただきました。
アップデート自体はすんなり終わったのですが、ベンチマーク的に手元のMNISTのCNNを走らせると、なぜか2.3.1よりもずいぶんと時間がかかっており、ほとんどCPUと変わらないのでは、という状況。
Keras2.4.3+Tensorflow 2.3.1(GPU)の実行時間:144.0960705280304[秒] Keras2.4.3+Tensorflow 2.4.1(GPU)の実行時間:259.58674144744873[秒] Keras2.4.3+Tensorflow 2.3.1(CPU)の実行時間:294.20286107063293[秒] Keras2.4.3+Tensorflow 2.4.1(CPU)の実行時間:300.50513529777527[秒]
nvidia-smi -l 1でみるとGPU Utilが23~24%だったので、GPUの使用以外のところにボトルネックがあるかも、とは思いましたが、詳細は不明。
Tensorflow 2.4.1をインストールすることで、Numpyも1.8.5から1.9.5に上げることができたので、ひとまずこのままにしておくが、ちょっと釈然としない。
ぐぐったところ github.com のようなものも見つけたものの、関係するかどうか不明。