<Transductive Propagation Network for Few-shot Learning>官方代码笔记

使用pycharm进行调试

readme.mdTPN mini-5way1shot为例

python train.py --gpu=0 --n_way=5 --n_shot=1 --n_test_way=5 --n_test_shot=1 --lr=0.001 --step_size=10000 --dataset=mini --exp_name=mini_TPN_5w1s_5tw1ts_rn300_k20 --rn=300 --alpha=0.99 --k=20

python test.py --gpu=0 --n_way=5 --n_shot=1 --n_test_way=5 --n_test_shot=1 --lr=0.001 --step_size=10000 --dataset=mini --exp_name=mini_TPN_5w1s_5tw1ts_rn300_k20 --rn=300 --alpha=0.99 --k=20 --iters=81500

将第一行python train.py之后的参数复制到pycharm中:
在这里插入图片描述
然后在train.py的代码左侧数字上点击之后就可以进行打断点,然后右键点击Debug 'train'即可开始调试:
在这里插入图片描述

数据

readme.md中的连接下载数据,放在下图文件中
在这里插入图片描述

在这里插入图片描述

模型

在这里插入图片描述
在这里插入图片描述

CNNEncoder

提取图片的特征,对应论文中的 f φ f_{\varphi} fφ
在这里插入图片描述

RelationNetwork

为GNN提供边的权重,对应论文中的 g ϕ g_{\phi} gϕ
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Prototypical

原型网络

LabelPropagation

在这里插入图片描述
论文中使用了 F ∗ = ( I − α S ) − 1 Y F^{*}=(I-\alpha S)^{-1} Y F=(IαS)1Y得到最终的结果
在这里插入图片描述

④计算Lossacc

在这里插入图片描述
使用Cross-Entropy Loss
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37252519/article/details/120224073