#python
#python
Вопрос:
Я пытаюсь создать линейный классификатор SVM (AD против NC) для классификации болезни Альцгеймера с использованием изображений МРТ. Как я могу правильно загрузить набор данных изображений?
Я нашел пример классификации изображений SVM и попытался выполнить пробную версию, но при загрузке набора данных произошла ошибка. Имя папки «изображения», в «изображениях» есть пять вложенных папок. Они называются doller_bill, sunflower, pizza, dog и ball. Каждая вложенная папка содержит 50-60 фотографий в формате jpg. Ниже приведены примеры кодов, которые я загрузил. загрузить с github
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
def load_image_files(container_path, dimension=(64, 64)):
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)
image_dataset = load_image_files("images/")
Однако, когда я просматривал коды, появилась ошибка следующего вида
Ошибка имени: имя ‘skimage’ не определено
Итак, не могли бы вы, пожалуйста, помочь мне разобраться, как загрузить набор данных изображений. Например, у меня есть папка с именем «images», вложенные папки называются «MRI images_NC», «MRI images_AD», соответственно, каждая папка содержит примерно 1500 фотографий.
Еще раз спасибо.
Комментарии:
1. Измените
img = skimage.io.imread(file)
наimg = imread(file)
2. Дорогие ребята, я уже правильно установил skimage. Итак, я предположил, что это не тот случай, когда я не устанавливал пакет.
3. Проблема не в установке пакета. Это то, как вы используете в коде. Вы импортировали
imread
, а затем пытаетесь выполнитьskimage.io.imread
. Python не знает, чтоskimage
здесь, поскольку вы этого не сделалиimport skimage
. Изменениеimg = skimage.io.imread(file)
наimg = imread(file)
исправит вашу проблему
Ответ №1:
имя ‘skimage’ не определено
означает, что во время импорта
from skimage.io import imread `enter code here`
не удается найти пакет skimage
Пожалуйста, запустите
pip установка scikit-image