ai-toolkit icon indicating copy to clipboard operation
ai-toolkit copied to clipboard

cannot import name 'preserve_channel_dim' from 'albucore.utils'

Open davsharian opened this issue 1 year ago • 4 comments

I'm getting this error when trying to start training

Error running job: cannot import name 'preserve_channel_dim' from 'albucore.utils' (/home/sharian/Documents/ai-toolkit/venv/lib/python3.10/site-packages/albucore/utils.py)

======================================== Result:

  • 0 completed jobs
  • 1 failure ======================================== Traceback (most recent call last): File "/home/sharian/Documents/ai-toolkit/run.py", line 90, in main() File "/home/sharian/Documents/ai-toolkit/run.py", line 86, in main raise e File "/home/sharian/Documents/ai-toolkit/run.py", line 77, in main job = get_job(config_file, args.name) File "/home/sharian/Documents/ai-toolkit/toolkit/job.py", line 28, in get_job from jobs import ExtensionJob File "/home/sharian/Documents/ai-toolkit/jobs/init.py", line 1, in from .BaseJob import BaseJob File "/home/sharian/Documents/ai-toolkit/jobs/BaseJob.py", line 5, in from jobs.process import BaseProcess File "/home/sharian/Documents/ai-toolkit/jobs/process/init.py", line 6, in from .TrainVAEProcess import TrainVAEProcess File "/home/sharian/Documents/ai-toolkit/jobs/process/TrainVAEProcess.py", line 19, in from toolkit.data_loader import ImageDataset File "/home/sharian/Documents/ai-toolkit/toolkit/data_loader.py", line 17, in import albumentations as A File "/home/sharian/Documents/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/init.py", line 6, in from .augmentations import * File "/home/sharian/Documents/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/augmentations/init.py", line 1, in from .blur.functional import * File "/home/sharian/Documents/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/augmentations/blur/init.py", line 1, in from .functional import * File "/home/sharian/Documents/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/augmentations/blur/functional.py", line 9, in from albucore.utils import clipped, maybe_process_in_chunks, preserve_channel_dim ImportError: cannot import name 'preserve_channel_dim' from 'albucore.utils' (/home/sharian/Documents/ai-toolkit/venv/lib/python3.10/site-packages/albucore/utils.py)

I've tried to uninstall and force install albumentations but that not works, also I've checked the ai-toolkit/venv/lib/python3.10/site-packages/albucore/utils.py file, and preserve_channel_dim function was missing.

davsharian avatar Sep 20 '24 22:09 davsharian

Came to share the same. I am getting the same error. Yesterday I did a training and it went well. I'll try to pull the previous commit to the aparent merge happened yesterday and see if it helps

Edit. Did not work either. Ater running training:

2024-09-20 23:15:30,391 - INFO - Processed images in /workspace/data
2024-09-20 23:15:30,391 - INFO - Pre-process completed
Traceback (most recent call last):
  File "/workspace/ai-toolkit/train.py", line 247, in <module>
    main()
  File "/workspace/ai-toolkit/train.py", line 244, in main
    run_job(job_to_run)
  File "/workspace/ai-toolkit/toolkit/job.py", line 42, in run_job
    job = get_job(config, name)
  File "/workspace/ai-toolkit/toolkit/job.py", line 28, in get_job
    from jobs import ExtensionJob
  File "/workspace/ai-toolkit/jobs/__init__.py", line 1, in <module>
    from .BaseJob import BaseJob
  File "/workspace/ai-toolkit/jobs/BaseJob.py", line 5, in <module>
    from jobs.process import BaseProcess
  File "/workspace/ai-toolkit/jobs/process/__init__.py", line 6, in <module>
    from .TrainVAEProcess import TrainVAEProcess
  File "/workspace/ai-toolkit/jobs/process/TrainVAEProcess.py", line 19, in <module>
    from toolkit.data_loader import ImageDataset
  File "/workspace/ai-toolkit/toolkit/data_loader.py", line 17, in <module>
    import albumentations as A
  File "/workspace/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/__init__.py", line 6, in <module>
    from .augmentations import *
  File "/workspace/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/augmentations/__init__.py", line 1, in <module>
    from .blur.functional import *
  File "/workspace/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/augmentations/blur/__init__.py", line 1, in <module>
    from .functional import *
  File "/workspace/ai-toolkit/venv/lib/python3.10/site-packages/albumentations/augmentations/blur/functional.py", line 9, in <module>
    from albucore.utils import clipped, maybe_process_in_chunks, preserve_channel_dim
ImportError: cannot import name 'preserve_channel_dim' from 'albucore.utils' (/workspace/ai-toolkit/venv/lib/python3.10/site-packages/albucore/utils.py)

mperez96 avatar Sep 20 '24 22:09 mperez96

yeah, me too, the new update just cant run training. did all the steps as before and got the same error as above

dugemkakek avatar Sep 21 '24 03:09 dugemkakek

The version of albucore that albumentations depends on is incorrect. just downgrade do pip install albucore==0.0.16

coolmian avatar Sep 21 '24 04:09 coolmian

thanks @coolmian this worked :)

mperez96 avatar Sep 21 '24 05:09 mperez96

Fixed with https://github.com/ostris/ai-toolkit/commit/d97c55cd96da5ab90ea9134852290c6d4470bce3

jaretburkett avatar Sep 21 '24 17:09 jaretburkett

Thanks @coolmian it works.

Tusharkakad007 avatar Mar 28 '25 05:03 Tusharkakad007