0

我想在 MRI 切片数据集上训练一个深度神经网络。这是我的代码

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import matplotlib

file_dir = 'C:\\Users\\adam\\Downloads\\MRI_Images\\'

import glob
import cv2

images = [cv2.imread(file) for file in glob.glob("C:\\Users\\adam\\Downloads\\MRI_Images\\.png")]

(X_train_full, y_train_full), (X_test, y_test) = images

而 python 表明没有足够的值来解包。我不知道为什么。当我将所有图像放在一个文件中到 python 时有问题吗?

4

1 回答 1

0

我不知道您的数据集目录的结构,但我知道 usingglob.glob()将返回'C:\\Users\\adam\\Downloads\\MRI_Images\\'文件夹内的所有图像(不包括子文件夹)。

也就是说,你得到image的是一个读入图像的列表(numpy 数组格式),比如:

[image_0, image_1, ...]

一个列表不能解压成两个元组。这就是错误出现的原因。

尝试分别阅读您的火车和测试图像可能会有所帮助:

images_trainx = [cv2.imread(file) for file in glob.glob("C:\\Users\\adam\\Downloads\\MRI_Images\\trainx\\*.png")]
images_trainy = [cv2.imread(file) for file in glob.glob("C:\\Users\\adam\\Downloads\\MRI_Images\\trainy\\*.png")]
images_testx = [cv2.imread(file) for file in glob.glob("C:\\Users\\adam\\Downloads\\MRI_Images\\testx\\*.png")]
images_testy = [cv2.imread(file) for file in glob.glob("C:\\Users\\adam\\Downloads\\MRI_Images\\testy\\*.png")]

这种方法很笨拙,但很难出错。

于 2021-11-12T03:36:36.920 回答