python - NameError:名称“skimage”未定义
问题描述
我试图弄清楚如何使用我自己的数据集中的图像使用 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
解决方案
img = skimage.io.imread(file)
将此行更改为
img = imread(file)
推荐阅读
- css - iOS 15 Safari 浮动地址栏
- java - 如何使用 Spring Boot Maven 插件减小生成的 Docker 镜像的大小
- java - 如何避免大量 if else 条件和 if else 内部的一些条件
- javascript - 验证动态列表 Vue 中更改的输入
- css - 居中对齐模态 ReactJS
- swift - 如何在从 SwiftUI 屏幕获取或导航的情节提要中添加右栏按钮项?
- python-3.x - 如何在main函数python下调用循环
- node.js - 尝试使用 docker-compose 和 nodemailer 设置本地 docker-mailserver
- angular - 给定两个字符串 s1 和 s2,从 s1 中删除所有存在于 s2 中的字符。可以在Angular中解决吗?
- python - 使用 python wave 库添加或删除样本会产生静态?