ImportError在Google Colab中从Google Drive运行python项目

时间:2018-03-22 08:21:26

标签: tensorflow python-import google-colaboratory

我用谷歌Colab口服我的谷歌硬盘(按https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d的帖子

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

!mkdir -p drive
!google-drive-ocamlfuse drive

然后我将Tensorflow nmt放入drive / colab /(驱动器是google驱动器根目录。

我在Colab Cell中运行命令

!python  drive/colab/nmt/nmt.py\
    --attention=scaled_luong \
    --src=src --tgt=tgt \
    --vocab_prefix=drive/colab/data/vi-vi/vocab  \
    --train_prefix=drive/colab/data/vi-vi/small_train \
    --dev_prefix=drive/colab/data/vi-vi/val  \
    --test_prefix=drive/colab/data/vi-vi/test \
    --out_dir=drive/colab/data/vi-vi/nmt_attention_model \
    --num_train_steps=12000 \
    --steps_per_stats=100 \
    --num_layers=2 \
    --num_units=128 \
    --dropout=0.2 \
    --metrics=bleu

有错误

/usr/local/lib/python3.6/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
Traceback (most recent call last):
  File "drive/colab/nmt/nmt.py", line 31, in <module>
    from . import inference
ImportError: cannot import name 'inference'

我该怎么办?

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您在nmt.py中使用了相对导入,而您当前的目录与nmt.py所在的目录不同。因为那个python无法找到文件。您可以使用

将目录更改为mnt来修复它
%cd drive/colab/nmt/

然后运行你的命令。