Я новичок в Deep-Learning и пытаюсь повторить код в https://github.com/swamiviv/LSD-seg,, который используется для семантической сегментации изображения, но проблема возникла в Pytorch, мне действительно нужна ваша помощь.
Большое спасибо.
Вот среда:
Ubuntu 14.04.1
Python 3.6.4
Pytorch 0.4.0
Код для загрузки предварительно обученной модели, но мой сервер не может посетить googledrive, поэтому я скачал модель из другого методаи обновил файл модели на сервере, и изменил связанный код, но он не работал.
Исходный код:
import os.path as osp
import fcn
import torch
import torchvision
def VGG16(pretrained=False):
model = torchvision.models.vgg16(pretrained=False)
if not pretrained:
return model
model_file = _get_vgg16_pretrained_model()
state_dict = torch.load(model_file)
model.load_state_dict(state_dict)
return model
def _get_vgg16_pretrained_model():
return fcn.data.cached_download(url='http://drive.google.com/uc?id=0B9P1L--7Wd2vLTJZMXpIRkVVRFk',path=osp.expanduser('/home/sunyuze/LSD/data/vgg16_from_caffe.pth'),md5='aa75b158f4181e7f6230029eb96c1b13',)
После того, как я скачал файл модели другим методоми поместив его в определенную позицию, я изменил код:
import os.path as osp
import fcn
import torch
import torchvision
def VGG16(pretrained=False):
model = torchvision.models.vgg16(pretrained=False)
if not pretrained:
return model
state_dict = torch.load('/home/sunyuze/LSD/data/vgg16_from_caffe.pth')
model.load_state_dict(state_dict)
return model
Предупреждение об ошибке:
Traceback (most recent call last):
File "train.py", line 157, in <module>
main()
File "train.py", line 76, in main
vgg16 = torchfcn.models.VGG16(pretrained=True)
File "/home/sunyuze/LSD/code/torchfcn/models/vgg.py", line 17, in VGG16
state_dict = torch.load('/home/sunyuze/LSD/data/vgg16_from_caffe.pth')
File "/home/sunyuze/anaconda3/lib/python3.6/site-packages/torch/serialization.py", line 303, in load
return _load(f, map_location, pickle_module)
File "/home/sunyuze/anaconda3/lib/python3.6/site-packages/torch/serialization.py", line 459, in _load
magic_number = pickle_module.load(f)
_pickle.UnpicklingError: unpickling stack underflow