tensorflow / tensorflow/model-optimization
Consider reorganizing file layout to shorten path lengths
@rino20 is already working on this.
Since Jan 11, 2023.
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 349
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 1
Description
Describe the bug
The current package includes path names upwards of 150 characters such as default_8bit_cluster_preserve_quantize_scheme.py which are in turn relatively short files deep in a hierarchy. On Windows, the default limitation for paths is 260 characters as defined by MAX_PATH. While it is possible to modify this on a per-call basis, by default the Python ecosystem's tooling does not make this process simple for end users and there are a variety of tools still limited to the 260 character MAX_PATH. When you combine the path lengths of this repository with a location in a users' profile such as C:\Users\person-fullname\AppData\Local\Python\environments\deep-learning-environment\Lib\site-packages the limit can be exceeded.
Motivation
I work in a context where users can create environments in arbitrary locations and we want to use this package, the workaround we've found for the time being is to repack this repository as a Python egg and inject that into the environment at runtime, but would prefer to be able to use it as a direct Python dependency. Note that this limitation is specific to Windows, fortunately MacOS defaults to a MAXPATHLEN of 1024 and Linux values are typically 1024 or higher.
System information
TensorFlow version (installed from source or binary): All versions
TensorFlow Model Optimization version (installed from source or binary): All versions, specifically found working with v0.7.3.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.