Lightning-AI / pytorch-lightning

Pretrain, finetune ANY AI model of ANY size on multiple GPUs, TPUs with zero code changes.
https://lightning.ai
Apache License 2.0
28.35k stars 3.38k forks source link

PL_bolt LogisticRegression import not working in collab #15517

Closed Paulda07 closed 1 year ago

Paulda07 commented 2 years ago

Bug description

When I try to import the Logistic Regression model from pl_bolt.models I get this error.

My code (in collab):

!pip install pytorch-lightning-bolts from pl_bolts.models.regression import LogisticRegression

The error:

ImportError Traceback (most recent call last) in ----> 1 from pl_bolts.models import LogisticRegression

3 frames /usr/local/lib/python3.7/dist-packages/pl_bolts/utils/init.py in 1 import torch ----> 2 from pytorch_lightning.utilities import _module_available 3 4 from pl_bolts.callbacks.verification.batch_gradient import BatchGradientVerification # type: ignore 5

ImportError: cannot import name '_module_available' from 'pytorch_lightning.utilities' (/usr/local/lib/python3.7/dist-packages/pytorch_lightning/utilities/init.py)

How to reproduce the bug

#Tried in collab
!pip install pytorch-lightning-bolts
from pl_bolts.models.regression import LogisticRegression

Error messages and logs


# Error messages and logs here please

ImportError Traceback (most recent call last) in ----> 1 from pl_bolts.models import LogisticRegression

3 frames /usr/local/lib/python3.7/dist-packages/pl_bolts/utils/init.py in 1 import torch ----> 2 from pytorch_lightning.utilities import _module_available 3 4 from pl_bolts.callbacks.verification.batch_gradient import BatchGradientVerification # type: ignore 5

ImportError: cannot import name '_module_available' from 'pytorch_lightning.utilities' (/usr/local/lib/python3.7/dist-packages/pytorch_lightning/utilities/init.py)

Environment

--2022-11-03 23:34:16--  https://raw.githubusercontent.com/Lightning-AI/lightning/master/requirements/collect_env_details.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2651 (2.6K) [text/plain]
Saving to: ‘collect_env_details.py’

collect_env_details 100%[===================>]   2.59K  --.-KB/s    in 0s      

2022-11-03 23:34:17 (40.0 MB/s) - ‘collect_env_details.py’ saved [2651/2651]

* CUDA:
    - GPU:
        - Tesla T4
    - available:         True
    - version:           11.3
* Lightning:
    - lightning:         1.9.0.dev0
    - lightning-cloud:   0.5.11
    - lightning-lite:    1.8.0.post1
    - lightning-utilities: 0.3.0
    - pytorch-lightning: 1.8.0.post1
    - pytorch-lightning-bolts: 0.3.2.post1
    - torch:             1.12.1+cu113
    - torchaudio:        0.12.1+cu113
    - torchmetrics:      0.10.2
    - torchsummary:      1.5.1
    - torchtext:         0.13.1
    - torchvision:       0.13.1+cu113
