具有更大训练数据集的Python内核死于训练Tensorflow模型

时间:2019-01-09 19:34:51

标签: python tensorflow

我使用numpy memmap在文件上有一个numpy数组,我可以像这样加载此training.dat(28兆字节):

#retrieve training array from disk in read mode
training = np.memmap('training.dat', dtype=np.ndarray, mode='r', shape=(1800018, 2))

print(len(training)) # output = 1,800,018

训练数组中有180万个元素。训练数组的每个元素都是一个包含2个元素的数组,这两个元素也都是数组。第一个元素是int []长度= 1,784,458,第二个元素是string []长度= 1,800,018。

接下来,将这2个数组元素分配给Tensorflow的x,y:

#trainX contains the Bag of words and train_y contains the label/ category
train_x = training[:,0]
train_y = training[:,1]

这是内核死亡的地方:

# reset underlying graph data
tf.reset_default_graph()
# Build neural network
net = tflearn.input_data(shape=[None, len(train_x[0])])
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(train_y[0]), activation='softmax')
net = tflearn.regression(net)

# Define model and setup tensorboard
model = tflearn.DNN(net, tensorboard_dir='tflearn_logs')
# Start training (apply gradient descent algorithm)
model.fit(train_x, train_y, n_epoch=35, batch_size=8, show_metric=True)
model.save('model.tflearn')

我的Linux 64位计算机具有8GB RAM和8核Intel®Xeon®CPU E5-2680 @ 2.70GHz。

使用top监视资源,在内核死之前我并没有看到处理器或ram受到很大的影响。

我正在使用Jupyter笔记本执行我的Python代码,当附加到终端中的Jupyter exe时,没有看到任何输出错误。

不确定这里发生了什么,并希望获得一些指导。

0 个答案:

没有答案