-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure Huggingface, Torch Packages Up-to-Date with Necessary Improvements/Fixes #60
Comments
@gkumbhat is thinking about how to do dependency management and will update when he has a solution |
@Ssukriti I was going to open a new issue for reproducible/deterministic virtual environments but I think that it would overlap quite a bit with this issue. Let me know how you'd like to proceed. This is what I had in mind for a new issue: Support creation of deterministic virtual environments for fms-hf-tuningIs your feature request related to a problem? Please describe.We are using Describe the solution you'd likeWe would like the Then,
Describe alternatives you've consideredAlternative, we could update the Another option is to use Additional contextThe goal here is to:
|
@tedhtchang we have a couple of suggestions in this issue for ways to version control the versions of python dependencies. For what it's worth, I started playing with poetry on a fork of fms-hf-tuning: https://github.com/VassilisVassiliadis/fms-hf-tuning/blob/poetry/pyproject.toml The resulting poetry lock file is here: https://github.com/VassilisVassiliadis/fms-hf-tuning/blob/poetry/poetry.lock |
@VassilisVassiliadis The poetry framework is a good suggestion. Seems like we may need to change how we run test, release, and build packages. Would you like to create a PR ? |
I'll give it a go |
@hickeyma @Ssukriti @tedhtchang
The platform is build upon the
torch
andhuggingface
ecosystem whereby there are constant fixes that are pushed every release.Desiderata
pyproject.toml
that can be used to also address Python package dependency management for building/development #56 , Build the Python wheel for release, for pip installs #57NPM addresses these desiderata for
node
See here:
npm install
will occur frompackage.json
with semvar versioning that tells what kind of upgrades (e.g., minor, patch) are allowed.npm install
the packages will be resolved to install the latest packages that satisfy the constraints.package-lock.json
.package-lock.json
is typically checked to have a record of what exact package versions are working.npm ci
; note that this differs fromnpm install
, in that it installs frompackage-lock.json
. Thus there is no package resolution during testing. This ensures if the tests pass, we know exactly what package versions they pass for.Current Solution
Use dependabot to automatically check for new versions, and then raise a PR to upgrade the package version.
Other Solutions
Two possibilities:
poetry.lock
, that works together withpyproject.toml
. The poetry flow as described here is completely analogue with thenpm
flow described above.pip-compile
to generaterequirements.txt
frompyproject.toml
and checking that in as the lock file.The text was updated successfully, but these errors were encountered: