Advertisement
Guest User

Untitled

a guest
Jun 12th, 2025
8
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.68 KB | None | 0 0
  1. RuntimeError: Data processing error: I/O error: Permission denied (os error 13)
  2. Fetching 339 files: 0%| | 0/339 [00:00<?, ?it/s]
  3. Fetching 339 files: 1%| | 3/339 [00:00<00:26, 12.46it/s]
  4.  
  5. [06/12/25 21:51:00] ERROR Exception in ASGI application
  6.  
  7.  
  8.  
  9. ╭─────── Traceback (most recent call last) ───────╮
  10.  
  11. │ /usr/src/immich_ml/main.py:177 in predict │
  12.  
  13. │ │
  14.  
  15. │ 174 │ │ inputs = text │
  16.  
  17. │ 175 │ else: │
  18.  
  19. │ 176 │ │ raise HTTPException(400, "Either │
  20.  
  21. │ ❱ 177 │ response = await run_inference(inputs │
  22.  
  23. │ 178 │ return ORJSONResponse(response) │
  24.  
  25. │ 179 │
  26.  
  27. │ 180 │
  28.  
  29. │ │
  30.  
  31. │ /usr/src/immich_ml/main.py:200 in run_inference │
  32.  
  33. │ │
  34.  
  35. │ 197 │ │ response[entry["task"]] = output │
  36.  
  37. │ 198 │ │
  38.  
  39. │ 199 │ without_deps, with_deps = entries │
  40.  
  41. │ ❱ 200 │ await asyncio.gather(*[_run_inference │
  42.  
  43. │ 201 │ if with_deps: │
  44.  
  45. │ 202 │ │ await asyncio.gather(*[_run_infer │
  46.  
  47. │ 203 │ if isinstance(payload, Image): │
  48.  
  49. │ │
  50.  
  51. │ /usr/src/immich_ml/main.py:194 in │
  52.  
  53. │ _run_inference │
  54.  
  55. │ │
  56.  
  57. │ 191 │ │ │ except KeyError: │
  58.  
  59. │ 192 │ │ │ │ message = f"Task {entry[' │
  60.  
  61. │ output of {dep}" │
  62.  
  63. │ 193 │ │ │ │ raise HTTPException(400, │
  64.  
  65. │ ❱ 194 │ │ model = await load(model) │
  66.  
  67. │ 195 │ │ output = await run(model.predict, │
  68.  
  69. │ 196 │ │ outputs[model.identity] = output │
  70.  
  71. │ 197 │ │ response[entry["task"]] = output │
  72.  
  73. │ │
  74.  
  75. │ /usr/src/immich_ml/main.py:238 in load │
  76.  
  77. │ │
  78.  
  79. │ 235 │ │ return model │
  80.  
  81. │ 236 │ │
  82.  
  83. │ 237 │ try: │
  84.  
  85. │ ❱ 238 │ │ return await run(_load, model) │
  86.  
  87. │ 239 │ except (OSError, InvalidProtobuf, Bad │
  88.  
  89. │ 240 │ │ log.warning(f"Failed to load {mod │
  90.  
  91. │ '{model.model_name}'. Clearing cache.") │
  92.  
  93. │ 241 │ │ model.clear_cache() │
  94.  
  95. │ │
  96.  
  97. │ /usr/src/immich_ml/main.py:213 in run │
  98.  
  99. │ │
  100.  
  101. │ 210 │ if thread_pool is None: │
  102.  
  103. │ 211 │ │ return func(*args, **kwargs) │
  104.  
  105. │ 212 │ partial_func = partial(func, *args, * │
  106.  
  107. │ ❱ 213 │ return await asyncio.get_running_loop │
  108.  
  109. │ 214 │
  110.  
  111. │ 215 │
  112.  
  113. │ 216 async def load(model: InferenceModel) -> │
  114.  
  115. │ │
  116.  
  117. │ /usr/local/lib/python3.11/concurrent/futures/th │
  118.  
  119. │ read.py:58 in run │
  120.  
  121. │ │
  122.  
  123. │ /usr/src/immich_ml/main.py:225 in _load │
  124.  
  125. │ │
  126.  
  127. │ 222 │ │ │ raise HTTPException(500, f"Fa │
  128.  
  129. │ 223 │ │ with lock: │
  130.  
  131. │ 224 │ │ │ try: │
  132.  
  133. │ ❱ 225 │ │ │ │ model.load() │
  134.  
  135. │ 226 │ │ │ except FileNotFoundError as e │
  136.  
  137. │ 227 │ │ │ │ if model.model_format == │
  138.  
  139. │ 228 │ │ │ │ │ raise e │
  140.  
  141. │ │
  142.  
  143. │ /usr/src/immich_ml/models/base.py:51 in load │
  144.  
  145. │ │
  146.  
  147. │ 48 │ │ │ return │
  148.  
  149. │ 49 │ │ self.load_attempts += 1 │
  150.  
  151. │ 50 │ │ │
  152.  
  153. │ ❱ 51 │ │ self.download() │
  154.  
  155. │ 52 │ │ attempt = f"Attempt #{self.load_a │
  156.  
  157. │ else "Loading" │
  158.  
  159. │ 53 │ │ log.info(f"{attempt} {self.model_ │
  160.  
  161. │ '{self.model_name}' to memory") │
  162.  
  163. │ 54 │ │ self.session = self._load() │
  164.  
  165. │ │
  166.  
  167. │ /usr/src/immich_ml/models/base.py:44 in │
  168.  
  169. │ download │
  170.  
  171. │ │
  172.  
  173. │ 41 │ │ │ log.info( │
  174.  
  175. │ 42 │ │ │ │ f"Downloading {self.model │
  176.  
  177. │ '{self.model_name}'. This may take a whil │
  178.  
  179. │ 43 │ │ │ ) │
  180.  
  181. │ ❱ 44 │ │ │ self._download() │
  182.  
  183. │ 45 │ │
  184.  
  185. │ 46 │ def load(self) -> None: │
  186.  
  187. │ 47 │ │ if self.loaded: │
  188.  
  189. │ │
  190.  
  191. │ /usr/src/immich_ml/models/base.py:76 in │
  192.  
  193. │ _download │
  194.  
  195. │ │
  196.  
  197. │ 73 │ │ │ ModelFormat.RKNN: ["*.armnn"] │
  198.  
  199. │ 74 │ │ } │
  200.  
  201. │ 75 │ │ │
  202.  
  203. │ ❱ 76 │ │ snapshot_download( │
  204.  
  205. │ 77 │ │ │ f"immich-app/{clean_name(self │
  206.  
  207. │ 78 │ │ │ cache_dir=self.cache_dir, │
  208.  
  209. │ 79 │ │ │ local_dir=self.cache_dir, │
  210.  
  211. │ │
  212.  
  213. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  214.  
  215. │ ace_hub/utils/_validators.py:114 in _inner_fn │
  216.  
  217. │ │
  218.  
  219. │ 111 │ │ if check_use_auth_token: │
  220.  
  221. │ 112 │ │ │ kwargs = smoothly_deprecate_u │
  222.  
  223. │ has_token=has_token, kwargs=kwargs) │
  224.  
  225. │ 113 │ │ │
  226.  
  227. │ ❱ 114 │ │ return fn(*args, **kwargs) │
  228.  
  229. │ 115 │ │
  230.  
  231. │ 116 │ return _inner_fn # type: ignore │
  232.  
  233. │ 117 │
  234.  
  235. │ │
  236.  
  237. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  238.  
  239. │ ace_hub/_snapshot_download.py:297 in │
  240.  
  241. │ snapshot_download │
  242.  
  243. │ │
  244.  
  245. │ 294 │ │ for file in filtered_repo_files: │
  246.  
  247. │ 295 │ │ │ _inner_hf_hub_download(file) │
  248.  
  249. │ 296 │ else: │
  250.  
  251. │ ❱ 297 │ │ thread_map( │
  252.  
  253. │ 298 │ │ │ _inner_hf_hub_download, │
  254.  
  255. │ 299 │ │ │ filtered_repo_files, │
  256.  
  257. │ 300 │ │ │ desc=f"Fetching {len(filtered │
  258.  
  259. │ │
  260.  
  261. │ /opt/venv/lib/python3.11/site-packages/tqdm/con │
  262.  
  263. │ trib/concurrent.py:69 in thread_map │
  264.  
  265. │ │
  266.  
  267. │ 66 │ │ [default: max(32, cpu_count() + 4 │
  268.  
  269. │ 67 │ """ │
  270.  
  271. │ 68 │ from concurrent.futures import Thread │
  272.  
  273. │ ❱ 69 │ return _executor_map(ThreadPoolExecut │
  274.  
  275. │ 70 │
  276.  
  277. │ 71 │
  278.  
  279. │ 72 def process_map(fn, *iterables, **tqdm_kw │
  280.  
  281. │ │
  282.  
  283. │ /opt/venv/lib/python3.11/site-packages/tqdm/con │
  284.  
  285. │ trib/concurrent.py:51 in _executor_map │
  286.  
  287. │ │
  288.  
  289. │ 48 │ │ # share lock in case workers are │
  290.  
  291. │ 49 │ │ with PoolExecutor(max_workers=max │
  292.  
  293. │ 50 │ │ │ │ │ │ initargs=(lk,)) │
  294.  
  295. │ ❱ 51 │ │ │ return list(tqdm_class(ex.map │
  296.  
  297. │ **kwargs)) │
  298.  
  299. │ 52 │
  300.  
  301. │ 53 │
  302.  
  303. │ 54 def thread_map(fn, *iterables, **tqdm_kwa │
  304.  
  305. │ │
  306.  
  307. │ /opt/venv/lib/python3.11/site-packages/tqdm/std │
  308.  
  309. │ .py:1181 in __iter__ │
  310.  
  311. │ │
  312.  
  313. │ 1178 │ │ time = self._time │
  314.  
  315. │ 1179 │ │ │
  316.  
  317. │ 1180 │ │ try: │
  318.  
  319. │ ❱ 1181 │ │ │ for obj in iterable: │
  320.  
  321. │ 1182 │ │ │ │ yield obj │
  322.  
  323. │ 1183 │ │ │ │ # Update and possibly pr │
  324.  
  325. │ 1184 │ │ │ │ # Note: does not call se │
  326.  
  327. │ │
  328.  
  329. │ /usr/local/lib/python3.11/concurrent/futures/_b │
  330.  
  331. │ ase.py:619 in result_iterator │
  332.  
  333. │ │
  334.  
  335. │ /usr/local/lib/python3.11/concurrent/futures/_b │
  336.  
  337. │ ase.py:317 in _result_or_cancel │
  338.  
  339. │ │
  340.  
  341. │ /usr/local/lib/python3.11/concurrent/futures/_b │
  342.  
  343. │ ase.py:456 in result │
  344.  
  345. │ │
  346.  
  347. │ /usr/local/lib/python3.11/concurrent/futures/_b │
  348.  
  349. │ ase.py:401 in __get_result │
  350.  
  351. │ │
  352.  
  353. │ /usr/local/lib/python3.11/concurrent/futures/th │
  354.  
  355. │ read.py:58 in run │
  356.  
  357. │ │
  358.  
  359. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  360.  
  361. │ ace_hub/_snapshot_download.py:271 in │
  362.  
  363. │ _inner_hf_hub_download │
  364.  
  365. │ │
  366.  
  367. │ 268 │ # so no network call happens if we al │
  368.  
  369. │ 269 │ # have the file locally. │
  370.  
  371. │ 270 │ def _inner_hf_hub_download(repo_file: │
  372.  
  373. │ ❱ 271 │ │ return hf_hub_download( │
  374.  
  375. │ 272 │ │ │ repo_id, │
  376.  
  377. │ 273 │ │ │ filename=repo_file, │
  378.  
  379. │ 274 │ │ │ repo_type=repo_type, │
  380.  
  381. │ │
  382.  
  383. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  384.  
  385. │ ace_hub/utils/_validators.py:114 in _inner_fn │
  386.  
  387. │ │
  388.  
  389. │ 111 │ │ if check_use_auth_token: │
  390.  
  391. │ 112 │ │ │ kwargs = smoothly_deprecate_u │
  392.  
  393. │ has_token=has_token, kwargs=kwargs) │
  394.  
  395. │ 113 │ │ │
  396.  
  397. │ ❱ 114 │ │ return fn(*args, **kwargs) │
  398.  
  399. │ 115 │ │
  400.  
  401. │ 116 │ return _inner_fn # type: ignore │
  402.  
  403. │ 117 │
  404.  
  405. │ │
  406.  
  407. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  408.  
  409. │ ace_hub/file_download.py:988 in hf_hub_download │
  410.  
  411. │ │
  412.  
  413. │ 985 │ │ │ │ "For more details, check │
  414.  
  415. │ https://huggingface.co/docs/huggingface_ │
  416.  
  417. │ cal-folder." │
  418.  
  419. │ 986 │ │ │ ) │
  420.  
  421. │ 987 │ │ │
  422.  
  423. │ ❱ 988 │ │ return _hf_hub_download_to_local │
  424.  
  425. │ 989 │ │ │ # Destination │
  426.  
  427. │ 990 │ │ │ local_dir=local_dir, │
  428.  
  429. │ 991 │ │ │ # File info │
  430.  
  431. │ │
  432.  
  433. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  434.  
  435. │ ace_hub/file_download.py:1288 in │
  436.  
  437. │ _hf_hub_download_to_local_dir │
  438.  
  439. │ │
  440.  
  441. │ 1285 │ # Otherwise, let's download the file │
  442.  
  443. │ 1286 │ with WeakFileLock(paths.lock_path): │
  444.  
  445. │ 1287 │ │ paths.file_path.unlink(missing_o │
  446.  
  447. │ ❱ 1288 │ │ _download_to_tmp_and_move( │
  448.  
  449. │ 1289 │ │ │ incomplete_path=paths.incomp │
  450.  
  451. │ 1290 │ │ │ destination_path=paths.file_ │
  452.  
  453. │ 1291 │ │ │ url_to_download=url_to_downl │
  454.  
  455. │ │
  456.  
  457. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  458.  
  459. │ ace_hub/file_download.py:1708 in │
  460.  
  461. │ _download_to_tmp_and_move │
  462.  
  463. │ │
  464.  
  465. │ 1705 │ │ │
  466.  
  467. │ 1706 │ │ if xet_file_data is not None and │
  468.  
  469. │ 1707 │ │ │ logger.info("Xet Storage is │
  470.  
  471. │ Storage..") │
  472.  
  473. │ ❱ 1708 │ │ │ xet_get( │
  474.  
  475. │ 1709 │ │ │ │ incomplete_path=incomple │
  476.  
  477. │ 1710 │ │ │ │ xet_file_data=xet_file_d │
  478.  
  479. │ 1711 │ │ │ │ headers=headers, │
  480.  
  481. │ │
  482.  
  483. │ /opt/venv/lib/python3.11/site-packages/huggingf │
  484.  
  485. │ ace_hub/file_download.py:627 in xet_get │
  486.  
  487. │ │
  488.  
  489. │ 624 │ │ def progress_updater(progress_by │
  490.  
  491. │ 625 │ │ │ progress.update(progress_byt │
  492.  
  493. │ 626 │ │ │
  494.  
  495. │ ❱ 627 │ │ download_files( │
  496.  
  497. │ 628 │ │ │ xet_download_info, │
  498.  
  499. │ 629 │ │ │ endpoint=connection_info.end │
  500.  
  501. │ 630 │ │ │ token_info=(connection_info. │
  502.  
  503. │ connection_info.expiration_unix_epoch), │
  504.  
  505. ╰─────────────────────────────────────────────────╯
  506.  
  507. RuntimeError: Data processing error: I/O error:
  508.  
  509. Permission denied (os error 13)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement