我有几个目录,每个目录都有 220 张图像(已经拍摄和去噪的边界),我需要从中提取 ML 的特征。我编写了一个 python 脚本,该脚本适用于 6 个图像的目录。将每个图像转换为一个 Numpy 数组,并使用该数组生成一个 Wavelet,使用 PyWavelets。输出文件为 17.2MB,大约需要 4 分钟。对我来说似乎没问题。
但是当我运行相同的脚本(仅更改字符串参数,因此目录是大目录)时,它似乎停留在无限循环或其他东西中。我意识到 220 张图像需要更长的时间,但它运行了 2:30 小时并且还在计数。似乎不对。另外,当我尝试查看文件大小(通过上下文菜单)时,它会在 2.2MB 到 17.2MB 之间变化并变回零。
我真正的问题是:我会一直等待吗?
编码:
def csv_writer(data, path):
np.set_printoptions(threshold=np.nan)
with open(path, "w", newline='') as csv_file:
writer = csv.writer(csv_file, delimiter=',')
for line in data:
writer.writerow(line)
def extractFeats():
for image_path in os.listdir(path):
input_path = os.path.join(path, image_path)
image = io.imread(input_path)
listOfArrays.append(image)
coeffs = pywt.dwt2(image, 'haar')
listOfCoeffs.append(coeffs)
for element in listOfCoeffs:
csv_writer(element,'trainTest.csv' )
Parallel(delayed(extractFeats()))
请注意,我正在使用 joblib 进行并行处理。谢谢你的任何想法