python-3.x - 为什么 import cntk as C 在谷歌 colab 中不起作用

标签 python-3.x jupyter-notebook lstm google-colaboratory cntk

我安装了opencv 3.4.4版,安装了cntk,导入google collab得到以下结果。

import cntk as C 

    /usr/local/lib/python3.6/dist-packages/cntk/cntk_py_init.py:56: UserWarning: Unsupported Linux distribution (ubuntu-18.04). CNTK supports Ubuntu 16.04 and above, only.
  warnings.warn('Unsupported Linux distribution (%s-%s). CNTK supports Ubuntu 16.04 and above, only.' % (__my_distro__, __my_distro_ver__))
/usr/local/lib/python3.6/dist-packages/cntk/cntk_py_init.py:102: UserWarning: 

################################################ Missing optional dependency (   OpenCV   ) ################################################
   CNTK may crash if the component that depends on those dependencies is loaded.
   Visit https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-Linux-Python#optional-opencv for more information.
############################################################################################################################################

  warnings.warn(WARNING_MSG % ('   OpenCV   ', 'https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-Linux-Python#optional-opencv'))
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/cntk/cntk_py.py in swig_import_helper()
     17         try:
---> 18             return importlib.import_module(mname)
     19         except ImportError:

/usr/lib/python3.6/importlib/__init__.py in import_module(name, package)
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 

/usr/lib/python3.6/importlib/_bootstrap.py in _gcd_import(name, package, level)

/usr/lib/python3.6/importlib/_bootstrap.py in _find_and_load(name, import_)

/usr/lib/python3.6/importlib/_bootstrap.py in _find_and_load_unlocked(name, import_)

ModuleNotFoundError: No module named 'cntk._cntk_py'

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
<ipython-input-29-f8cc57397495> in <module>()
----> 1 import cntk as c

/usr/local/lib/python3.6/dist-packages/cntk/__init__.py in <module>()
     20 import numpy as np
     21 
---> 22 from . import cntk_py
     23 
     24 #

/usr/local/lib/python3.6/dist-packages/cntk/cntk_py.py in <module>()
     19         except ImportError:
     20             return importlib.import_module('_cntk_py')
---> 21     _cntk_py = swig_import_helper()
     22     del swig_import_helper
     23 elif _swig_python_version_info >= (2, 6, 0):

/usr/local/lib/python3.6/dist-packages/cntk/cntk_py.py in swig_import_helper()
     18             return importlib.import_module(mname)
     19         except ImportError:
---> 20             return importlib.import_module('_cntk_py')
     21     _cntk_py = swig_import_helper()
     22     del swig_import_helper

/usr/lib/python3.6/importlib/__init__.py in import_module(name, package)
    124                 break
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 
    128 

我安装了opencv。版本是 cv2。我希望在谷歌合作实验室中使用 RNN 和 LSTM 网络进行序列到序列模型。
如何纠正这个错误?

最佳答案

一般来说,在寻求 colab 的帮助时,最好共享一个能重现问题的最小笔记本,这样人们就可以清楚地知道你到底做了什么(例如,“我安装了 opencv 3.4.4 版”并不像看到的那样提供信息您使用的精确命令,以及它们生成的任何输出,等等)。

至少第一个警告可能无法解决,因为 colab 的虚拟机运行 ubuntu:18.04 但 CNTK 官方不支持除 16.04 之外的任何内容:“请注意,官方仅支持 Ubuntu 16.04。” (来自https://docs.microsoft.com/en-us/cognitive-toolkit/setup-linux-python?tabs=cntkpy26)

我不熟悉 CNTK 或其部门,但这似乎成功导入(尽管有警告)并成功显示模块的界面:

!apt-get install --no-install-recommends openmpi-bin libopenmpi-dev libopencv-dev python3-opencv python-opencv && ln -sf /usr/lib/x86_64-linux-gnu/libmpi_cxx.so /usr/lib/x86_64-linux-gnu/libmpi_cxx.so.1 && ln -sf /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so.12 && ln -sf /usr/lib/x86_64-linux-gnu/libmpi.so /usr/lib/x86_64-linux-gnu/libmpi.so.12 && pip install cntk
import cntk as C
help(C)

(在 py3/CPU colab 笔记本中;遗憾的是,第一行需要将近 2m 才能运行,所以请耐心等待)

关于python-3.x - 为什么 import cntk as C 在谷歌 colab 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634530/

相关文章:

python - 退出脚本后如何返回到 python shell?

jupyter-notebook - 构建失败 500,请在服务器上运行 'jupyter lab build' 以获得 Jupyter 实验室的完整输出

tensorflow - 在 TensorFlow 中为 LSTM 创建可训练的初始状态

python - 如何使用我的 LSTM 输出作为 keras 中另一个 LSTM 的输入?

python - 所有特征必须在 [0, 9] 或 [-10, 0] 范围内

python - 根据传递给 python 脚本的一些参数构造文件名

matplotlib - Jupyter笔记本Matplotlib数字在导出的pdf中丢失

google-cloud-platform - 在 Google Cloud VM 上运行 Jupyter Notebook 时出现 SSL 错误

python - 数据集不适合 LSTM 训练的内存

python - 有人可以帮我调试我的 python 程序吗?