web-dev-qa-db-fra.com

FastAI Library v1 avec Google Colab

J'essaie d'installer la bibliothèque FastAi et de l'utiliser avec Google Colab. je suis 

En utilisant:

!pip3 install fastai
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())
accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'
!pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.3.0.post4-{platform}-linux_x86_64.whl torchvision
import torch
!pip install Pillow==4.1.1
!pip install image
%matplotlib inline

importe/installe tout, mais quand je cours

from fastai.imports import *

La dernière ligne donne une erreur qui se lit comme suit:

ImportError: impossible d'importer le nom 'as_tensor'

Est-ce que quelqu'un sait ce que je fais mal/pourquoi il n'importe pas la bibliothèque Fastai quand c'est la première chose installée

L'erreur complète que je reçois est la suivante: 

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-10-9f9378ae0f2a> in <module>()
----> 1 from fastai.imports import *

/usr/local/lib/python3.6/dist-packages/fastai/__init__.py in <module>()
----> 1 from .basic_train import *
  2 from .callback import *
  3 from .callbacks import *
  4 from .core import *
  5 from .data import *

/usr/local/lib/python3.6/dist-packages/fastai/basic_train.py in <module>()
  1 "Provides basic training and validation with `Learner`"
----> 2 from .torch_core import *
  3 from .data import *
  4 from .callback import *
  5 

/usr/local/lib/python3.6/dist-packages/fastai/torch_core.py in <module>()
  1 "Utility functions to help deal with tensors"
----> 2 from .imports.torch import *
  3 from .core import *
  4 
  5 AffineMatrix = Tensor

/usr/local/lib/python3.6/dist-packages/fastai/imports/__init__.py in 
<module>()
  1 from .core import *
----> 2 from .torch import *

/usr/local/lib/python3.6/dist-packages/fastai/imports/torch.py in <module>()
  1 import torch, torch.nn.functional as F
  2 from torch import ByteTensor, DoubleTensor, FloatTensor, HalfTensor, 
LongTensor, ShortTensor, Tensor
----> 3 from torch import nn, optim, as_tensor, tensor
  4 from torch.utils.data import BatchSampler, DataLoader, Dataset, Sampler, 
TensorDataset

ImportError: cannot import name 'as_tensor'
5
Joe S

Vous utilisez la version précédente de la torche torch-0.3.0.post4 qui n'avait pas as_tensor.

Vous pouvez donc utiliser une autre version de torch telle que torch-0.4.1 qui utilise cette méthode.

Après avoir exécuté l'extrait suivant:

!pip3 install fastai
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())
accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'
# !pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.3.0.post4-{platform}-linux_x86_64.whl torchvision
!pip3 install http://download.pytorch.org/whl/cpu/torch-0.4.1-cp36-cp36m-linux_x86_64.whl

import torch
!pip install Pillow==4.1.1
!pip install image
%matplotlib inline

Vous pouvez utiliser :

from fastai.imports import *
5
krishna
from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())
accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'
!pip3 install torch_nightly -f https://download.pytorch.org/whl/nightly/{accelerator}/torch_nightly.html


import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.backends.cudnn.enabled)

Si cette partie vous convient, à partir d'aujourd'hui, vous devriez voir le résultat suivant:

1.0.0.dev20181019
True
True

Passez ensuite à l’installation de la dernière version de fastai:

!pip3 install fastai

et tester avec:

from fastai.imports import *
2
aslisabanci

Il me manquait des dépendances. J'ai créé une solution de contournement complexe qui installe la version précédente de la bibliothèque (avec dépendances), puis désinstalle la bibliothèque et la remplace par la version mise à jour. 

Code comme suit. 

!pip install "fastai==0.7.0"
!pip uninstall "fastai==0.7.0"
!pip install fastai 
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())
!apt update && apt install -y libsm6 libxext6

accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'

!pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.3.0.post4- 
{platform}-linux_x86_64.whl torchvision
import torch
!pip install Pillow==4.1.1
!pip install image

%matplotlib inline
from fastai.imports import *
1
Joe S