-
-
Notifications
You must be signed in to change notification settings - Fork 42
Orange ImageAnalytics client updated to repeat sending images when request not successful #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #66 +/- ##
==========================================
- Coverage 58.53% 56.42% -2.11%
==========================================
Files 5 6 +1
Lines 422 475 +53
Branches 65 79 +14
==========================================
+ Hits 247 268 +21
- Misses 161 191 +30
- Partials 14 16 +2 |
|
Can somebody test that PR? @inejc @astaric @jerneju I was testing that with yeast dataset https://www.dropbox.com/sh/a5h3yp740bpovjf/AABIDnO9Po-xu8xCXoXgO7t5a?dl=0. Also use some other images. In general all images that are not damaged should get embeddings (no none values). |
|
|
||
| def __init__(self, model="inception-v3", layer="penultimate", | ||
| server_url='api.biolab.si:8080'): | ||
| server_url='api.garaza.io:443'): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's better to switch to a different URL with a separate PR, and not add it here?
Note that this URL is also temporary and will probably change as soon as we promote the new test k8s cluster into a production.
| # -*- coding: utf-8 -*- | ||
| """ | ||
| Temporary fix for hyper library until next version from 0.7.0 is out | ||
| """ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is under MIT license from hyper.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another thing to consider: development branch of hyper has a lot of new commits after the last version 0.7.0 (see python-hyper/hyper@v0.7.0...development). You are fixing just one bug. Maybe it would be better to base our usage on development branch and not on 0.7.0?
In the mean time, as we're waiting for upstream to merge python-hyper/hyper#356, we can use in requirements.txt your fixed branch
e.g.
pip install git+https://github.com/PrimozGodec/hyper@d8ed47aadbc1b66e8493726beeffcf0361ae8729
We switch to the upstream's version as soon the fix is merged. And nudge Lukasa to make another official version ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we plan to release a version of image-analytics add-on with this fix, I would rather have it base on a released version of the hyper package.
Otherwise, we are installing development version of hyper package into users environment, If we distribute over conda, we need to make sure hyper-devel builds are available, ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok if we are waiting for new release do I use my fixed branch anyway or leave as it is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@astaric I am not sure if we want to wait until next release. Hyper had a last release 0.7.0 more than one year ago. What means that releases are not so frequent. Is there any other solution since we are in hurry in margin this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree. I've asked to make e new release, but I don't know when it will be done. We can wait few days. Otherwise, we can just use a fixed commit ID in hyper and upgrade later?
git+https://github.com/Lukasa/hyper@a8109c3aaf8e2aa7314f23bf46e20af2bc241cd7
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feel free to use git+... in requirements and merge this PR.
But please do not create a (pypi) release that depends on development versions of packages.
|
DeepLoc is currently the default. Its performance is poor (even classification accuracy on yeast localization dataset). Instead, let the default be Inception v3 and let the order of the embedders be Inception v3 (default), VGG-16, VGG-19, Painters, DeepLoc VGG-19 does not work, the widget reports the following error: Traceback (most recent call last): |
|
The widget displays Cancel button when working. This changes the size of the window. It would be better if the Cancel button would be displayed all the time, but disabled when the widget is not working. Such that the widget would not resize. |
|
I've updated VGG19. The problem was that it takes 7-8 sec/req and the default timeout for proxy_read was set at the standard 60s (nginx waits 60s for a response, then closes the connection). I've increased the timeout to 5 min. However, the same thing WILL happen again when the load will increase beyond a certain point. Server actually correctly returned 504 Gateway Timeout, so the client should be more robust with this kind of errors with an appropriate messages to the user. Maybe even wait a bit before resending a request in this situation as this will only make things worse. |
|
Could you add a link to the upstream fix on hyper? |
|
@astaric it is tracked in python-hyper/hyper#356 |
|
python-hyper/hyper#356 is now merged |
|
@PrimozGodec I think it would be better to just fix requirements.txt with a specific version git+https://github.com/Lukasa/hyper@a8109c3aaf8e2aa7314f23bf46e20af2bc241cd7 In that case you don't even need to add your stream.py and all we have to do after a new release of Hyper is to just use a released version in requirements.txt. |
|
@matjazp and solve all the problems users that already have hyper installed will have once we replace it with an unreleased version. Or when they want to install software with conda, which does not allow installation from git (at least not that I am aware of). |
Issue
Image Embedding client is sometimes rejected by a server due to too many requests and some other reasons, what means that that it does not retrieve embeddings for some images.
Description of changes
The client was changed that way that images which are rejected are sent to the a again until the client gets their embeddings or a maximum number of attempts is reached.
Includes