问题
I installed opencv version 3.4.4, installed cntk,Importing into google collab gives the following results.
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
I installed opencv. The version is cv2. I wish to use RNN and LSTM networks for sequence to sequence models in google collab laboratory. How to rectify this error?
回答1:
In general when asking for help with colab it's best to share a minimal notebook that reproduces the issue so it's clear to people trying to help what exactly you've done (e.g. "I installed opencv version 3.4.4" is not as informative as seeing the precise commands you've used, and any output they generated, and so on).
At least the first warning is probably not work-around-able because colab's VMs run ubuntu:18.04 but CNTK officially doesn't support anything other than 16.04: "Note that only Ubuntu 16.04 is officially supported." (from https://docs.microsoft.com/en-us/cognitive-toolkit/setup-linux-python?tabs=cntkpy26)
I'm not familiar with CNTK or its deps but this seems to import successfully (albeit with a warning) and successfully show the module's interface:
!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)
(in a py3/CPU colab notebook; sadly the first line takes almost 2m to run, so be patient)
来源:https://stackoverflow.com/questions/53634530/why-is-import-cntk-as-c-not-working-in-google-colab