为什么 import cntk as C 在 google colab 中不起作用

问题描述 投票:0回答:2

我安装了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://learn.microsoft.com/en-us/cognitive-toolkit/Setup-Linux-Python#optional-opencv for more information.
############################################################################################################################################

  warnings.warn(WARNING_MSG % ('   OpenCV   ', 'https://learn.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。我希望在 google collab 实验室中使用 RNN 和 LSTM 网络进行序列到序列模型。 如何纠正这个错误?

python-3.x jupyter-notebook lstm google-colaboratory cntk
2个回答
6
投票

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

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

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

!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 才能运行,所以请耐心等待)


0
投票

谢谢!你的代码非常有帮助。它对我来说仍然有效。

© www.soinside.com 2019 - 2024. All rights reserved.