Python 在PyTorch中设置VGG面描述符

Python 在PyTorch中设置VGG面描述符,python,deep-learning,torch,face-recognition,pytorch,Python,Deep Learning,Torch,Face Recognition,Pytorch,我一直试图在我的一个项目中使用VGG面部描述符模型()。我所要做的只是从输入图像中获取网络的输出 我以前从未使用过MatConvNet、Caffe或Pytork,所以我随机选择了Pytork。事实证明,该模型(torch.legacy.nn.Sequential.Sequential类)保存在PyTorch的旧版本中,因此语法与PyTorch文档中的略有不同 我能够像这样加载lua.t7模型: vgg_net = load_lua('./vgg_face_torch/VGG_FACE.t7',

我一直试图在我的一个项目中使用VGG面部描述符模型()。我所要做的只是从输入图像中获取网络的输出

我以前从未使用过MatConvNet、Caffe或Pytork,所以我随机选择了Pytork。事实证明,该模型(torch.legacy.nn.Sequential.Sequential类)保存在PyTorch的旧版本中,因此语法与PyTorch文档中的略有不同

我能够像这样加载lua.t7模型:

vgg_net = load_lua('./vgg_face_torch/VGG_FACE.t7', unknown_classes=True)
并在输入图像中加载:

# load image
image = imread('./ak.png')
# convert to tensor
input = torch.from_numpy(image).float()
我满怀期待地愉快地将图像加载到模型中:

# load into vgg_net
output = vgg_net.forward(input)
然而,当代码无法编译时,我希望它能够合作的愿望很快破灭了。留下一条神秘的错误消息:

Traceback (most recent call last):
  File "~/Documents/python/vgg-face-test/vgg-pytorch.py", line 25, in <module>
    output = vgg_net.forward(input)
  File "~/.local/lib/python3.6/site-packages/torch/legacy/nn/Module.py", line 33, in forward
    return self.updateOutput(input)
  File "~/.local/lib/python3.6/site-packages/torch/utils/serialization/read_lua_file.py", line 235, in updateOutput_patch
    return obj.updateOutput(*args)
  File "~/.local/lib/python3.6/site-packages/torch/legacy/nn/Sequential.py", line 36, in updateOutput
    currentOutput = module.updateOutput(currentOutput)
TypeError: 'NoneType' object is not callable
回溯(最近一次呼叫最后一次):
文件“~/Documents/python/vgg-face-test/vgg-pytorch.py”,第25行,在
输出=vgg_净正向(输入)
文件“~/.local/lib/python3.6/site packages/torch/legacy/nn/Module.py”,第33行,前进
返回self.updateOutput(输入)
文件“~/.local/lib/python3.6/site packages/torch/utils/serialization/read_lua_File.py”,第235行,在updateOutput_补丁中
返回对象updateOutput(*args)
文件“~/.local/lib/python3.6/site packages/torch/legacy/nn/Sequential.py”,第36行,在updateOutput中
currentOutput=模块更新输出(currentOutput)
TypeError:“非类型”对象不可调用
这让我目瞪口呆

这就是我寻求Stackoverflow帮助的原因。我希望这里的人能帮我建立模型——甚至不一定是在Torch中,事实上任何工作模型都可以,我可以简单地获得任何特定图像的描述。

尝试
output=vgg\u net(input)
,而不使用forward。 这显然调用了模块中定义的默认方法,但我很难理解为什么需要这样做