加载数据时进程被杀死

时间:2018-09-25 10:21:36

标签: python machine-learning

我正在研究有关皮肤癌检测的硕士论文。在提取特征之后,我正在尝试使用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

如果可以的话,看看它,看看是什么原因导致了我使用的代码,那就太好了。您遇到的与该问题无关的任何优化问题也可以随时发表评论。

1 个答案:

答案 0 :(得分:0)

听起来您可能内存不足-这是杀死进程的最常见原因。当进程被终止以获取更多信息时,您可能想要tail文件/var/log/kern.log