When instantiating MotherNetClassifier in an environment without internet access, the model attempts to download weights from Azure Blob Storage at init time with no way to provide a local path as an alternative, resulting in a hard crash.
Environment:
Downloading model from https://amuellermothernet.blob.core.windows.net/models/mn_Dclass_average_03_25_2024_17_14_32_epoch_3970.cpkt to /home/toolkit/hmnshpl/TFM/external/TICL/ticl/models_diff/mn_Dclass_average_03_25_2024_17_14_32_epoch_3970.cpkt. This can take a bit.
mn_Dclass_average_03_25_2024_17_14_32_epoch_3970.cpkt: 0.00B [00:00, ?B/s]
2026-02-25 06:51:37,794 - ERROR - Error running MotherNet: <urlopen error [Errno -2] Name or service not known>
Traceback (most recent call last):
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 1303, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 1349, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 1298, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 1058, in _send_output
self.send(msg)
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 996, in send
self.connect()
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 1468, in connect
super().connect()
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/http/client.py", line 962, in connect
self.sock = self._create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/socket.py", line 839, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/socket.py", line 974, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/toolkit/hmnshpl/TFM/main.py", line 164, in run_model
model = create_model(
^^^^^^^^^^^^^
File "/home/toolkit/hmnshpl/TFM/models.py", line 923, in create_model
return MotherNetModel(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/hmnshpl/TFM/models.py", line 812, in __init__
self.model = MotherNetClassifier(device=self.device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/hmnshpl/TFM/external/TICL/ticl/prediction/mothernet.py", line 231, in __init__
path = fetch_model(model_string)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/hmnshpl/TFM/external/TICL/ticl/utils.py", line 35, in fetch_model
urllib.request.urlretrieve(url, filename=model_path, reporthook=t.update_to)
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 241, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 519, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 496, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/toolkit/.local/share/uv/python/cpython-3.11.14-linux-x86_64-gnu/lib/python3.11/urllib/request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -2] Name or service not known>
When instantiating MotherNetClassifier in an environment without internet access, the model attempts to download weights from Azure Blob Storage at init time with no way to provide a local path as an alternative, resulting in a hard crash.
Environment: