Downloading detection model 'PP-OCRv5_mobile' to immich_machine_learning | /cache/ocr/PP-OCRv5_mobile/detection/model.onnx. immich_machine_learning | This may take a while. immich_machine_learning | [11/16/25 10:25:44] INFO Initiating download: immich_machine_learning | https://www.modelscope.cn/models/RapidAI/RapidOCR/r immich_machine_learning | esolve/v3.4.0/onnx/PP-OCRv5/det/ch_PP-OCRv5_mobile_ immich_machine_learning | det.onnx immich_machine_learning | [11/16/25 10:26:46] ERROR Download failed: immich_machine_learning | https://www.modelscope.cn/models/RapidAI/RapidOCR/r immich_machine_learning | esolve/v3.4.0/onnx/PP-OCRv5/det/ch_PP-OCRv5_mobile_ immich_machine_learning | det.onnx immich_machine_learning | [11/16/25 10:26:46] INFO Loading recognition model 'buffalo_l' to memory immich_machine_learning | [11/16/25 10:26:46] ERROR Exception in ASGI application immich_machine_learning | immich_machine_learning | ╭─────── Traceback (most recent call last) ───────╮ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:467 in _make_request │ immich_machine_learning | │ │ immich_machine_learning | │ 464 │ │ try: │ immich_machine_learning | │ 465 │ │ │ # Trigger any extra validati │ immich_machine_learning | │ 466 │ │ │ try: │ immich_machine_learning | │ ❱ 467 │ │ │ │ self._validate_conn(conn │ immich_machine_learning | │ 468 │ │ │ except (SocketTimeout, BaseS │ immich_machine_learning | │ 469 │ │ │ │ self._raise_timeout(err= │ immich_machine_learning | │ 470 │ │ │ │ raise │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:1096 in _validate_conn │ immich_machine_learning | │ │ immich_machine_learning | │ 1093 │ │ │ immich_machine_learning | │ 1094 │ │ # Force connect early to allow u │ immich_machine_learning | │ 1095 │ │ if conn.is_closed: │ immich_machine_learning | │ ❱ 1096 │ │ │ conn.connect() │ immich_machine_learning | │ 1097 │ │ │ immich_machine_learning | │ 1098 │ │ if not conn.is_verified: │ immich_machine_learning | │ 1099 │ │ │ warnings.warn( │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connection.py:642 in connect │ immich_machine_learning | │ │ immich_machine_learning | │ 639 │ │ │ │ SystemTimeWarning, │ immich_machine_learning | │ 640 │ │ │ ) │ immich_machine_learning | │ 641 │ │ │ immich_machine_learning | │ ❱ 642 │ │ sock_and_verified = _ssl_wrap_soc │ immich_machine_learning | │ 643 │ │ │ sock=sock, │ immich_machine_learning | │ 644 │ │ │ cert_reqs=self.cert_reqs, │ immich_machine_learning | │ 645 │ │ │ ssl_version=self.ssl_version, │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connection.py:782 in │ immich_machine_learning | │ _ssl_wrap_socket_and_match_hostname │ immich_machine_learning | │ │ immich_machine_learning | │ 779 │ │ if is_ipaddress(normalized): │ immich_machine_learning | │ 780 │ │ │ server_hostname = normalized │ immich_machine_learning | │ 781 │ │ immich_machine_learning | │ ❱ 782 │ ssl_sock = ssl_wrap_socket( │ immich_machine_learning | │ 783 │ │ sock=sock, │ immich_machine_learning | │ 784 │ │ keyfile=key_file, │ immich_machine_learning | │ 785 │ │ certfile=cert_file, │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ util/ssl_.py:470 in ssl_wrap_socket │ immich_machine_learning | │ │ immich_machine_learning | │ 467 │ except NotImplementedError: # Defens │ immich_machine_learning | │ 468 │ │ pass │ immich_machine_learning | │ 469 │ │ immich_machine_learning | │ ❱ 470 │ ssl_sock = _ssl_wrap_socket_impl(sock │ immich_machine_learning | │ 471 │ return ssl_sock │ immich_machine_learning | │ 472 │ immich_machine_learning | │ 473 │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ util/ssl_.py:514 in _ssl_wrap_socket_impl │ immich_machine_learning | │ │ immich_machine_learning | │ 511 │ │ SSLTransport._validate_ssl_contex │ immich_machine_learning | │ 512 │ │ return SSLTransport(sock, ssl_con │ immich_machine_learning | │ 513 │ │ immich_machine_learning | │ ❱ 514 │ return ssl_context.wrap_socket(sock, │ immich_machine_learning | │ 515 │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/local/lib/python3.11/ssl.py:517 in │ immich_machine_learning | │ wrap_socket │ immich_machine_learning | │ │ immich_machine_learning | │ 514 │ │ │ │ │ server_hostname=None │ immich_machine_learning | │ 515 │ │ # SSLSocket class handles server │ immich_machine_learning | │ 516 │ │ # ctx._wrap_socket() │ immich_machine_learning | │ ❱ 517 │ │ return self.sslsocket_class._cre │ immich_machine_learning | │ 518 │ │ │ sock=sock, │ immich_machine_learning | │ 519 │ │ │ server_side=server_side, │ immich_machine_learning | │ 520 │ │ │ do_handshake_on_connect=do_h │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/local/lib/python3.11/ssl.py:1104 in │ immich_machine_learning | │ _create │ immich_machine_learning | │ │ immich_machine_learning | │ 1101 │ │ │ │ │ if timeout == 0.0: │ immich_machine_learning | │ 1102 │ │ │ │ │ │ # non-blocking │ immich_machine_learning | │ 1103 │ │ │ │ │ │ raise ValueError │ immich_machine_learning | │ specified for non-blocking sockets") │ immich_machine_learning | │ ❱ 1104 │ │ │ │ │ self.do_handshake() │ immich_machine_learning | │ 1105 │ │ except: │ immich_machine_learning | │ 1106 │ │ │ try: │ immich_machine_learning | │ 1107 │ │ │ │ self.close() │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/local/lib/python3.11/ssl.py:1382 in │ immich_machine_learning | │ do_handshake │ immich_machine_learning | │ │ immich_machine_learning | │ 1379 │ │ try: │ immich_machine_learning | │ 1380 │ │ │ if timeout == 0.0 and block: │ immich_machine_learning | │ 1381 │ │ │ │ self.settimeout(None) │ immich_machine_learning | │ ❱ 1382 │ │ │ self._sslobj.do_handshake() │ immich_machine_learning | │ 1383 │ │ finally: │ immich_machine_learning | │ 1384 │ │ │ self.settimeout(timeout) │ immich_machine_learning | │ 1385 │ immich_machine_learning | ╰─────────────────────────────────────────────────╯ immich_machine_learning | TimeoutError: _ssl.c:999: The handshake operation immich_machine_learning | timed out immich_machine_learning | immich_machine_learning | The above exception was the direct cause of the immich_machine_learning | following exception: immich_machine_learning | immich_machine_learning | ╭─────── Traceback (most recent call last) ───────╮ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /adapters.py:667 in send │ immich_machine_learning | │ │ immich_machine_learning | │ 664 │ │ │ timeout = TimeoutSauce(connec │ immich_machine_learning | │ 665 │ │ │ immich_machine_learning | │ 666 │ │ try: │ immich_machine_learning | │ ❱ 667 │ │ │ resp = conn.urlopen( │ immich_machine_learning | │ 668 │ │ │ │ method=request.method, │ immich_machine_learning | │ 669 │ │ │ │ url=url, │ immich_machine_learning | │ 670 │ │ │ │ body=request.body, │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:844 in urlopen │ immich_machine_learning | │ │ immich_machine_learning | │ 841 │ │ │ elif isinstance(new_e, (OSEr │ immich_machine_learning | │ 842 │ │ │ │ new_e = ProtocolError("C │ immich_machine_learning | │ 843 │ │ │ │ immich_machine_learning | │ ❱ 844 │ │ │ retries = retries.increment( │ immich_machine_learning | │ 845 │ │ │ │ method, url, error=new_e │ immich_machine_learning | │ 846 │ │ │ ) │ immich_machine_learning | │ 847 │ │ │ retries.sleep() │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ util/retry.py:470 in increment │ immich_machine_learning | │ │ immich_machine_learning | │ 467 │ │ elif error and self._is_read_erro │ immich_machine_learning | │ 468 │ │ │ # Read retry? │ immich_machine_learning | │ 469 │ │ │ if read is False or method is │ immich_machine_learning | │ ❱ 470 │ │ │ │ raise reraise(type(error) │ immich_machine_learning | │ 471 │ │ │ elif read is not None: │ immich_machine_learning | │ 472 │ │ │ │ read -= 1 │ immich_machine_learning | │ 473 │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ util/util.py:39 in reraise │ immich_machine_learning | │ │ immich_machine_learning | │ 36 │ try: │ immich_machine_learning | │ 37 │ │ if value.__traceback__ is not tb: │ immich_machine_learning | │ 38 │ │ │ raise value.with_traceback(tb) │ immich_machine_learning | │ ❱ 39 │ │ raise value │ immich_machine_learning | │ 40 │ finally: │ immich_machine_learning | │ 41 │ │ value = None # type: ignore[assig │ immich_machine_learning | │ 42 │ │ tb = None │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:790 in urlopen │ immich_machine_learning | │ │ immich_machine_learning | │ 787 │ │ │ response_conn = conn if not │ immich_machine_learning | │ 788 │ │ │ │ immich_machine_learning | │ 789 │ │ │ # Make the request on the HT │ immich_machine_learning | │ ❱ 790 │ │ │ response = self._make_reques │ immich_machine_learning | │ 791 │ │ │ │ conn, │ immich_machine_learning | │ 792 │ │ │ │ method, │ immich_machine_learning | │ 793 │ │ │ │ url, │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:491 in _make_request │ immich_machine_learning | │ │ immich_machine_learning | │ 488 │ │ │ │ new_e, (OSError, NewConn │ immich_machine_learning | │ 489 │ │ │ ) and (conn and conn.proxy a │ immich_machine_learning | │ 490 │ │ │ │ new_e = _wrap_proxy_erro │ immich_machine_learning | │ ❱ 491 │ │ │ raise new_e │ immich_machine_learning | │ 492 │ │ │ immich_machine_learning | │ 493 │ │ # conn.request() calls http.clie │ immich_machine_learning | │ 494 │ │ # urllib3.request. It also calls │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:469 in _make_request │ immich_machine_learning | │ │ immich_machine_learning | │ 466 │ │ │ try: │ immich_machine_learning | │ 467 │ │ │ │ self._validate_conn(conn │ immich_machine_learning | │ 468 │ │ │ except (SocketTimeout, BaseS │ immich_machine_learning | │ ❱ 469 │ │ │ │ self._raise_timeout(err= │ immich_machine_learning | │ 470 │ │ │ │ raise │ immich_machine_learning | │ 471 │ │ │ immich_machine_learning | │ 472 │ │ # _validate_conn() starts the co │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/urllib3/ │ immich_machine_learning | │ connectionpool.py:370 in _raise_timeout │ immich_machine_learning | │ │ immich_machine_learning | │ 367 │ │ """Is the error actually a timeo │ immich_machine_learning | │ 368 │ │ │ immich_machine_learning | │ 369 │ │ if isinstance(err, SocketTimeout │ immich_machine_learning | │ ❱ 370 │ │ │ raise ReadTimeoutError( │ immich_machine_learning | │ 371 │ │ │ │ self, url, f"Read timed │ immich_machine_learning | │ 372 │ │ │ ) from err │ immich_machine_learning | │ 373 │ immich_machine_learning | ╰─────────────────────────────────────────────────╯ immich_machine_learning | ReadTimeoutError: immich_machine_learning | HTTPSConnectionPool(host='cdn-lfs-cn-1.modelscope.c immich_machine_learning | n', port=443): Read timed out. (read timeout=60) immich_machine_learning | immich_machine_learning | During handling of the above exception, another immich_machine_learning | exception occurred: immich_machine_learning | immich_machine_learning | ╭─────── Traceback (most recent call last) ───────╮ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/rapidocr │ immich_machine_learning | │ /utils/download_file.py:70 in │ immich_machine_learning | │ _make_http_request │ immich_machine_learning | │ │ immich_machine_learning | │ 67 │ def _make_http_request(cls, url: str, │ immich_machine_learning | │ 68 │ │ logger.info("Initiating download: │ immich_machine_learning | │ 69 │ │ try: │ immich_machine_learning | │ ❱ 70 │ │ │ response = requests.get(url, │ immich_machine_learning | │ 71 │ │ │ response.raise_for_status() │ immich_machine_learning | │ 72 │ │ │ return response │ immich_machine_learning | │ 73 │ │ except requests.RequestException │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /api.py:73 in get │ immich_machine_learning | │ │ immich_machine_learning | │ 70 │ :rtype: requests.Response │ immich_machine_learning | │ 71 │ """ │ immich_machine_learning | │ 72 │ │ immich_machine_learning | │ ❱ 73 │ return request("get", url, params=par │ immich_machine_learning | │ 74 │ immich_machine_learning | │ 75 │ immich_machine_learning | │ 76 def options(url, **kwargs): │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /api.py:59 in request │ immich_machine_learning | │ │ immich_machine_learning | │ 56 │ # avoid leaving sockets open which ca │ immich_machine_learning | │ 57 │ # cases, and look like a memory leak │ immich_machine_learning | │ 58 │ with sessions.Session() as session: │ immich_machine_learning | │ ❱ 59 │ │ return session.request(method=met │ immich_machine_learning | │ 60 │ immich_machine_learning | │ 61 │ immich_machine_learning | │ 62 def get(url, params=None, **kwargs): │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /sessions.py:589 in request │ immich_machine_learning | │ │ immich_machine_learning | │ 586 │ │ │ "allow_redirects": allow_redi │ immich_machine_learning | │ 587 │ │ } │ immich_machine_learning | │ 588 │ │ send_kwargs.update(settings) │ immich_machine_learning | │ ❱ 589 │ │ resp = self.send(prep, **send_kwa │ immich_machine_learning | │ 590 │ │ │ immich_machine_learning | │ 591 │ │ return resp │ immich_machine_learning | │ 592 │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /sessions.py:724 in send │ immich_machine_learning | │ │ immich_machine_learning | │ 721 │ │ if allow_redirects: │ immich_machine_learning | │ 722 │ │ │ # Redirect resolving generato │ immich_machine_learning | │ 723 │ │ │ gen = self.resolve_redirects( │ immich_machine_learning | │ ❱ 724 │ │ │ history = [resp for resp in g │ immich_machine_learning | │ 725 │ │ else: │ immich_machine_learning | │ 726 │ │ │ history = [] │ immich_machine_learning | │ 727 │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /sessions.py:724 in │ immich_machine_learning | │ │ immich_machine_learning | │ 721 │ │ if allow_redirects: │ immich_machine_learning | │ 722 │ │ │ # Redirect resolving generato │ immich_machine_learning | │ 723 │ │ │ gen = self.resolve_redirects( │ immich_machine_learning | │ ❱ 724 │ │ │ history = [resp for resp in g │ immich_machine_learning | │ 725 │ │ else: │ immich_machine_learning | │ 726 │ │ │ history = [] │ immich_machine_learning | │ 727 │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /sessions.py:265 in resolve_redirects │ immich_machine_learning | │ │ immich_machine_learning | │ 262 │ │ │ if yield_requests: │ immich_machine_learning | │ 263 │ │ │ │ yield req │ immich_machine_learning | │ 264 │ │ │ else: │ immich_machine_learning | │ ❱ 265 │ │ │ │ resp = self.send( │ immich_machine_learning | │ 266 │ │ │ │ │ req, │ immich_machine_learning | │ 267 │ │ │ │ │ stream=stream, │ immich_machine_learning | │ 268 │ │ │ │ │ timeout=timeout, │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /sessions.py:703 in send │ immich_machine_learning | │ │ immich_machine_learning | │ 700 │ │ start = preferred_clock() │ immich_machine_learning | │ 701 │ │ │ immich_machine_learning | │ 702 │ │ # Send the request │ immich_machine_learning | │ ❱ 703 │ │ r = adapter.send(request, **kwarg │ immich_machine_learning | │ 704 │ │ │ immich_machine_learning | │ 705 │ │ # Total elapsed time of the reque │ immich_machine_learning | │ 706 │ │ elapsed = preferred_clock() - sta │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/requests │ immich_machine_learning | │ /adapters.py:713 in send │ immich_machine_learning | │ │ immich_machine_learning | │ 710 │ │ │ │ # This branch is for urll │ immich_machine_learning | │ 711 │ │ │ │ raise SSLError(e, request │ immich_machine_learning | │ 712 │ │ │ elif isinstance(e, ReadTimeou │ immich_machine_learning | │ ❱ 713 │ │ │ │ raise ReadTimeout(e, requ │ immich_machine_learning | │ 714 │ │ │ elif isinstance(e, _InvalidHe │ immich_machine_learning | │ 715 │ │ │ │ raise InvalidHeader(e, re │ immich_machine_learning | │ 716 │ │ │ else: │ immich_machine_learning | ╰─────────────────────────────────────────────────╯ immich_machine_learning | ReadTimeout: immich_machine_learning | HTTPSConnectionPool(host='cdn-lfs-cn-1.modelscope.c immich_machine_learning | n', port=443): Read timed out. (read timeout=60) immich_machine_learning | immich_machine_learning | The above exception was the direct cause of the immich_machine_learning | following exception: immich_machine_learning | immich_machine_learning | ╭─────── Traceback (most recent call last) ───────╮ immich_machine_learning | │ /usr/src/immich_ml/main.py:177 in predict │ immich_machine_learning | │ │ immich_machine_learning | │ 174 │ │ inputs = text │ immich_machine_learning | │ 175 │ else: │ immich_machine_learning | │ 176 │ │ raise HTTPException(400, "Either │ immich_machine_learning | │ ❱ 177 │ response = await run_inference(inputs │ immich_machine_learning | │ 178 │ return ORJSONResponse(response) │ immich_machine_learning | │ 179 │ immich_machine_learning | │ 180 │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/main.py:202 in run_inference │ immich_machine_learning | │ │ immich_machine_learning | │ 199 │ │ response[entry["task"]] = output │ immich_machine_learning | │ 200 │ │ immich_machine_learning | │ 201 │ without_deps, with_deps = entries │ immich_machine_learning | │ ❱ 202 │ await asyncio.gather(*[_run_inference │ immich_machine_learning | │ 203 │ if with_deps: │ immich_machine_learning | │ 204 │ │ await asyncio.gather(*[_run_infer │ immich_machine_learning | │ 205 │ if isinstance(payload, Image): │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/main.py:196 in │ immich_machine_learning | │ _run_inference │ immich_machine_learning | │ │ immich_machine_learning | │ 193 │ │ │ except KeyError: │ immich_machine_learning | │ 194 │ │ │ │ message = f"Task {entry[' │ immich_machine_learning | │ output of {dep}" │ immich_machine_learning | │ 195 │ │ │ │ raise HTTPException(400, │ immich_machine_learning | │ ❱ 196 │ │ model = await load(model) │ immich_machine_learning | │ 197 │ │ output = await run(model.predict, │ immich_machine_learning | │ 198 │ │ outputs[model.identity] = output │ immich_machine_learning | │ 199 │ │ response[entry["task"]] = output │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/main.py:240 in load │ immich_machine_learning | │ │ immich_machine_learning | │ 237 │ │ return model │ immich_machine_learning | │ 238 │ │ immich_machine_learning | │ 239 │ try: │ immich_machine_learning | │ ❱ 240 │ │ return await run(_load, model) │ immich_machine_learning | │ 241 │ except (OSError, InvalidProtobuf, Bad │ immich_machine_learning | │ 242 │ │ log.warning(f"Failed to load {mod │ immich_machine_learning | │ '{model.model_name}'. Clearing cache.") │ immich_machine_learning | │ 243 │ │ model.clear_cache() │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/main.py:215 in run │ immich_machine_learning | │ │ immich_machine_learning | │ 212 │ if thread_pool is None: │ immich_machine_learning | │ 213 │ │ return func(*args, **kwargs) │ immich_machine_learning | │ 214 │ partial_func = partial(func, *args, * │ immich_machine_learning | │ ❱ 215 │ return await asyncio.get_running_loop │ immich_machine_learning | │ 216 │ immich_machine_learning | │ 217 │ immich_machine_learning | │ 218 async def load(model: InferenceModel) -> │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/local/lib/python3.11/concurrent/futures/th │ immich_machine_learning | │ read.py:58 in run │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/main.py:227 in _load │ immich_machine_learning | │ │ immich_machine_learning | │ 224 │ │ │ raise HTTPException(500, f"Fa │ immich_machine_learning | │ 225 │ │ with lock: │ immich_machine_learning | │ 226 │ │ │ try: │ immich_machine_learning | │ ❱ 227 │ │ │ │ model.load() │ immich_machine_learning | │ 228 │ │ │ except FileNotFoundError as e │ immich_machine_learning | │ 229 │ │ │ │ if model.model_format == │ immich_machine_learning | │ 230 │ │ │ │ │ raise e │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/models/base.py:50 in load │ immich_machine_learning | │ │ immich_machine_learning | │ 47 │ │ │ return │ immich_machine_learning | │ 48 │ │ self.load_attempts += 1 │ immich_machine_learning | │ 49 │ │ │ immich_machine_learning | │ ❱ 50 │ │ self.download() │ immich_machine_learning | │ 51 │ │ attempt = f"Attempt #{self.load_a │ immich_machine_learning | │ else "Loading" │ immich_machine_learning | │ 52 │ │ log.info(f"{attempt} {self.model_ │ immich_machine_learning | │ '{self.model_name}' to memory") │ immich_machine_learning | │ 53 │ │ self.session = self._load() │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/models/base.py:43 in │ immich_machine_learning | │ download │ immich_machine_learning | │ │ immich_machine_learning | │ 40 │ │ if not self.cached: │ immich_machine_learning | │ 41 │ │ │ model_type = self.model_type. │ immich_machine_learning | │ 42 │ │ │ log.info(f"Downloading {model │ immich_machine_learning | │ {self.model_path}. This may take a while. │ immich_machine_learning | │ ❱ 43 │ │ │ self._download() │ immich_machine_learning | │ 44 │ │ immich_machine_learning | │ 45 │ def load(self) -> None: │ immich_machine_learning | │ 46 │ │ if self.loaded: │ immich_machine_learning | │ │ immich_machine_learning | │ /usr/src/immich_ml/models/ocr/detection.py:59 │ immich_machine_learning | │ in _download │ immich_machine_learning | │ │ immich_machine_learning | │ 56 │ │ │ save_path=self.model_path, │ immich_machine_learning | │ 57 │ │ │ logger=log, │ immich_machine_learning | │ 58 │ │ ) │ immich_machine_learning | │ ❱ 59 │ │ DownloadFile.run(download_params) │ immich_machine_learning | │ 60 │ │ immich_machine_learning | │ 61 │ def _load(self) -> ModelSession: │ immich_machine_learning | │ 62 │ │ # TODO: support other runtime ses │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/rapidocr │ immich_machine_learning | │ /utils/download_file.py:40 in run │ immich_machine_learning | │ │ immich_machine_learning | │ 37 │ │ if cls._should_skip_download(save │ immich_machine_learning | │ 38 │ │ │ return │ immich_machine_learning | │ 39 │ │ │ immich_machine_learning | │ ❱ 40 │ │ response = cls._make_http_request │ immich_machine_learning | │ 41 │ │ cls._save_response_with_progress( │ immich_machine_learning | │ 42 │ │ immich_machine_learning | │ 43 │ @staticmethod │ immich_machine_learning | │ │ immich_machine_learning | │ /opt/venv/lib/python3.11/site-packages/rapidocr │ immich_machine_learning | │ /utils/download_file.py:75 in │ immich_machine_learning | │ _make_http_request │ immich_machine_learning | │ │ immich_machine_learning | │ 72 │ │ │ return response │ immich_machine_learning | │ 73 │ │ except requests.RequestException │ immich_machine_learning | │ 74 │ │ │ logger.error("Download failed │ immich_machine_learning | │ ❱ 75 │ │ │ raise DownloadFileException(f │ immich_machine_learning | │ 76 │ │ immich_machine_learning | │ 77 │ @classmethod │ immich_machine_learning | │ 78 │ def _save_response_with_progress( │ immich_machine_learning | ╰─────────────────────────────────────────────────╯ immich_machine_learning | DownloadFileException: Failed to download immich_machine_learning | https://www.modelscope.cn/models/RapidAI/RapidOCR/r immich_machine_learning | esolve/v3.4.0/onnx/PP-OCRv5/det/ch_PP-OCRv5_mobile_ immich_machine_learning | det.onnx