phamquiluan/PubLayNet

import error while running in colab

Closed this issue · 20 comments

ImportError Traceback (most recent call last)
in ()
11 import numpy as np
12
---> 13 from utils import (
14 overlay_ann,
15 overlay_mask,

ImportError: cannot import name 'overlay_ann'

@akshay94950 the overlay_ann function is located in maskrcnn/utils.py

def overlay_ann(image, mask, box, label, score, alpha=0.5):
    c = np.random.random((1, 3))
    mask_color = (c * 153 + 102).tolist()[0]
    text_color = (c * 183 + 72).tolist()[0]
 
    mask = np.dstack([mask.astype(np.uint8)] * 3)
    mask = cv2.threshold(mask, 127.5, 255, cv2.THRESH_BINARY)[1]
    inv_mask = 255 - mask

    overlay = image.copy()
    overlay = np.minimum(overlay, inv_mask) 

    color_mask = (mask.astype(np.bool) * mask_color).astype(np.uint8)
        
    overlay = np.maximum(overlay, color_mask).astype(np.uint8) 

    image = cv2.addWeighted(image, alpha, overlay, 1 - alpha, 0)

    # draw on color mask
    cv2.rectangle(
        image,
        (box[0], box[1]),
        (box[2], box[3]),
        mask_color, 1
    )

    (label_size_width, label_size_height), base_line = \
        cv2.getTextSize(
            "{}".format(label),
            cv2.FONT_HERSHEY_SIMPLEX,
            0.3, 1
        )

    cv2.rectangle(
        image,
        (box[0], box[1] + 10),
        (box[0] + label_size_width, box[1] + 10 - label_size_height),
        (223, 128, 255),
        cv2.FILLED
    )

    cv2.putText(
        image,
        # "{}: {:.3f}".format(label, score),
        "{}".format(label),
        (box[0], box[1] + 10),
        cv2.FONT_HERSHEY_SIMPLEX,
        0.3, (0, 0, 0), 1
    )
 
    return image


AttributeError Traceback (most recent call last)
in ()
108 import sys
109 argv = sys.argv[1:]
--> 110 main(argv)

4 frames
/usr/local/lib/python3.6/dist-packages/torch/_utils.py in _rebuild_tensor(storage, storage_offset, size, stride)
128 def rebuild_tensor(storage, storage_offset, size, stride):
129 # first construct a tensor with the correct dtype/device
--> 130 t = torch.tensor([], dtype=storage.dtype, device=storage.device)
131 return t.set
(storage, storage_offset, size, stride)
132

AttributeError: 'str' object has no attribute 'dtype'
how to solve this?

Hi akshay94950,

First of all, I want to thank you for the problem you reported in this issue. I am so sorry for the undocumented code might causes you in this situation.

In my point of view, this error may come from the process you turn my infer.py code into notebook on colab. It will be easy for me to help you remove the bug if you share your notebook. Besides that, I think you should read my code and try to run it locally first, if you still get error when your run it in local, please capture the screen when it inform the error and send to me.

Thank you for your reporting!
Your sincerely,
L

its my colab link...
https://colab.research.google.com/drive/1pNHhsxqOYa6NFm3bUZ_0tVzDrrv1hIvn
you want to upload utilis.py while running.thanks for your response

First, edit like this. you do not need argv anymore.

image

second, on those lines, edit like this
image

you should assert image is not None, to ensure the image be loaded correctly

image

hope it work

still the same error,,,its not working

capture the screen, include the code and the error

nothing has been changed after your edit in the code

run
!pip list

let me see the results

Package Version


absl-py 0.9.0
alabaster 0.7.12
albumentations 0.1.12
altair 4.0.1
asgiref 3.2.7
astor 0.8.1
astropy 4.0.1
astunparse 1.6.3
atari-py 0.2.6
atomicwrites 1.3.0
attrs 19.3.0
audioread 2.1.8
autograd 1.3
Babel 2.8.0
backcall 0.1.0
beautifulsoup4 4.6.3
bleach 3.1.4
blis 0.4.1
bokeh 1.4.0
boto3 1.12.33
botocore 1.15.33
Bottleneck 1.3.2
branca 0.4.0
bs4 0.0.1
CacheControl 0.12.6
cachetools 3.1.1
catalogue 1.0.0
certifi 2019.11.28
cffi 1.14.0
chainer 6.5.0
chardet 3.0.4
click 7.1.1
cloudpickle 1.3.0
cmake 3.12.0
cmdstanpy 0.4.0
colorlover 0.3.0
community 1.0.0b1
contextlib2 0.5.5
convertdate 2.2.0
coverage 3.7.1
coveralls 0.5
crcmod 1.7
cufflinks 0.17.3
cupy-cuda101 6.5.0
cvxopt 1.2.4
cvxpy 1.0.28
cycler 0.10.0
cymem 2.0.3
Cython 0.29.16
daft 0.0.4
dask 2.12.0
dataclasses 0.7
datascience 0.10.6
decorator 4.4.2
defusedxml 0.6.0
descartes 1.1.0
dill 0.3.1.1
distributed 1.25.3
Django 3.0.5
dlib 19.18.0
docopt 0.6.2
docutils 0.15.2
dopamine-rl 1.0.5
earthengine-api 0.1.217
easydict 1.9
ecos 2.0.7.post1
editdistance 0.5.3
en-core-web-sm 2.2.5
entrypoints 0.3
ephem 3.7.7.1
et-xmlfile 1.0.1
fa2 0.3.5
fancyimpute 0.4.3
fastai 1.0.60
fastdtw 0.3.4
fastprogress 0.2.2
fastrlock 0.4
fbprophet 0.6
feather-format 0.4.0
featuretools 0.4.1
filelock 3.0.12
firebase-admin 4.0.1
fix-yahoo-finance 0.0.22
Flask 1.1.1
folium 0.8.3
fsspec 0.7.1
future 0.16.0
gast 0.3.3
GDAL 2.2.2
gdown 3.6.4
gensim 3.6.0
geographiclib 1.50
geopy 1.17.0
gin-config 0.3.0
glob2 0.7
google 2.0.3
google-api-core 1.16.0
google-api-python-client 1.7.12
google-auth 1.7.2
google-auth-httplib2 0.0.3
google-auth-oauthlib 0.4.1
google-cloud-bigquery 1.21.0
google-cloud-core 1.0.3
google-cloud-datastore 1.8.0
google-cloud-firestore 1.6.2
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.51.0
googledrivedownloader 0.4
graphviz 0.10.1
grpcio 1.27.2
gspread 3.0.1
gspread-dataframe 3.0.4
gym 0.17.1
h5py 2.10.0
HeapDict 1.0.1
holidays 0.9.12
html5lib 1.0.1
httpimport 0.5.18
httplib2 0.17.0
httplib2shim 0.0.3
humanize 0.5.1
hyperopt 0.1.2
ideep4py 2.0.0.post3
idna 2.8
image 1.5.28
imageio 2.4.1
imagesize 1.2.0
imbalanced-learn 0.4.3
imblearn 0.0
imgaug 0.2.9
importlib-metadata 1.6.0
imutils 0.5.3
inflect 2.1.0
intel-openmp 2020.0.133
intervaltree 2.1.0
ipykernel 4.6.1
ipython 5.5.0
ipython-genutils 0.2.0
ipython-sql 0.3.9
ipywidgets 7.5.1
itsdangerous 1.1.0
jax 0.1.62
jaxlib 0.1.42
jdcal 1.4.1
jedi 0.16.0
jieba 0.42.1
Jinja2 2.11.1
jmespath 0.9.5
joblib 0.14.1
jpeg4py 0.1.4
jsonschema 2.6.0
jupyter 1.0.0
jupyter-client 5.3.4
jupyter-console 5.2.0
jupyter-core 4.6.3
kaggle 1.5.6
kapre 0.1.3.1
Keras 2.2.5
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.0
keras-vis 0.4.1
kiwisolver 1.1.0
knnimpute 0.1.0
librosa 0.6.3
lightgbm 2.2.3
llvmlite 0.31.0
lmdb 0.98
lucid 0.3.8
LunarCalendar 0.0.9
lxml 4.2.6
Markdown 3.2.1
MarkupSafe 1.1.1
matplotlib 3.2.1
matplotlib-venn 0.11.5
missingno 0.4.2
mistune 0.8.4
mizani 0.6.0
mkl 2019.0
mlxtend 0.14.0
more-itertools 8.2.0
moviepy 0.2.3.5
mpmath 1.1.0
msgpack 1.0.0
multiprocess 0.70.9
multitasking 0.0.9
murmurhash 1.0.2
music21 5.5.0
natsort 5.5.0
nbconvert 5.6.1
nbformat 5.0.5
networkx 2.4
nibabel 3.0.2
nltk 3.2.5
notebook 5.2.2
np-utils 0.5.12.1
numba 0.47.0
numexpr 2.7.1
numpy 1.18.2
nvidia-ml-py3 7.352.0
oauth2client 4.1.3
oauthlib 3.1.0
okgrade 0.4.3
opencv-contrib-python 4.1.2.30
opencv-python 4.1.2.30
openpyxl 2.5.9
opt-einsum 3.2.0
osqp 0.6.1
packaging 20.3
palettable 3.3.0
pandas 1.0.3
pandas-datareader 0.8.1
pandas-gbq 0.11.0
pandas-profiling 1.4.1
pandocfilters 1.4.2
parso 0.6.2
pathlib 1.0.1
patsy 0.5.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 7.0.0
pip 19.3.1
pip-tools 4.5.1
plac 1.1.3
plotly 4.4.1
plotnine 0.6.0
pluggy 0.7.1
portpicker 1.3.1
prefetch-generator 1.0.1
preshed 3.0.2
prettytable 0.7.2
progressbar2 3.38.0
prometheus-client 0.7.1
promise 2.3
prompt-toolkit 1.0.18
protobuf 3.10.0
psutil 5.4.8
psycopg2 2.7.6.1
ptvsd 5.0.0a12
ptyprocess 0.6.0
py 1.8.1
pyarrow 0.14.1
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycocotools 2.0.0
pycparser 2.20
pydata-google-auth 0.3.0
pydot 1.3.0
pydot-ng 2.0.0
pydotplus 2.0.2
PyDrive 1.3.1
pyemd 0.5.1
pyglet 1.5.0
Pygments 2.1.3
pygobject 3.26.1
pymc3 3.7
PyMeeus 0.3.7
pymongo 3.10.1
pymystem3 0.2.0
PyOpenGL 3.1.5
pyparsing 2.4.6
pyrsistent 0.16.0
pysndfile 1.3.8
PySocks 1.7.1
pystan 2.19.1.1
pytest 3.6.4
python-apt 1.6.5+ubuntu0.2
python-chess 0.23.11
python-dateutil 2.8.1
python-louvain 0.13
python-slugify 4.0.0
python-utils 2.4.0
pytz 2018.9
PyWavelets 1.1.1
PyYAML 3.13
pyzmq 17.0.0
qtconsole 4.7.2
QtPy 1.9.0
regex 2019.12.20
requests 2.21.0
requests-oauthlib 1.3.0
resampy 0.2.2
retrying 1.3.3
rpy2 3.2.7
rsa 4.0
s3fs 0.4.2
s3transfer 0.3.3
scikit-image 0.16.2
scikit-learn 0.22.2.post1
scipy 1.4.1
screen-resolution-extra 0.0.0
scs 2.1.2
seaborn 0.10.0
Send2Trash 1.5.0
setuptools 46.0.0
setuptools-git 1.2
Shapely 1.7.0
simplegeneric 0.8.1
six 1.12.0
sklearn 0.0
sklearn-pandas 1.8.0
smart-open 1.10.0
snowballstemmer 2.0.0
sortedcontainers 2.1.0
spacy 2.2.4
Sphinx 1.8.5
sphinxcontrib-websupport 1.2.1
SQLAlchemy 1.3.15
sqlparse 0.3.1
srsly 1.0.2
statsmodels 0.10.2
sympy 1.1.1
tables 3.4.4
tabulate 0.8.7
tblib 1.6.0
tensorboard 2.2.0
tensorboard-plugin-wit 1.6.0.post2
tensorboardcolab 0.0.22
tensorflow 2.2.0rc2
tensorflow-addons 0.8.3
tensorflow-datasets 2.1.0
tensorflow-estimator 2.2.0rc0
tensorflow-gcs-config 2.1.8
tensorflow-hub 0.7.0
tensorflow-metadata 0.21.1
tensorflow-privacy 0.2.2
tensorflow-probability 0.9.0
termcolor 1.1.0
terminado 0.8.3
testpath 0.4.4
text-unidecode 1.3
textblob 0.15.3
textgenrnn 1.4.1
Theano 1.0.4
thinc 7.4.0
toolz 0.10.0
torch 1.4.0
torchsummary 1.5.1
torchtext 0.3.1
torchvision 0.5.0
tornado 4.5.3
tqdm 4.38.0
traitlets 4.3.3
tweepy 3.6.0
typeguard 2.7.1
typing 3.6.6
typing-extensions 3.6.6
tzlocal 1.5.1
umap-learn 0.3.10
uritemplate 3.0.1
urllib3 1.24.3
vega-datasets 0.8.0
wasabi 0.6.0
wcwidth 0.1.9
webencodings 0.5.1
Werkzeug 1.0.1
wheel 0.34.2
widgetsnbextension 3.5.1
wordcloud 1.5.0
wrapt 1.12.1
xarray 0.15.1
xgboost 0.90
xkit 0.0.0
xlrd 1.1.0
xlwt 1.3.0
yellowbrick 0.9.1
zict 2.0.0
zipp 3.1.0

Screenshot_2020-04-06-00-26-59-09
take a look at this. seems like we have problem with the torch.load

try to remove the map_location

then how to run it without cuda device,i gave map_location to run in cpu

on gpu, maskrcnn take 0.2s for each image. on cpu it will take seconds

i mean i want to use the colab gpu

try torch.load(weightpath, map_location=torch.device("cpu"))

model.cuda() then, if you want GPU

its working fine..thanks .....how to get labels of the predictions