Closed4
PyTorchを使ったFederated Learning入門
環境: MacOS Monterey (12.2.1)
まずは、virtualenvを入れる。
今回はおそらく使わないけれども、pyenvも入れておく。
% pip install virtualenv
% brew install pyenv
virtualenvで使う環境"node-a"を作る
% cd workspace/
% virtualenv --python python3 "node-a"
% ls
node-a/
node-a環境を有効にする
% source "node-a/bin/activate"
node-a環境を終了する場合は、以下
(node-a) % deactivate
Pytorchをpip3でインストールする。
(node-a) % pip3 install torch torchvision torchaudio
こんな感じ。
(node-a) [ 22-02-13 21:39 ] ~/workspace/fl-lesson
osada@mbp20i% pip3 install torch torchvision torchaudio
Collecting torch
Downloading torch-1.10.2-cp39-none-macosx_10_9_x86_64.whl (147.2 MB)
|████████████████████████████████| 147.2 MB 229 kB/s
Collecting torchaudio
Downloading torchaudio-0.10.2-cp39-cp39-macosx_10_9_x86_64.whl (2.4 MB)
|████████████████████████████████| 2.4 MB 9.7 MB/s
Collecting torchvision
Downloading torchvision-0.11.3-cp39-cp39-macosx_10_9_x86_64.whl (1.2 MB)
|████████████████████████████████| 1.2 MB 13.4 MB/s
Collecting numpy
Downloading numpy-1.22.2-cp39-cp39-macosx_10_14_x86_64.whl (17.6 MB)
|████████████████████████████████| 17.6 MB 3.9 MB/s
Collecting pillow!=8.3.0,>=5.3.0
Downloading Pillow-9.0.1-cp39-cp39-macosx_10_10_x86_64.whl (3.0 MB)
|████████████████████████████████| 3.0 MB 7.3 MB/s
Collecting typing-extensions
Downloading typing_extensions-4.1.0-py3-none-any.whl (26 kB)
Installing collected packages: typing-extensions, torch, pillow, numpy, torchvision, torchaudio
Successfully installed numpy-1.22.2 pillow-9.0.1 torch-1.10.2 torchaudio-0.10.2 torchvision-0.11.3 typing-extensions-4.1.0
WARNING: You are using pip version 20.3.1; however, version 22.0.3 is available.
You should consider upgrading via the '/Users/osada/workspace/fl-lesson/node-a/bin/python -m pip install --upgrade pip' command.
(node-a) [ 22-02-13 21:54 ] ~/workspace/fl-lesson
osada@mbp20i% python --version
Python 3.9.10
Pytorchのインストールは公式の誘導に従うと良いです。
チュートリアルを発見
とりあえず、matplotlibを入れておく。
グラフ描画にいいらしい。
(node-a) [ 22-02-14 13:48 ] ~/workspace/fl-lesson/node-a
osada@mbp20i% pip3 install matplotlib
(略)
pysyftを使うとfederated learningのライブラリが使えるらしい。
pysyftは、pytorchを内包している。
まずは、一番簡単なFederated Averagingをやってみる。
このスクラップは2023/03/31にクローズされました