* Packages:
    - absl-py:           1.3.0
    - aeppl:             0.0.33
    - aesara:            2.7.9
    - aiobotocore:       2.4.0
    - aiohttp:           3.8.3
    - aioitertools:      0.11.0
    - aiosignal:         1.2.0
    - alabaster:         0.7.12
    - albumentations:    1.2.1
    - altair:            4.2.0
    - anyio:             3.6.2
    - appdirs:           1.4.4
    - arrow:             1.2.3
    - arviz:             0.12.1
    - astor:             0.8.1
    - astropy:           4.3.1
    - astunparse:        1.6.3
    - async-timeout:     4.0.2
    - asynctest:         0.13.0
    - atari-py:          0.2.9
    - atomicwrites:      1.4.1
    - attrs:             22.1.0
    - audioread:         3.0.0
    - autograd:          1.5
    - babel:             2.10.3
    - backcall:          0.2.0
    - beautifulsoup4:    4.6.3
    - bleach:            5.0.1
    - blessed:           1.19.1
    - blis:              0.7.9
    - bokeh:             2.3.3
    - botocore:          1.27.59
    - branca:            0.5.0
    - bs4:               0.0.1
    - cachecontrol:      0.12.11
    - cached-property:   1.5.2
    - cachetools:        4.2.4
    - catalogue:         2.0.8
    - certifi:           2022.9.24
    - cffi:              1.15.1
    - cftime:            1.6.2
    - chardet:           3.0.4
    - charset-normalizer: 2.1.1
    - click:             7.1.2
    - clikit:            0.6.2
    - cloudpickle:       1.5.0
    - cmake:             3.22.6
    - cmdstanpy:         1.0.8
    - colorcet:          3.0.1
    - colorlover:        0.3.0
    - commonmark:        0.9.1
    - community:         1.0.0b1
    - confection:        0.0.3
    - cons:              0.4.5
    - contextlib2:       0.5.5
    - convertdate:       2.4.0
    - crashtest:         0.3.1
    - crcmod:            1.7
    - croniter:          1.3.7
    - cufflinks:         0.17.3
    - cupy-cuda11x:      11.0.0
    - cvxopt:            1.3.0
    - cvxpy:             1.2.1
    - cycler:            0.11.0
    - cymem:             2.0.7
    - cython:            0.29.32
    - daft:              0.0.4
    - dask:              2022.2.0
    - datascience:       0.17.5
    - debugpy:           1.0.0
    - decorator:         4.4.2
    - deepdiff:          6.2.1
    - defusedxml:        0.7.1
    - descartes:         1.1.0
    - dill:              0.3.6
    - distributed:       2022.2.0
    - dlib:              19.24.0
    - dm-tree:           0.1.7
    - dnspython:         2.2.1
    - docutils:          0.17.1
    - dopamine-rl:       1.0.5
    - earthengine-api:   0.1.329
    - easydict:          1.10
    - ecos:              2.0.10
    - editdistance:      0.5.3
    - email-validator:   1.3.0
    - en-core-web-sm:    3.4.1
    - entrypoints:       0.4
    - ephem:             4.1.3
    - et-xmlfile:        1.1.0
    - etils:             0.8.0
    - etuples:           0.3.8
    - fa2:               0.3.5
    - fastai:            2.7.9
    - fastapi:           0.86.0
    - fastcore:          1.5.27
    - fastdownload:      0.0.7
    - fastdtw:           0.3.4
    - fastjsonschema:    2.16.2
    - fastprogress:      1.0.3
    - fastrlock:         0.8
    - feather-format:    0.4.1
    - filelock:          3.8.0
    - fire:              0.4.0
    - firebase-admin:    4.4.0
    - fix-yahoo-finance: 0.0.22
    - flask:             1.1.4
    - flatbuffers:       1.12
    - folium:            0.12.1.post1
    - frozenlist:        1.3.1
    - fsspec:            2022.10.0
    - future:            0.16.0
    - gast:              0.4.0
    - gdal:              2.2.2
    - gdown:             4.4.0
    - gensim:            3.6.0
    - geographiclib:     1.52
    - geopy:             1.17.0
    - gin-config:        0.5.0
    - glob2:             0.7
    - google:            2.0.3
    - google-api-core:   1.31.6
    - google-api-python-client: 1.12.11
    - google-auth:       1.35.0
    - google-auth-httplib2: 0.0.4
    - google-auth-oauthlib: 0.4.6
    - google-cloud-bigquery: 1.21.0
    - google-cloud-bigquery-storage: 1.1.2
    - google-cloud-core: 1.0.3
    - google-cloud-datastore: 1.8.0
    - google-cloud-firestore: 1.7.0
    - google-cloud-language: 1.2.0
    - google-cloud-storage: 1.18.1
    - google-cloud-translate: 1.5.0
    - google-colab:      1.0.0
    - google-pasta:      0.2.0
    - google-resumable-media: 0.4.1
    - googleapis-common-protos: 1.56.4
    - googledrivedownloader: 0.4
    - graphviz:          0.10.1
    - greenlet:          1.1.3.post0
    - grpcio:            1.50.0
    - gspread:           3.4.2
    - gspread-dataframe: 3.0.8
    - gym:               0.25.2
    - gym-notices:       0.0.8
    - h11:               0.14.0
    - h5py:              3.1.0
    - heapdict:          1.0.1
    - hijri-converter:   2.2.4
    - holidays:          0.16
    - holoviews:         1.14.9
    - html5lib:          1.0.1
    - httpimport:        0.5.18
    - httplib2:          0.17.4
    - httplib2shim:      0.0.3
    - httpstan:          4.6.1
    - httptools:         0.5.0
    - humanize:          0.5.1
    - hyperopt:          0.1.2
    - idna:              2.10
    - imageio:           2.9.0
    - imagesize:         1.4.1
    - imbalanced-learn:  0.8.1
    - imblearn:          0.0
    - imgaug:            0.4.0
    - importlib-metadata: 4.13.0
    - importlib-resources: 5.10.0
    - imutils:           0.5.4
    - inflect:           2.1.0
    - inquirer:          2.10.0
    - intel-openmp:      2022.2.0
    - intervaltree:      2.1.0
    - ipykernel:         5.3.4
    - ipython:           7.9.0
    - ipython-genutils:  0.2.0
    - ipython-sql:       0.3.9
    - ipywidgets:        7.7.1
    - itsdangerous:      2.1.2
    - jax:               0.3.23
    - jaxlib:            0.3.22+cuda11.cudnn805
    - jieba:             0.42.1
    - jinja2:            2.11.3
    - jmespath:          1.0.1
    - joblib:            1.2.0
    - jpeg4py:           0.1.4
    - jsonschema:        4.3.3
    - jupyter-client:    6.1.12
    - jupyter-console:   6.1.0
    - jupyter-core:      4.11.2
    - jupyterlab-widgets: 3.0.3
    - kaggle:            1.5.12
    - kapre:             0.3.7
    - keras:             2.9.0
    - keras-preprocessing: 1.1.2
    - keras-vis:         0.4.1
    - kiwisolver:        1.4.4
    - korean-lunar-calendar: 0.3.1
    - langcodes:         3.3.0
    - libclang:          14.0.6
    - librosa:           0.8.1
    - lightgbm:          2.2.3
    - lightning:         1.9.0.dev0
    - lightning-cloud:   0.5.11
    - lightning-lite:    1.8.0.post1
    - lightning-utilities: 0.3.0
    - llvmlite:          0.39.1
    - lmdb:              0.99
    - locket:            1.0.0
    - logical-unification: 0.4.5
    - lunarcalendar:     0.0.9
    - lxml:              4.9.1
    - markdown:          3.4.1
    - markupsafe:        2.0.1
    - marshmallow:       3.18.0
    - matplotlib:        3.2.2
    - matplotlib-venn:   0.11.7
    - minikanren:        1.0.3
    - missingno:         0.5.1
    - mistune:           0.8.4
    - mizani:            0.7.3
    - mkl:               2019.0
    - mlxtend:           0.14.0
    - more-itertools:    9.0.0
    - moviepy:           0.2.3.5
    - mpmath:            1.2.1
    - msgpack:           1.0.4
    - multidict:         6.0.2
    - multipledispatch:  0.6.0
    - multitasking:      0.0.11
    - murmurhash:        1.0.9
    - music21:           5.5.0
    - natsort:           5.5.0
    - nbconvert:         5.6.1
    - nbformat:          5.7.0
    - netcdf4:           1.6.1
    - networkx:          2.6.3
    - nibabel:           3.0.2
    - nltk:              3.7
    - notebook:          5.5.0
    - numba:             0.56.3
    - numexpr:           2.8.4
    - numpy:             1.21.6
    - oauth2client:      4.1.3
    - oauthlib:          3.2.2
    - okgrade:           0.4.3
    - opencv-contrib-python: 4.6.0.66
    - opencv-python:     4.6.0.66
    - opencv-python-headless: 4.6.0.66
    - openpyxl:          3.0.10
    - opt-einsum:        3.3.0
    - ordered-set:       4.1.0
    - orjson:            3.8.1
    - osqp:              0.6.2.post0
    - packaging:         21.3
    - palettable:        3.3.0
    - pandas:            1.3.5
    - pandas-datareader: 0.9.0
    - pandas-gbq:        0.13.3
    - pandas-profiling:  1.4.1
    - pandocfilters:     1.5.0
    - panel:             0.12.1
    - param:             1.12.2
    - parso:             0.8.3
    - partd:             1.3.0
    - pastel:            0.2.1
    - pathlib:           1.0.1
    - pathy:             0.6.2
    - patsy:             0.5.3
    - pep517:            0.13.0
    - pexpect:           4.8.0
    - pickleshare:       0.7.5
    - pillow:            7.1.2
    - pip:               21.1.3
    - pip-tools:         6.2.0
    - plotly:            5.5.0
    - plotnine:          0.8.0
    - pluggy:            0.7.1
    - pooch:             1.6.0
    - portpicker:        1.3.9
    - prefetch-generator: 1.0.1
    - preshed:           3.0.8
    - prettytable:       3.4.1
    - progressbar2:      3.38.0
    - promise:           2.3
    - prompt-toolkit:    2.0.10
    - prophet:           1.1.1
    - protobuf:          3.17.3
    - psutil:            5.4.8
    - psycopg2:          2.9.5
    - ptyprocess:        0.7.0
    - py:                1.11.0
    - pyarrow:           6.0.1
    - pyasn1:            0.4.8
    - pyasn1-modules:    0.2.8
    - pycocotools:       2.0.5
    - pycparser:         2.21
    - pyct:              0.4.8
    - pydantic:          1.10.2
    - pydata-google-auth: 1.4.0
    - pydot:             1.3.0
    - pydot-ng:          2.0.0
    - pydotplus:         2.0.2
    - pydrive:           1.3.1
    - pyemd:             0.5.1
    - pyerfa:            2.0.0.1
    - pygments:          2.6.1
    - pygobject:         3.26.1
    - pyjwt:             2.6.0
    - pylev:             1.4.0
    - pymc:              4.1.4
    - pymeeus:           0.5.11
    - pymongo:           4.3.2
    - pymystem3:         0.2.0
    - pyopengl:          3.1.6
    - pyparsing:         3.0.9
    - pyrsistent:        0.18.1
    - pysimdjson:        3.2.0
    - pysndfile:         1.3.8
    - pysocks:           1.7.1
    - pystan:            3.3.0
    - pytest:            3.6.4
    - python-apt:        0.0.0
    - python-dateutil:   2.8.2
    - python-dotenv:     0.21.0
    - python-editor:     1.0.4
    - python-louvain:    0.16
    - python-multipart:  0.0.5
    - python-slugify:    6.1.2
    - python-utils:      3.3.3
    - pytorch-lightning: 1.8.0.post1
    - pytorch-lightning-bolts: 0.3.2.post1
    - pytz:              2022.5
    - pyviz-comms:       2.2.1
    - pywavelets:        1.3.0
    - pyyaml:            6.0
    - pyzmq:             23.2.1
    - qdldl:             0.1.5.post2
    - qudida:            0.0.4
    - readchar:          4.0.3
    - regex:             2022.6.2
    - requests:          2.28.1
    - requests-oauthlib: 1.3.1
    - resampy:           0.4.2
    - rich:              12.6.0
    - rpy2:              3.5.5
    - rsa:               4.9
    - s3fs:              2022.10.0
    - scikit-image:      0.18.3
    - scikit-learn:      1.0.2
    - scipy:             1.7.3
    - screen-resolution-extra: 0.0.0
    - scs:               3.2.0
    - seaborn:           0.11.2
    - send2trash:        1.8.0
    - setuptools:        57.4.0
    - setuptools-git:    1.2
    - shapely:           1.8.5.post1
    - six:               1.15.0
    - sklearn-pandas:    1.8.0
    - smart-open:        5.2.1
    - sniffio:           1.3.0
    - snowballstemmer:   2.2.0
    - sortedcontainers:  2.4.0
    - soundfile:         0.11.0
    - spacy:             3.4.2
    - spacy-legacy:      3.0.10
    - spacy-loggers:     1.0.3
    - sphinx:            1.8.6
    - sphinxcontrib-serializinghtml: 1.1.5
    - sphinxcontrib-websupport: 1.2.4
    - sqlalchemy:        1.4.42
    - sqlparse:          0.4.3
    - srsly:             2.4.5
    - starlette:         0.20.4
    - starsessions:      1.3.0
    - statsmodels:       0.12.2
    - sympy:             1.7.1
    - tables:            3.7.0
    - tabulate:          0.8.10
    - tblib:             1.7.0
    - tenacity:          8.1.0
    - tensorboard:       2.9.1
    - tensorboard-data-server: 0.6.1
    - tensorboard-plugin-wit: 1.8.1
    - tensorflow:        2.9.2
    - tensorflow-datasets: 4.6.0
    - tensorflow-estimator: 2.9.0
    - tensorflow-gcs-config: 2.9.1
    - tensorflow-hub:    0.12.0
    - tensorflow-io-gcs-filesystem: 0.27.0
    - tensorflow-metadata: 1.10.0
    - tensorflow-probability: 0.16.0
    - termcolor:         2.0.1
    - terminado:         0.13.3
    - testpath:          0.6.0
    - text-unidecode:    1.3
    - textblob:          0.15.3
    - thinc:             8.1.5
    - threadpoolctl:     3.1.0
    - tifffile:          2021.11.2
    - toml:              0.10.2
    - tomli:             2.0.1
    - toolz:             0.12.0
    - torch:             1.12.1+cu113
    - torchaudio:        0.12.1+cu113
    - torchmetrics:      0.10.2
    - torchsummary:      1.5.1
    - torchtext:         0.13.1
    - torchvision:       0.13.1+cu113
    - tornado:           5.1.1
    - tqdm:              4.64.1
    - traitlets:         5.5.0
    - tweepy:            3.10.0
    - typeguard:         2.7.1
    - typer:             0.4.2
    - typing-extensions: 4.1.1
    - tzlocal:           1.5.1
    - ujson:             5.5.0
    - uritemplate:       3.0.1
    - urllib3:           1.25.11
    - uvicorn:           0.18.3
    - uvloop:            0.17.0
    - vega-datasets:     0.9.0
    - wasabi:            0.10.1
    - watchfiles:        0.18.0
    - wcwidth:           0.2.5
    - webargs:           8.2.0
    - webencodings:      0.5.1
    - websocket-client:  1.4.1
    - websockets:        10.4
    - werkzeug:          1.0.1
    - wheel:             0.37.1
    - widgetsnbextension: 3.6.1
    - wordcloud:         1.8.2.2
    - wrapt:             1.14.1
    - xarray:            0.20.2
    - xarray-einstats:   0.2.2
    - xgboost:           0.90
    - xkit:              0.0.0
    - xlrd:              1.1.0
    - xlwt:              1.3.0
    - yarl:              1.8.1
    - yellowbrick:       1.5
    - zict:              2.2.0
    - zipp:              3.10.0
* System:
    - OS:                Linux
    - architecture:
        - 64bit
        - 
    - processor:         x86_64
    - python:            3.7.15
    - version:           #1 SMP Fri Aug 26 08:44:51 UTC 2022
#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow):
#- PyTorch Lightning Version (e.g., 1.5.0):
#- Lightning App Version (e.g., 0.5.2):
#- PyTorch Version (e.g., 1.10):
#- Python version (e.g., 3.9):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):
#- Running environment of LightningApp (e.g. local, cloud):

More info

My first bug contribution, hehe. Hope some coding genius looks into this. I'll use an implementation from torch.nn.Module for my midterm due tomorrow. :)

rohitgr7 commented 2 years ago

hey @Paulda07, mind trying out the recent bolts release? this was fixed recently.

otaj commented 2 years ago

Hi, @Paulda07, your bolts version is 0.3.2, which is quite old at this point. If you update to a recent version, you should be good to go for your midterm :zap:

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it hasn't had any recent activity. This issue will be closed in 7 days if no further activity occurs. Thank you for your contributions - the Lightning Team!