title: How to load a torchvision model from disk?
body: <p>I'm trying to follow the solution from the <a href="https://stackoverflow.com/questions/52628270/is-there-any-way-i-can-download-the-pre-trained-models-available-in-pytorch-to-a">top answer here</a> to load an object detection model from the .pth file.</p>
  <pre><code>os.environ['TORCH_HOME'] = '../input/torchvision-fasterrcnn-resnet-50/' #setting the environment variable
  model = detection.fasterrcnn_resnet50_fpn(pretrained=False).to(DEVICE)
  </code></pre>
  <p>I get the following error</p>
  <pre><code>NotADirectoryError: [Errno 20] Not a directory: '../input/torchvision-fasterrcnn-resnet-50/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth/hub'
  </code></pre>
  <p>google did not reveal an answer to the error and I don't exactly know what it means except for the obvious (that folder 'hub' is missing).</p>
  <p>Do I have to unpack or create a folder?
  I have tried loading the weights but I get the same error message.</p>
  <p>this is how I load the model</p>
  <pre><code>model = detection.fasterrcnn_resnet50_fpn(pretrained=True)
  checkpoint = torch.load('../input/torchvision-fasterrcnn-resnet-50/model.pth.tar')
  model.load_state_dict(checkpoint['state_dict'])
  </code></pre>
  <p>thank you for your help!</p>
  <p>Full Error Trace:</p>
  <pre><code>gaierror: [Errno -3] Temporary failure in name resolution
  
  During handling of the above exception, another exception occurred:
  
  URLError                                  Traceback (most recent call last)
  /tmp/ipykernel_42/1218627017.py in &lt;module&gt;
        1 # to load
  ----&gt; 2 model = detection.fasterrcnn_resnet50_fpn(pretrained=True)
        3 checkpoint = torch.load('../input/torchvision-fasterrcnn-resnet-50/model.pth.tar')
        4 model.load_state_dict(checkpoint['state_dict'])
  
  /opt/conda/lib/python3.7/site-packages/torchvision/models/detection/faster_rcnn.py in fasterrcnn_resnet50_fpn(pretrained, progress, num_classes, pretrained_backbone, trainable_backbone_layers, **kwargs)
      360     if pretrained:
      361         state_dict = load_state_dict_from_url(model_urls['fasterrcnn_resnet50_fpn_coco'],
  --&gt; 362                                               progress=progress)
      363         model.load_state_dict(state_dict)
      364     return model
  
  /opt/conda/lib/python3.7/site-packages/torch/hub.py in load_state_dict_from_url(url, model_dir, map_location, progress, check_hash, file_name)
      553             r = HASH_REGEX.search(filename)  # r is Optional[Match[str]]
      554             hash_prefix = r.group(1) if r else None
  --&gt; 555         download_url_to_file(url, cached_file, hash_prefix, progress=progress)
      556 
      557     if _is_legacy_zip_format(cached_file):
  
  /opt/conda/lib/python3.7/site-packages/torch/hub.py in download_url_to_file(url, dst, hash_prefix, progress)
      423     # certificates in older Python
      424     req = Request(url, headers={&quot;User-Agent&quot;: &quot;torch.hub&quot;})
  --&gt; 425     u = urlopen(req)
      426     meta = u.info()
      427     if hasattr(meta, 'getheaders'):
  
  /opt/conda/lib/python3.7/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
      220     else:
      221         opener = _opener
  --&gt; 222     return opener.open(url, data, timeout)
      223 
      224 def install_opener(opener):
  
  /opt/conda/lib/python3.7/urllib/request.py in open(self, fullurl, data, timeout)
      523             req = meth(req)
      524 
  --&gt; 525         response = self._open(req, data)
      526 
      527         # post-process response
  
  /opt/conda/lib/python3.7/urllib/request.py in _open(self, req, data)
      541         protocol = req.type
      542         result = self._call_chain(self.handle_open, protocol, protocol +
  --&gt; 543                                   '_open', req)
      544         if result:
      545             return result
  
  /opt/conda/lib/python3.7/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
      501         for handler in handlers:
      502             func = getattr(handler, meth_name)
  --&gt; 503             result = func(*args)
      504             if result is not None:
      505                 return result
  
  /opt/conda/lib/python3.7/urllib/request.py in https_open(self, req)
     1391         def https_open(self, req):
     1392             return self.do_open(http.client.HTTPSConnection, req,
  -&gt; 1393                 context=self._context, check_hostname=self._check_hostname)
     1394 
     1395         https_request = AbstractHTTPHandler.do_request_
  
  /opt/conda/lib/python3.7/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
     1350                           encode_chunked=req.has_header('Transfer-encoding'))
     1351             except OSError as err: # timeout error
  -&gt; 1352                 raise URLError(err)
     1353             r = h.getresponse()
     1354         except:
  
  URLError: &lt;urlopen error [Errno -3] Temporary failure in name resolution&gt;
  </code></pre>