Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在PyTorch中完全修改预训练网络的分类器?_Python_Machine Learning_Pytorch_Classification_Knn - Fatal编程技术网

Python 如何在PyTorch中完全修改预训练网络的分类器?

Python 如何在PyTorch中完全修改预训练网络的分类器?,python,machine-learning,pytorch,classification,knn,Python,Machine Learning,Pytorch,Classification,Knn,我目前正在使用一个经过预训练的MobileNetV2模型进行音频分类。 我刚刚开始学习Pytork,通过阅读其他类似主题,我了解了如何修改第一层和最后一层: from torchvision.models import mobilenet_v2 import torch import torch.nn as nn mobilenet_model = mobilenet_v2(pretrained=True) mobilenet_model.features[0][0] = nn.Conv2d(1

我目前正在使用一个经过预训练的MobileNetV2模型进行音频分类。 我刚刚开始学习Pytork,通过阅读其他类似主题,我了解了如何修改第一层和最后一层:

from torchvision.models import mobilenet_v2
import torch
import torch.nn as nn
mobilenet_model = mobilenet_v2(pretrained=True)
mobilenet_model.features[0][0] = nn.Conv2d(1, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)  # Modify the first layer
mobilenet_model.classifier[1] = nn.Linear(1280, NUM_CLASSES, bias=True) # Modify the last layer
它工作得很好,但是现在我想通过应用不同的分类器(因此更改最后一层)用不同的方法来试验这个模型,但是我不确定如何更改最后一层以使用KNN而不是线性变换

有人知道怎么做吗?任何资源都可以,但如果你能解释一下,我真的很感激