vision: Drop torchvision 0.2.2 from conda-forge as it's often a silent indicator of major package conflicts

🐛 Describe the bug

Running the following triggers install of torchvision 0.2.2.

We need a stable conda install recipes and suggestions that deal with common bugged dependencies such as OpenCV and ffmpeg given all the mess with glibc / python versions etc. At least some known working commands (even if not the latest python).

I understand that it can’t be the job of pytorch maintainers to test all conda packages, but the combination of torch / opencv / ffmpeg (also maybe some packages for 3d vision) is super-common one. If someone succeeds in installing them together, it is super-valuable to collect and publish these experiences. Or maybe some mamba recipes?

cc @malfet

PREFIX=/path/lab/vadim/prefix
mkdir -p $PREFIX

curl -L -so $PREFIX/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x $PREFIX/miniconda.sh && $PREFIX/miniconda.sh -b -p $PREFIX/miniconda && rm $PREFIX/miniconda.sh

export PATH=$PREFIX/miniconda/bin:$PATH

conda install -y opencv pytorch torchvision cudatoolkit=11.1 -c pytorch -c conda-forge

Versions

N/A

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 27 (5 by maintainers)

Most upvoted comments

severe package conflicts and is always an indication/cover-up/hiding of larger problems

Correct.

I am sympathetic with your challenges. I wanted to bring attention that you are likely asking the wrong community for help.

In either case, you did get the attention of the conda-forge community (myself). If you do raise an issue at conda-forge, my first ask would be to check that it still occurs today (I patched up a few releases) and likely submit a patch to mentionned repository in the link i sent you asking me to review.

Ultimately, I do think it is important that Meta/Facebook/Pytorch be aware that users are using conda-forge and that it may be useful for them to help maintain it.

Let’s open a new issue for this.

@skroon We are not maintaining the conda forge package. Please raise an error to the team that is: https://github.com/conda-forge/torchvision-feedstock

I can confirm however that 0.2.2 seems to be missing.

❯ conda search -c conda-forge torchvision | grep '0\.2'
torchvision                    0.2.0          py27_0  pkgs/main           
torchvision                    0.2.0          py35_0  pkgs/main           
torchvision                    0.2.0          py36_0  pkgs/main           
torchvision                    0.2.1          py27_0  pkgs/main           
torchvision                    0.2.1          py35_0  pkgs/main           
torchvision                    0.2.1          py36_0  pkgs/main           
torchvision                    0.2.1          py37_0  pkgs/main

I’m not too knowledgeable on conda packaging. Are you saying that marking them as “broken” means even if someone specifies torchvision==0.2.2 in their environment, they can’t be installed? If yes, I agree this is not a good way forward.

Yes, conda works differently here than yanked packages. If a package is marked broken, it cannot be installed even with a hard pin, unless specifying an additional channel that enables installation of packages that have been marked broken, i.e.

# normal case, package not broken
conda install -c conda-forge some_package=some_version

# installing a package that has been marked broken
conda install -c conda-forge -c conda-forge/label/broken some_package=some_version

This is an escape hatch to enable reproducibility even in cases of a package having been marked broken, but it’s not widely known (my impression), and so - de facto - marking builds that have been around a while as broken is equivalent to breaking the reproducibility of any environments that make use of those builds.

That is an opinion. But people are moving toward making science more reproducible, and “pulling” packages is somewhat counter to that.

~We~ conda-forge (we) have guidelines on how to deal with broken packages, and generally conda-forge has solutions, for this, outlined https://conda-forge.org/docs/orga/guidelines.html?highlight=broken#fixing-broken-packages

I guess ultimately, conda-forge and pytorch are two different community organizations. I was mostly trying to point to maybe a more sustainable collaborations. I’m not sure what your affiliation is vadimkantorov but if you are speaking about the conda-forge channel, I think you want to cross reference your issue on https://github.com/conda-forge/pytorch-cpu-feedstock/

Another instance is at https://github.com/pytorch/vision/issues/5374

I think it would help a lot of debugging time to simply remove version 0.2.2 from all package managers, it is massively outdated and hides other dependency issues. I think a installation error is preferable to silent installation of such outdated versions

If it’s again a problem with Python 3.10 released and conda trying to use it, can we delete torchvision 0.2.2 from conda altogether? Better have an error than a crippled install