我正在研究有关皮肤癌检测的硕士论文。在提取特征之后,我正在尝试使用SVM的方法,但是现在这并不是很重要。问题是,当我尝试加载数据时,进程被杀死。完整的数据(图像)有几千个样本(训练中为2000个样本,训练中为2000个超像素样本,再加上数千个验证数据),但超过1500个样本左右,则在加载数据时被杀死。我不确定我是否以最有效的方式来处理数据加载,很可能不是。我使用getData函数加载数据。没关系的评论。终端中的错误消息只是显示Killed,没有退出代码。
def getData(desiredData, superpixel, limit):
rootDir = '.'
Data = []
i = 0
for dirName, subdirList, fileList in os.walk(rootDir, topdown=True):
if dirName == './Data' + '/' + desiredData:
fileList.sort()
for fname in fileList:
if superpixel:
if "superpixels" in fname:
temp = misc.imread(dirName + '/' + fname)
Data.append(temp[:,:,0])
#print(temp.shape)
if limit != 0:
i += 1
if i == limit:
print('Done loading ' + desiredData)
return Data
else:
if "superpixels" not in fname:
temp = misc.imread(dirName + '/' + fname)
Data.append(temp)
#print(temp.shape)
if limit != 0:
i += 1
if i == limit:
print('Done loading ' + desiredData)
return Data
print('Done loading ' + desiredData)
return Data
如果可以的话,看看它,看看是什么原因导致了我使用的代码,那就太好了。您遇到的与该问题无关的任何优化问题也可以随时发表评论。
答案 0 :(得分:0)
听起来您可能内存不足-这是杀死进程的最常见原因。当进程被终止以获取更多信息时,您可能想要tail
文件/var/log/kern.log
。