[Structure Change Request]Having Vision, NLP etc. as separated installation components

Hi there,

I am trying to get fastai onto my little lovely and shiny Raspberry Pi 4 and therefore encountered enormous difficulties.

I managed to get PyToch 1.3.1 and PyTorch Vision both working on my Pi 4.

However, when trying to install Fast.Ai, as Fast.Ai contains NLP part as well, so it requires SpaCy which breaks everything… it requires Python 3.6 version, which unfortunately I have Python 3.7

I then installed Python 3.6.9 in virtual venv , then tried to building PyTorch 1.3.1, but torch somehow keeps copying files from my Python 3.7, thus once the building and installation finished, I tried to
import torch

it throws me error saying cannot find touch._C, or something like this… stuck here the whole night and I’m now sleepless…tired…

I therefore, suggest Fast.Ai @jeremy that to have VISION, NLP etc. components to be as separated components which are required when needed. Like PyTorch has Vision separated as well.

So that people could have choices to pick up components which they need and therefore reducing unnecessary difficulties.

There’s a few issues I see with this. Fastaiv1 wouldn’t be as bad, as it’s closer to being done. But there’s a lot of nesting that would need to be figured out and going through and removing extraneous dependencies for each type. They’re busy on fastai2 and their book right now so I think it would be better if the community possibly tried to do this. :slight_smile: It’s a great idea just difficult to execute on a library that gets updates regularly. My 0.02$. :slight_smile: