关于小样本图像分类之原型网络的pytorch复现心得笔记

经过几个月的钻研学习,终于复现了原作者的代码(点击跳转原作者的Github)。我不会用GitHub上传代码,没学。

接下来的是,我的心得和遇到的错误的解决方法,只为后浪能少走弯路,当然有错误的地方欢迎斧正,我会虚心学习!

前提:了解python的基本用法,了解深度学习相关基础知识,了解Github如何下载代码,了解pycharm的使用,阅读原作者的论文,Prototypical Networks for Few-shot Learning.

1.配置pycharm的虚拟环境。

我的电脑没有英伟达的显卡,买不起 ,下面的配置均是CPU版本。

python == 3.6.13

torch == 1.7.0

torchvision == 0.8.0

torchaudio == 0.7.0

tqdm == 最新

torchnet == 最新

2.下载数据集

way1:如何在Windows环境下运行.sh文件
        1.先装个git

  • 44
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原型网络是一种基于神经网络的机器学习模型,可以在PyTorch框架中实现。它也被称为卷积神经网络(Convolutional Neural Networks,CNNs)的一种形式。原型网络的设计灵感来源于生物视觉系统,能够对图像进行高效的特征提取和图像识别。 原型网络的基本结构包括卷积层、池化层和全连接层。卷积层利用卷积操作从输入图像中提取特征,每个卷积核都负责检测图像中的不同特征。池化层则用于减少特征图的尺寸,并且提取最显著的特征。全连接层将特征映射到不同的类别,用于分类。 在PyTorch中,我们可以使用torch.nn模块来构建原型网络。首先,我们需要定义一个继承自torch.nn.Module的网络类,并在其中定义网络的组件,如卷积层和全连接层。然后,我们可以通过重写forward方法来定义网络的前向传播过程。在前向传播过程中,我们可以使用PyTorch提供的各种函数来实现卷积、池化和全连接操作。 为了训练原型网络,我们还需要定义一个损失函数和优化器。常用的损失函数包括交叉熵损失函数和均方差损失函数。我们可以使用torch.optim模块中的优化器来更新网络的权重,常用的优化器有随机梯度下降(SGD)和Adam。 在训练过程中,我们首先将输入数据传入网络中进行前向传播,然后计算损失函数的值。接着,通过反向传播计算损失函数对网络权重的梯度,并使用优化器更新网络的权重参数。重复这个过程直到达到设定的训练迭代次数。最后,我们可以使用训练好的网络对新的图像进行分类预测。 总之,原型网络是一种在PyTorch框架中实现的神经网络模型,它通过卷积、池化和全连接层来提取和分类图像特征。使用PyTorch的torch.nn模块和torch.optim模块,我们可以方便地构建、训练和利用原型网络进行图像分类任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值