Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
new file/project couldn't be created
-
Before crash Documents & Data iPhone storage was about 150MB.
After crashing - 3GB. -
Did you test with a very long text?
Do you use the beta? Because in my (beta) version, line 772 of objc_util is relative to restype and I don't know if it is the same in your version
Does the used space increase of some GB at each test?
-
@cvp said:
Did you test with a very long text?
What do you mean?Do you use the beta? Because in my (beta) version, line 772 of objc_util is relative to restype and I don't know if it is the same in your version
No, I use official version from Appstore. I was with beta when this happens for a first time.Does the used space increase of some GB at each test?
No, space was around 150MB after each teast. -
@pavlinb Could you tell me which is the line 772 in objc_util in the App Store version.
Thus, you don't have a crash each time.
Do you use another mlmodel than OCR.mlmodel?
Is the image containing a text with a lot of characters?
-
@cvp said:
@pavlinb Could you tell me which is the line 772 in objc_util in the App Store version.
res = objc_msgSend(cls, sel(self.sel_name), *args)Thus, you don't have a crash each time.
Only with script that reads/writes to memoryDo you use another mlmodel than OCR.mlmodel?
Yes, used other models, it doesn’t depend from model.Is the image containing a text with a lot of characters?
It looks that script tough the image has lot of characters. -
@pavlinb you said that memory was 150MB after a test, and this test was not trying to write to memory?
I don't understand the difference between two tests of mlmodel, one writing and the other one no -
Memory was about 150MB when test finish without crash - I checked the memory regularly.
When Pythonista crashed, I checked the memory again - it was 3GB.
I tried to OCR an image, in wich algo recognizes lot of characters. May this is the main reason.
Do you want a copy of that image to try?
Now I can't edit scripts and can't create new ones in Pythonista.
Some scripts still work.
But those that uses mlmodels crashes when script tries to load the model.
-
@pavlinb I don't want to take the risk to need to reinstall, sorry.
If you remove Pythonista app from active apps list, and wait some time, does the memory vary? -
-
@pavlinb I think it is now time to ask help from our big guru's...
-
I wonder can you check the pythonista temp directory?
Are you using a local file when you load your model? Or an internet url?
-
Also... What is your model_url? We need to check that is actually valid.
-
@JonB said:
I wonder can you check the pythonista temp directory?
Sure, what do you need?
Are you using a local file when you load your model? Or an internet url?
I use local files.
-
I mean check it for excessively large temp files.
What is your exact model_url?
Can you get a small model to work?
Have you already pre-compiled the model?
-
https://alexsosn.github.io/ml/2017/06/09/Core-ML-will-not-Work-for-Your-App.html
This mentions that complex models can turn into several GB on the device. You might also try backing up after, and looking at what files get created and where. Possibly, I'm thinking if you put your file into a folder starting with a period, that keeps pythonista from showing /indexing it.
-
If he uses the mlmodel I found, it is here
but I also used it without any problems, with images of short texts
-
Yes, I used mentioned model.
And with clean images with few symbols all is ok.
Probably the problem occurs with complex images.
-
@JonB said:
Have you already pre-compiled the model?
The omz code compiles the model before using it.
-
For each character, the compiled model is generated as
file:///private/var/mobile/Containers/Data/Application/C285FD04-6489-45E5-A6C5-D4A44D300BBC/tmp/(A%20Document%20Being%20Saved%20By%20Pythonista3%20643)/OCR.mlmodelc/Omz code needs to be improved so this compilation is done only once, not for each character...
-
It might be a good idea to compile it once, copy it to a regular location, then delete the tmp file. That's what Apple recommends
If you run the code that does a fresh compile every time, you will quickly fill up the tmp storage. I'm not how reliable the cleaning of tmp files is.