首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析“ValueError:使用dim 4找到的数组.估计器期望<= 2.”?

如何解析“ValueError:使用dim 4找到的数组.估计器期望<= 2.”?
EN

Stack Overflow用户
提问于 2019-07-24 16:40:56
回答 1查看 9.6K关注 0票数 2

我正在制作一个支持向量机分类器来分类图像。该程序使用Google,并将文件上传到Google中。图像的形状是torch.Size([32, 3, 224, 224])

我就是这样分割数据集的,

代码语言:javascript
复制
images = (images.numpy())
labels = (labels.numpy())
X_train, X_test, y_train, y_test = train_test_split(images, labels, test_size=0.3, random_state=42)

在对列车数据和试验数据进行分割后,X_train和X_test的新形态为(22, 3, 224, 224)(10, 3, 224, 224)。现在,当我试图解决这个问题时,就会出现问题。

代码语言:javascript
复制
# Create a classifier: a support vector classifier
classifier = svm.SVC(gamma=0.001)
#fit to the trainin data
classifier.fit(X_train,y_train)

----> 3 classifier.fit(X_train,y_train)

   537         if not allow_nd and array.ndim >= 3:
    538             raise ValueError("Found array with dim %d. %s expected <= 2."
--> 539                              % (array.ndim, estimator_name))
    540         if force_all_finite:
    541             _assert_all_finite(array,

ValueError:找到带有dim 4的数组。估计器期望<= 2。

我有4个图像类,我希望支持向量机分类器训练模型,以前我用CNN和传输学习。我读过一些帖子,在这里我可能要重塑它。你能帮我解决这个问题吗?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 18:06:18

当前,您的输入数据(batch size, channels, height, width)有4个维度,您需要将图像平平为二维(number of images, channels* height* width)

代码语言:javascript
复制
X_train = X_train.reshape(22,3*224*224)
X_test = X_test.reshape(10,3*224*224)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57187680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档