某のコーディング課題を解きました。
pythonを用いて実装を行いました。
実行の際は以下の環境(動作確認済み)を推奨します。
- python 3.7.3
- numpy 1.16.3
- matplotlib 3.0.3
src
README.md
prediction.txt
report.pdf
results
なお、results
には学習済みのlossや重みの値が入っています。
以下の手順で実行してください。
-
src
ディレクトリとdatasets
ディレクトリを同じディレクトリ内に置いてください。 -
src
ディレクトリとdatasets
ディレクトリのあるディレクトリに、results
という名前のディレクトリを作成してください。学習を回さずに計算済みの重みやlossの値を使う場合は、提出したresults
ディレクトリを使ってください。学習を回す場合はresults
ディレクトリ内を空にしてください。 -
src
ディレクトリ内に課題1〜4のスクリプトtask1.py
〜task4.py
があります。src
ディレクトリに移動し、以下のコマンドから実行してください。python -u task1.py python -u task2.py python -u task3.py python -u task4.py
なお、current directoryが
src
になっていない場合は、Assertion Errorが出るようになっ ています。
ファイル・関数構成は以下のようになっています。
詳細な説明についてはソースコード内に記してあるので、そちらを参照してください。
src
├─ __pycache__
|
├─ functions.py
| ├─ relu()
| ├─ sigmoid()
│ └─ binary_cross_entropy()
|
├─ optimizers.py
| ├─ loss_function()
| ├─ gradient_decent()
| ├─ SGD()
| ├─ Momentum_SGD()
│ └─ Adam()
|
├─ preprocess.py
| ├─ X0_initialize()
│ └─ train_valid_split()
|
├─ networks.py
│ └─ GNN_agg_readout()
|
├─ evaluation.py
| ├─ mean_precision()
│ └─ valid_loss()
|
├─ predict.py
| └─ predict()
|
├─ in_out_data.py
| ├─ get_train_data()
| ├─ get_test_data()
| └─ out_test_label()
|
├─ visualize.py
| ├─ plot_loss_precision_task3()
| └─ plot_loss_precision_task4()
|
├─ task1.py
| ├─ init_graph_task1()
| ├─ test1()
│ └─ test2()
|
├─ task2.py
│ └─ training()
|
├─ task3.py
| ├─ run_GNN_SGD()
│ └─ run_GNN_MomentumSGD()
|
└─ task4.py
└─ run_GNN_Adam()