-
Notifications
You must be signed in to change notification settings - Fork 0
Improve dependency management and testing. #7
Conversation
To install `torch` in the planned testing/production environment, a preocompiled wheel for the specific python version and architecture was added. Also changed the python version required from 3.7 to 3.9.
With the introduction of `pipenv`, `requirements.txt` is no longer needed.
To help make running tests easier.
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.
One additional thing, do we need to encrypt the torch wheel for security reasons? I can't think of any reason to atm but just wanted to make sure that's considered.
On a note of a better way to torch for the ARM32 architecture:
Once that is sorted out, we can manage the Pipenv using platform-specific dependencies. I've got about ~60 mins of Pipenv experience, so I am no expert. But some quick digging led me to a couple different resources.
Based on what I've read, we've got two solutions here:
That's about all the info I've been able to find. Good luck! |
Co-authored-by: Edan Parker <[email protected]>
@jaredmcgrath Regarding PyTorch on ARM32:
So, the options are:
I'm fine either way, and would like some more opinions on the matter, especially with the new info regarding python version compatibility @jaredmcgrath. Regarding managing architecture differences: I'm interested in looking into using Footnotes
|
Here's a thought - what if we downgrade to python 3.7 on the PIs for now so we can get a working solution, and we can investigate the Github releases option, if we feel that it's worth it. As well as researching the sys_architecture stuff in the future. So in the interim, we could ship this PR, and create another issue to encapsulate the other discussed points. |
Sounds good to me.
I'll make the corresponding issues then and leave the merging to ya. I'll start working on changing the python version dependence back to 3.7. |
I've tried downgrading to Python 3.7, but now axon is throwing an exception on the worker side, which hasn't occurred on Python 3.9.
I'm going to make an issue in the axon repo and see what @DuncanMays has to say about this. |
Now, the wheel for pytorch is fetched from a remote url on a GitHub repo. Also upgraded to axon 0.1.4 for a patch fix. Closes #11
@edan-parker with b919f17 addressing your comment, this PR should be in a good state to merge. |
If the system's platform is linux, adds a change of where pytorch is installed from based on the platform's architecture. Closes #12.
…yan-hoang/mthe-493-group-a2 into feature/dependency-management
Improve dependency management and testing.
Primarily adds
pipenv
to the project to manage its dependencies. Now, runningmake install-dev
should be all that's needed to get the project's dependencies set up on 32-bit raspberry pis.A notable change needed to make this work is adding a locally compiled wheel under a
vendors
folder to install PyTorch.Closes #6.
Other changes:
pytest
as the test runner.Makefile
for common commands.