There are two fundamental choices to solve a “versionitis” problem like this:
- Construct an environment that duplicates the exact set of versions required. Not sure if Anaconda (conda) can handle versioning of TF, but it can for python packages in general.
- You just have to solve each version problem one at a time. What is the 2.12 way to do
keras.layers.merge? There must be a way to do it, but you’ll have to figure that out from the TF /Keras documentation. So that is debugging and research of an unknown extent. Once you solve that problem, how many more landmines are there to step on and maybe some of the other ones will be more subtle and just give a wrong answer.
There is probably no way to estimate which of the above methods is more or less work in a given case. But one can say that the advantage of 1) is that once you learn how to do it, then it is a generalizable solution for other similar cases you may hit in the future. Note that not all the notebooks here use the same version of TF. That said, it is not a simple process and we have no “official” documentation for how to do that, but here’s a thread with a lot of information to get you started down that path with pip and conda.