Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入错误:无法导入名称'_验证长度';_Python_Numpy_Scikit Image - Fatal编程技术网

Python 导入错误:无法导入名称'_验证长度';

Python 导入错误:无法导入名称'_验证长度';,python,numpy,scikit-image,Python,Numpy,Scikit Image,我已经开始学习Tensorflow。我正在使用Pycharm,我的环境是Ubuntu 16.04。我正在跟踪调查。我反复核对了一下nump。这是最新的。我不知道这个错误的原因 从numpy.lib.arraypad导入\u验证\u长度 ImportError:无法导入名称“\u验证\u长度” 需要提示来解决此错误。多谢各位 import tensorflow as tf from skimage import transform from skimage import data import m

我已经开始学习Tensorflow。我正在使用Pycharm,我的环境是Ubuntu 16.04。我正在跟踪调查。我反复核对了一下nump。这是最新的。我不知道这个错误的原因

从numpy.lib.arraypad导入\u验证\u长度

ImportError:无法导入名称“\u验证\u长度”

需要提示来解决此错误。多谢各位

import tensorflow as tf
from skimage import transform
from skimage import data
import matplotlib.pyplot as plt
import os
import numpy as np
from skimage.color import rgb2gray
import random

#listdir: This method returns a list containing the names of the entries in the directory given by path.
# Return True if path is an existing directory

def load_data(data_dir):
    # Get all subdirectories of data_dir. Each represents a label.
    directories = [d for d in os.listdir(data_dir)
                   if os.path.isdir(os.path.join(data_dir, d))]
    # Loop through the label directories and collect the data in
    # two lists, labels and images.
    labels = []
    images = []
    for d in directories:
        label_dir = os.path.join(data_dir, d)
        file_names = [os.path.join(label_dir, f)
                      for f in os.listdir(label_dir)
                      if f.endswith(".ppm")]
        for f in file_names:
            images.append(data.imread(f))
            labels.append(int(d))
    return images, labels


ROOT_PATH = "/home/tahir/PhD Study/Traffic Signs Using Tensorflow/"
train_data_dir = os.path.join(ROOT_PATH, "TrafficSigns/Training")
test_data_dir = os.path.join(ROOT_PATH, "TrafficSigns/Testing")

images, labels = load_data(train_data_dir)

# Print the `images` dimensions
print(images.ndim)

# Print the number of `images`'s elements
print(images.size)

# Print the first instance of `images`
images[0]

我更新了我的脱脂包

pip install --upgrade scikit-image
问题解决了。这是Skimage版本的一个问题,在0.14.2中解决了这个问题。另外,这个版本相当稳定

    Installing collected packages: dask, scikit-image
  Found existing installation: dask 0.19.1
    Uninstalling dask-0.19.1:
      Successfully uninstalled dask-0.19.1
  Found existing installation: scikit-image 0.13.0
    Uninstalling scikit-image-0.13.0:
      Successfully uninstalled scikit-image-0.13.0
Successfully installed dask-1.0.0 scikit-image-0.14.2

scikit图像0.14.2与numpy 1.16.3配合使用。我先安装了numpy,然后安装了scikit image

我遇到了相同的错误,我执行了以下步骤:

卸载scikit映像

pip uninstall scikit-image

然后

pip install scikit-image


pip install scikit image==0.14.2&&pip install numpy==1.15


Ref:

由于安装了两个版本的sametime,我似乎也遇到了同样的问题

我通过多次卸载scikit映像解决了这个问题,直到一个也没有留下

pip uninstall scikit-image
然后重新安装:

pip uninstall scikit-image

这对我很有效。

对我来说,魔法依赖是:

pip install scikit-image==0.13.1
pip install numpy==1.15

对于python 3.5和python 3.6,请将scikit映像升级到最新版本,或 将NumPy降级至1.15

 pip install -U scikit-image

如果pip不是最新的。您可能需要:

python -m pip install --upgrade pip

请参阅。

现在查看上一个错误已消失,但获取此新错误:获取此错误导入错误:无法导入名称“img\u as\u float32”。使用Numpy:1.17.0和skimage:0.13.0版本在执行上述步骤后出现以下错误:ImportError:无法导入名称“img\u as\u float32”。使用Numpy:1.17.0和skimage:0.13.0版本,python3如果您在jupyter笔记本中,请不要忘记添加--y参数,如!康达卸载scikit映像--y或!conda安装-c conda forge scikit映像--y
 pip install -U scikit-image
 pip install numpy==1.15
python -m pip install --upgrade pip