ImportError: невозможно импортировать имя '_validate_lengths'

Я начал изучать Tensorflow. Я использую Pycharm и моя среда Ubuntu 16.04. Я следую за учебником. Я скрещиваю чек. Это актуально. Я не знаю причину этой ошибки.

из numpy.lib.arraypad import _validate_lengths

ImportError: невозможно импортировать имя '_validate_lengths'

Нужна подсказка для устранения этой ошибки. Спасибо.

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' elements
print(images.size)

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

Ответ 1

Я обновил свой пакет лыжного мага.

pip install --upgrade scikit-image

И проблема была решена. Это проблема версии Skimage, которая решена в 0.14.2. PLus, эта версия довольно стабильна.

    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

Ответ 2

scikit-image 0.14.2 работает с numpy 1.16.3. Сначала я установил numpy, а затем установил образ scikit

Ответ 3

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

Ссылка: здесь

Ответ 4

У меня была такая же ошибка, я сделал следующие шаги:

удалить scikit-изображение

pip uninstall scikit-image

или же

conda uninstall scikit-image

а потом

pip install scikit-image

или же

conda install -c conda-forge scikit-image