NameError: имя 'skimage' не определено - PullRequest
2 голосов
/ 03 мая 2020

Я пытаюсь выяснить, как использовать SVM для классификации изображений, используя изображения из моего собственного набора данных, на который я использую блокнот по своей ссылке: https://github.com/whimian/SVM-Image-Classification. Проблема в том, что для любого другого проекта, в котором я использую Skimage, он работает нормально, но для этого я получаю ошибку, описанную выше в заголовке в следующей строке:

img = skimage.io.imread(file)

Я уже использовал команды pip uninstall scikit-image и установите и все еще не работали.

Кроме того, в нижних строках возникают следующие ошибки, я не уверен, связаны ли они с этой проблемой:

image_dataset.data, image_dataset.target, test_size=0.3,random_state=109

NameError: name 'image_dataset' is not defined


clf.fit(X_train, y_train)

NameError: name 'X_train' is not defined

И для наглядности приведен код, к которому относится ошибка:

image_dir = Path(container_path)
folders = [directory for directory in image_dir.iterdir() if directory.is_dir()]
categories = [fo.name for fo in folders]

descr = "A image classification dataset"
images = []
flat_data = []
target = []
for i, direc in enumerate(folders):
    for file in direc.iterdir():
        img = skimage.io.imread(file)
        img_resized = resize(img, dimension, anti_aliasing=True, mode='reflect')
        flat_data.append(img_resized.flatten()) 
        images.append(img_resized)
        target.append(i)
flat_data = np.array(flat_data)
target = np.array(target)
images = np.array(images)

return Bunch(data=flat_data,
             target=target,
             target_names=categories,
             images=images,
             DESCR=descr)

Что касается импорта:

from pathlib import Path
import matplotlib.pyplot as plt
import numpy as np
%matplotlib notebook
from sklearn import svm, metrics, datasets
from sklearn.utils import Bunch
from sklearn.model_selection import GridSearchCV, train_test_split

from skimage.io import imread
from skimage.transform import resize

1 Ответ

1 голос
/ 06 мая 2020
 img = skimage.io.imread(file)

изменить эту строку на

 img = imread(file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...