如何解决错误:从目录调用后,模型未定义
我实例化了模型并保存在目录中
#instantiation of lstm unit
net1=LSTM_net(input_size=512,hidden_size=512,output_size=101,cnn_net=resnet)
model_save_name = 'net1_spatial_stream.pt'
torch.save(net1.state_dict(),MODELS_PATH_SPATIAL)
当我从目录加载模型时
model_save_name = 'net1_spatial_stream.pt'
net1.load_state_dict(torch.load(MODELS_PATH_SPATIAL))
net1=net1.cuda()#pass to gpu
显示错误
1 model_save_name = 'net1_spatial_stream.pt'
----> 2 net1.load_state_dict(torch.load(MODELS_PATH_SPATIAL))
3 net1=net1.cuda()#pass to gpu
NameError: name 'net1' is not defined
解决方法
load_state_dict()
方法只是将权重加载到模型中,您必须首先定义模型。就像您必须初始化模型,然后像这样使用load_state_dict(),
net1=LSTM_net(input_size=512,hidden_size=512,output_size=101,cnn_net=resnet)
model_path = 'net1_spatial_stream.pt'
net1.load_state_dict(torch.load(model_path))
net1=net1.cuda()#pass to gpu
此外,您还必须传递保存模型的确切路径。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。