bioimage-io / spec-bioimage-io

Specification for the bioimage.io model description file.
https://bioimage-io.github.io/spec-bioimage-io/
MIT License
18 stars 17 forks source link

Version of the dependencies/libraries used to train & store models #29

Closed esgomezm closed 4 years ago

esgomezm commented 4 years ago

Hi there!

Is there any way to know what version of TF or Pytorch was used to train&store the model? Regarding Fiji/ImageJ for example, when using the last version of the TensorFlow java API 1.15, in theory, everything should work for older versions, but I guess that the change from TF 1 to TF 2 could become a problem for the users.

I don't know if this also affects Ilastik, Icy, or other software but, in Fiji, each plugin is built using a different version of TF (libtensorflow-1.15.0.jar) so not all models could be opened with all of them. Sometimes, even the plugins cannot be together in Fiji due to the different versions. I know CSBDeep has a TF version manager but to use it I think you should know beforehand what version you need.

What do you think?

oeway commented 4 years ago

Hi, according to my experience, models generate from different TF version they can easily cause compatibility issue, due to changes to ops, they can easily break even if you are loading older models that suppose to be backward compatible. The most common solution to this is to specify the the version of TF in [dependencies](https://github.com/bioimage-io/configuration#dependencies).

If you have the exact version of TF defined in the dependencies field in your model file, your model parser(deepimagej) should check whether the dependent version is met, otherwise throw warning or error.

esgomezm commented 4 years ago

Ok, that sounds perfect! Thank you