Dependencies?

#1
by rune-andel - opened

Hej,

Fedt at du har fine-tunet denne model! Jeg har dog et problem med at loade modellen (se error message nedenfor, der stammer fra den notebook du har delt). Har forsøgt med diverse versioner af doctr og pytorch, samt at specificere at doctr skal benytte pytorch som backend, men uden held. Det kører hverken i colab, på min databricks cluster eller lokalt.

Derfor ville jeg høre, om du kunne lave en requirements.txt fil (pipreqs etc) og vedlægge den? Eller tror du der er noget andet, jeg gør galt?

/Rune


ValueError Traceback (most recent call last)
in <cell line: 4>()
2 from doctr.models import ocr_predictor, from_hub
3
----> 4 reco_arch = from_hub('diversen/doctr-torch-crnn_vgg16_bn-danish-v1')
5 det_arch = "db_resnet50"
6

8 frames
/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def, extract_traceback)
1018 except errors.InvalidArgumentError as e:
1019 # Convert to ValueError for backwards compatibility.
-> 1020 raise ValueError(e.message)
1021
1022 # Record the current Python stack trace as the creating stacktrace of this

ValueError: Exception encountered when calling layer "max_pooling2d_11" (type MaxPooling2D).

Negative dimension size caused by subtracting 2 from 1 for '{{node max_pooling2d_11/MaxPool}} = MaxPoolT=DT_FLOAT, data_format="NHWC", explicit_paddings=[], ksize=[1, 2, 2, 1], padding="VALID", strides=[1, 2, 2, 1]' with input shapes: [?,1,16,128].

Call arguments received by layer "max_pooling2d_11" (type MaxPooling2D):
• inputs=tf.Tensor(shape=(None, 1, 16, 128), dtype=float32)

Ah nvm, fandt din github med requirements.

Hej Rune, godt du fandt ud det. Jeg prøver lige at gøre det lidt lettere at regne ud, hvordan det skal sættes op næste gang jeg får set på modellen :)

Hej Dennis,

Tak, ja jeg fandt ud af det - selvom jeg kogte lidt rundt i det:)

Nøglen var at installere "python-doctr[torch]"
og så SOM DET FØRSTE i scriptet sætte
import os
os.environ['USE_TORCH'] = '1'

Det tvinger doctr til at køre på pytorch fremfor tensorflow - hvilket er nødvendigt at specificere, da databricks clusters kommer med tensorflow preinstalled.

Men nu ser det super ud - meget bedre end default doctr på dansk. Tak igen!

Sign up or log in to comment