Skip to content

Conversation

caelen00000
Copy link

Inspired by #203 , I wanted to modernize CellRanger a bit, but with Python 3.9 since it is now the minimum version supported by PyTorch.

The issues with Pyro mentioned in #203 have already been fixed, so the (hopefully) only remaining hurdle is #212. A workaround for the weakref issue was mentioned in #386, but this breaks deserialization. I though I was going to have to extensively refactor the model, but it turns out that this can be fixed by simply using dill instead of pickle. Additionally, some changes to report.py were needed, I think because of changes with pandas and/or numpy.

I increased the version numbers as in #203, but there were several other changes that I was not sure about that I did not include here.

Making these changes, I have all tests passing with Python 3.9 and 3.12 using PyTorch 2.7.1 on an RTX 5060 Ti. It will presumably work on other PyTorch versions >= 2 , but I don't think I can test them with my hardware.

Adds a dependency for dill, since we need to handle serialization of weakrefs.
@sjfleming
Copy link
Member

@caelen00000 thank you! What a wonderful contribution! I was very much hoping somebody could help me out with this.

I will check it out

@sjfleming
Copy link
Member

This looks fantastic, I'll just need to run some full test datasets and benchmarks to make sure things are looking okay. I wonder if the bump up in pytorch versions led to a speedup...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants