OBrink / DECIMER.ai

This repository contains the code for https://decimer.ai
MIT License
38 stars 9 forks source link

Protobuf version #52

Closed ChrisLinnNuvisan closed 1 year ago

ChrisLinnNuvisan commented 1 year ago

Hi,

there is a problem, when running the service like described. The Python module protobuf will be way too new. Needed to add: RUN pip3 install protobuf==3.19.0

at the end of the pip3 install block in the Dockerfile. Otherwise the python services ran by supervisord will be in a restart-loop. I think it needs to be a version below 3.20.0. Maybe 3.19.6 is also possible, did not try it.

Steps to reproduce:


Why is the supervisor service exposing the ports of the Python services? It's not needed as the connections are only within the supervisor container. Removed the ports section from that service and runs just fine.

Thanks for the awesome work.
Kohulan commented 1 year ago

I think using the new version of TensorFlow this problem is not there. We had this issue with DECIMER Segmentation since it was running a lower version of TensorFlow. Probably we have to look into what version of protobuf does get installed in default.

OBrink commented 1 year ago

Hey @ChrisLinnNuvisan,

Thank you for reporting this problem! I was able to reproduce the issue and I was able to fix it by specifying the protobuf version as you pointed it out. I also had to specify the numpy and matplotlib versions so that everything worked. I will specify the versions of all Python packages in the Dockerfile (#53). Otherwise, we will run into these types of issues again and again whenever the dependencies of the updated versions of the installed packages change. The version in the main branch of this repository works again for now.

Why is the supervisor service exposing the ports of the Python services? It's not needed as the connections are only within the supervisor container. Removed the ports section from that service and runs just fine.

You are completely right about this. I have removed the ports section. The honest answer is that I learned how to work with Docker without any prior knowledge when I wrote this web application, and I made mistakes. This is an artefact that I never deleted afterwards. Thank you for pointing this out!

Again, thank you for reporting this! Have a nice evening!

Otto